FROM busybox:latest AS build ARG VERSION RUN wget https://github.com/wildfly/wildfly/releases/download/${VERSION}.Final/wildfly-${VERSION}.Final.tar.gz RUN echo " -> Removing unneeded .bat and .ps1 files..." &&\ rm -f "wildfly-${VERSION}.Final/bin/"*.{bat,ps1} &&\ echo " -> Unpacking the package files..." &&\ install -d -m 755 "/opt/" &&\ tar -xf wildfly-${VERSION}.Final.tar.gz &&\ cp -R "wildfly-${VERSION}.Final" "/opt/wildfly" &&\ rm /opt/wildfly/bin/standalone.conf &&\ cd "wildfly-${VERSION}.Final/docs/contrib/scripts/systemd" &&\ echo " -> Creating wildfly.conf (environment settings)..." &&\ install -D -t "/opt/wildfly/etc/wildfly" -m 644 wildfly.conf &&\ echo " -> Copying launch.sh to the bin directory..." &&\ install -D -t "/opt/wildfly/bin" -m 755 launch.sh &&\ chmod -R u=rwX,g=rwX,o=rX "/opt/wildfly" FROM archlinux:latest AS release RUN pacman-key --init RUN pacman-key --refresh-keys RUN curl --retry 3 -OJ https://gitea.woggioni.net/api/packages/woggioni/arch/repository.key RUN pacman-key --add repository.key RUN pacman-key --lsign-key 0D28BF66FDB45D18D8EBEE5D4C91DADCD00B3F77 RUN --mount=type=bind,source=pacman-gitea-repository.conf,target=pacman-gitea-repository.conf cat pacman-gitea-repository.conf >> /etc/pacman.conf RUN --mount=type=cache,target=/var/cache/pacman pacman -Syu --noconfirm RUN --mount=type=cache,target=/var/cache/pacman pacman -S --noconfirm jre21-openjdk RUN useradd wildfly -u 1000 --system -s /bin/sh -d /opt/wildfly COPY --from=build /opt/wildfly /opt/wildfly RUN install -d -m 755 -o wildfly /opt/wildfly/standalone/log RUN install -d -m 755 -o wildfly /opt/wildfly/standalone/data RUN install -d -m 755 -o wildfly /opt/wildfly/standalone/tmp RUN install -d -m 755 -o wildfly /opt/wildfly/standalone/deployments RUN chown -R wildfly /opt/wildfly/standalone/configuration VOLUME ["/opt/wildfly/standalone/tmp", "/opt/wildfly/standalone/data", "/opt/wildfly/standalone/log"] USER wildfly WORKDIR /opt/wildfly ENV LAUNCH_JBOSS_IN_BACKGROUND=true EXPOSE 8080/tcp EXPOSE 9990/tcp ENTRYPOINT ["/opt/wildfly/bin/standalone.sh", "-c", "standalone.xml", "-b", "0.0.0.0"]