From f593bad484943f3d0830af52aa17bf05fd7fc181 Mon Sep 17 00:00:00 2001 From: Chewing_Bever Date: Tue, 13 Jun 2023 13:55:36 +0200 Subject: [PATCH] paper: use alex; update version --- stacks/paper.yml | 12 ++++++++---- stacks/paper/Dockerfile | 36 ++++++++++++++++-------------------- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/stacks/paper.yml b/stacks/paper.yml index 44f6ac8..fe1f848 100644 --- a/stacks/paper.yml +++ b/stacks/paper.yml @@ -2,12 +2,12 @@ version: '3.4' services: app: - image: 'git.rustybever.be/chewing_bever/mc-paper:1.19.4-525' + image: 'git.rustybever.be/chewing_bever/mc-paper:1.19.4-550' build: context: paper args: - 'MC_VERSION=1.19.4' - - 'PAPERMC_VERSION=525' + - 'PAPERMC_VERSION=550' # These are necessary to make the console work stdin_open: true @@ -24,14 +24,18 @@ services: cpus: '4.0' environment: - - 'XMS=4' - - 'XMX=8' + - 'ALEX_XMS=4096' + - 'ALEX_XMX=8192' + - 'ALEX_MAX_BACKUPS=28' + - 'ALEX_FREQUENCY=360' ports: - '25565:25565' volumes: - 'config:/app/config' - 'worlds:/app/worlds' + - 'backups:/app/backups' volumes: config: worlds: + backups: diff --git a/stacks/paper/Dockerfile b/stacks/paper/Dockerfile index 6c6af46..d95c6b2 100644 --- a/stacks/paper/Dockerfile +++ b/stacks/paper/Dockerfile @@ -17,24 +17,22 @@ RUN apk add --update --no-cache build-base unzip curl && \ # We use ${:-} instead of a default value because the argument is always passed # to the build, it'll just be blank most likely -FROM ${BASE_IMAGE:-'openjdk:18-slim'} +FROM ${BASE_IMAGE:-'eclipse-temurin:18-jre-alpine'} # Build arguments ARG MC_VERSION ARG PAPERMC_VERSION -# Install mcstatus for healthchecks -RUN apt update && \ - apt install --no-install-recommends -y python3-minimal python3-setuptools python3-pip && \ - python3 -m pip install mcstatus && \ - apt --purge remove -y python3-pip python3-setuptools && \ - apt clean && \ - groupadd -g 1000 paper && \ - useradd -rMg paper -u 1000 paper +# Install alex binary +ADD "https://git.rustybever.be/api/packages/Chewing_Bever/generic/alex/0.2.2/alex-linux-amd64" /bin/alex + +RUN chmod +x /bin/alex && \ + addgroup -Sg 1000 paper && \ + adduser -SHG paper -u 1000 paper # Create worlds and config directory WORKDIR /app -RUN mkdir -p worlds config/cache +RUN mkdir -p worlds config/cache backups # Download server file ADD "https://papermc.io/api/v2/projects/paper/versions/$MC_VERSION/builds/$PAPERMC_VERSION/downloads/paper-$MC_VERSION-$PAPERMC_VERSION.jar" server.jar @@ -45,10 +43,11 @@ RUN chown -R paper:paper /app # Store the cache in an anonymous volume, which means it won't get stored in the other volumes VOLUME /app/config/cache -# Default value to keep users from eating up all ram accidentally -ENV XMX=4 -ENV MC_VERSION="${MC_VERSION}" -ENV PAPERMC_VERSION="${PAPERMC_VERSION}" +ENV ALEX_JAR=/app/server.jar \ + ALEX_CONFIG_DIR=/app/config \ + ALEX_WORLD_DIR=/app/worlds \ + ALEX_BACKUP_DIR=/app/backups \ + ALEX_SERVER_VERSION="${MC_VERSION}-${PAPERMC_VERSION}" # Document exposed ports EXPOSE 25565 @@ -56,13 +55,10 @@ EXPOSE 25565 # Switch to non-root user USER paper:paper -# Entrypoint runs in /app/config COPY --from=dumb-init-builder /app/dumb-init /dumb-init -COPY entrypoint.sh /entrypoint.sh -WORKDIR /app/config ENTRYPOINT ["/dumb-init", "--"] -CMD /entrypoint.sh +CMD /bin/alex paper -HEALTHCHECK --interval=30s --timeout=5s --start-period=1m --retries=5 \ - CMD mcstatus localhost:25565 ping +# HEALTHCHECK --interval=30s --timeout=5s --start-period=1m --retries=5 \ +# CMD mcstatus localhost:25565 ping