diff --git a/.gitea/workflows/build-dev.yaml b/.gitea/workflows/build-dev.yaml index 3b6f882..8640cbf 100644 --- a/.gitea/workflows/build-dev.yaml +++ b/.gitea/workflows/build-dev.yaml @@ -32,7 +32,7 @@ jobs: push: true pull: true tags: | - gitea.woggioni.net/woggioni/rbcs:vanilla-dev + gitea.woggioni.net/woggioni/rbcs:dev-vanilla target: release-vanilla - name: Build rbcs memcache Docker image @@ -44,7 +44,7 @@ jobs: push: true pull: true tags: | - gitea.woggioni.net/woggioni/rbcs:memcache-dev + gitea.woggioni.net/woggioni/rbcs:dev-memcache target: release-memcache - name: Build rbcs redis Docker image @@ -56,7 +56,7 @@ jobs: push: true pull: true tags: | - gitea.woggioni.net/woggioni/rbcs:redis-dev + gitea.woggioni.net/woggioni/rbcs:dev-redis target: release-redis - name: Build rbcs native Docker image @@ -68,7 +68,7 @@ jobs: push: true pull: true tags: | - gitea.woggioni.net/woggioni/rbcs:native-dev + gitea.woggioni.net/woggioni/rbcs:dev-native target: release-native - name: Build rbcs jlink Docker image @@ -80,6 +80,6 @@ jobs: push: true pull: true tags: | - gitea.woggioni.net/woggioni/rbcs:jlink-dev + gitea.woggioni.net/woggioni/rbcs:dev-jlink target: release-jlink diff --git a/docker/Dockerfile b/docker/Dockerfile index 19ecebb..23b391f 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,33 +1,38 @@ FROM eclipse-temurin:25-jre-alpine AS base-release -RUN adduser -D luser -USER luser -WORKDIR /home/luser +RUN adduser -D rbcs +USER rbcs +WORKDIR /var/lib/rbcs FROM base-release AS release-vanilla ADD rbcs-cli-envelope-*.jar rbcs.jar -ENTRYPOINT ["java", "-Dlogback.configurationFile=logback.xml", "-XX:MaxRAMPercentage=70", "-XX:GCTimeRatio=24", "-XX:+UseZGC", "-XX:+ZGenerational", "-jar", "/home/luser/rbcs.jar"] +ADD logback.xml /etc/rbcs/logback.xml +ENV RBCS_CONFIGURATION_DIR="/etc/rbcs" +ENTRYPOINT ["java", "-Dlogback.configurationFile=/etc/rbcs/logback.xml", "-XX:MaxRAMPercentage=70", "-XX:GCTimeRatio=24", "-XX:+UseZGC", "-jar", "/var/lib/rbcs/rbcs.jar"] FROM base-release AS release-memcache -ADD --chown=luser:luser rbcs-cli-envelope-*.jar rbcs.jar +ADD --chown=rbcs:rbcs rbcs-cli-envelope-*.jar rbcs.jar RUN mkdir plugins -WORKDIR /home/luser/plugins +WORKDIR /var/lib/rbcs/plugins RUN --mount=type=bind,source=.,target=/build/distributions tar -xf /build/distributions/rbcs-server-memcache*.tar -WORKDIR /home/luser -ADD logback.xml . -ENTRYPOINT ["java", "-Dlogback.configurationFile=logback.xml", "-XX:MaxRAMPercentage=70", "-XX:GCTimeRatio=24", "-XX:+UseZGC", "-XX:+ZGenerational", "-jar", "/home/luser/rbcs.jar"] +WORKDIR /var/lib/rbcs +ADD logback.xml /etc/rbcs/logback.xml +ENV RBCS_CONFIGURATION_DIR="/etc/rbcs" +ENTRYPOINT ["java", "-Dlogback.configurationFile=/etc/rbcs/logback.xml", "-XX:MaxRAMPercentage=70", "-XX:GCTimeRatio=24", "-XX:+UseZGC", "-jar", "/var/lib/rbcs/rbcs.jar"] FROM base-release AS release-redis -ADD --chown=luser:luser rbcs-cli-envelope-*.jar rbcs.jar +ADD --chown=rbcs:rbcs rbcs-cli-envelope-*.jar rbcs.jar RUN mkdir plugins -WORKDIR /home/luser/plugins +WORKDIR /var/lib/rbcs/plugins RUN --mount=type=bind,source=.,target=/build/distributions tar -xf /build/distributions/rbcs-server-redis*.tar -WORKDIR /home/luser -ADD logback.xml . -ENTRYPOINT ["java", "-Dlogback.configurationFile=logback.xml", "-XX:MaxRAMPercentage=70", "-XX:GCTimeRatio=24", "-XX:+UseZGC", "-XX:+ZGenerational", "-jar", "/home/luser/rbcs.jar"] +WORKDIR /var/lib/rbcs +ADD logback.xml /etc/rbcs/logback.xml +ENV RBCS_CONFIGURATION_DIR="/etc/rbcs" +ENTRYPOINT ["java", "-Dlogback.configurationFile=/etc/rbcs/logback.xml", "-XX:MaxRAMPercentage=70", "-XX:GCTimeRatio=24", "-XX:+UseZGC", "-jar", "/var/lib/rbcs/rbcs.jar"] FROM busybox:musl AS base-native -RUN mkdir -p /var/lib/rbcs /etc/rbcs +RUN mkdir -p /var/lib/rbcs /var/tmp/rbcs /etc/rbcs RUN adduser -D -u 1000 rbcs -h /var/lib/rbcs +RUN chown rbcs:rbcs /var/tmp/rbcs FROM scratch AS release-native COPY --from=base-native /etc/passwd /etc/passwd @@ -37,16 +42,17 @@ ADD rbcs-cli.upx /usr/bin/rbcs-cli ENV RBCS_CONFIGURATION_DIR="/etc/rbcs" USER rbcs WORKDIR /var/lib/rbcs -ENTRYPOINT ["/usr/bin/rbcs-cli", "-XX:MaximumHeapSizePercent=70"] +ENTRYPOINT ["/usr/bin/rbcs-cli", "-XX:MaximumHeapSizePercent=70", "-Dio.netty.tmpdir=/var/tmp/rbcs", "-Dlogback.configurationFile=/etc/rbcs/logback.xml"] FROM debian:12-slim AS release-jlink RUN mkdir -p /usr/share/java/rbcs RUN --mount=type=bind,source=.,target=/build/distributions tar -xf /build/distributions/rbcs-cli*.tar -C /usr/share/java/rbcs RUN chmod 755 /usr/share/java/rbcs/bin/* ADD --chmod=755 rbcs-cli.sh /usr/local/bin/rbcs-cli -RUN adduser -u 1000 luser -USER luser -WORKDIR /home/luser -ADD logback.xml . -ENV JAVA_OPTS=-XX:-UseJVMCICompiler\ -Dlogback.configurationFile=logback.xml\ -XX:MaxRAMPercentage=70\ -XX:GCTimeRatio=24\ -XX:+UseZGC\ -XX:+ZGenerational +RUN adduser -u 1000 rbcs +USER rbcs +WORKDIR /var/lib/rbcs +ADD logback.xml /etc/rbcs/logback.xml +ENV RBCS_CONFIGURATION_DIR="/etc/rbcs" +ENV JAVA_OPTS=-XX:-UseJVMCICompiler\ -Dlogback.configurationFile=/etc/rbcs/logback.xml\ -XX:MaxRAMPercentage=70\ -XX:GCTimeRatio=24\ -XX:+UseZGC ENTRYPOINT ["/usr/local/bin/rbcs-cli"]