| ARG RELEASE |
| ARG LAUNCHPAD_BUILD_ARCH |
| LABEL org.opencontainers.image.ref.name=ubuntu |
| LABEL org.opencontainers.image.version=24.04 |
| ADD file:1ae27d2ef4369361104b699712f3897141e394785df5d193d67b44626f57eb87 in / |
| CMD ["/bin/bash"] |
| RUN /bin/sh -c apt-get update && apt-get -y --no-install-recommends install ca-certificates gnupg && export GNUPGHOME="$(mktemp -d)" && gpg --no-default-keyring --keyring gnupg-ring:/etc/apt/trusted.gpg.d/sapmachine.gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys CACB9FE09150307D1D22D82962754C3B3ABCFE23 && chmod 644 /etc/apt/trusted.gpg.d/sapmachine.gpg && echo "deb http://dist.sapmachine.io/debian/$(dpkg --print-architecture)/ ./" > /etc/apt/sources.list.d/sapmachine.list && apt-get update && apt-get -y --no-install-recommends install sapmachine-17-jre-headless=17.0.18 && apt-get remove -y --purge --autoremove ca-certificates gnupg && rm -rf "$GNUPGHOME" /var/lib/apt/lists/* # buildkit |
| ENV JAVA_HOME=/usr/lib/jvm/sapmachine-17 |
| CMD ["bash"] |
| RUN /bin/sh -c apt-get update -y && apt-get install -y locales && echo en_US.UTF-8 UTF-8 > /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && rm -Rf /var/lib/apt/lists/* # buildkit |
| ENV LANG=en_US.UTF-8 |
| ENV WORKDIR_PATH=/workspace |
| ENV CONFIG_PATH=/workspace/config |
| ENV DATA_PATH=/workspace/data |
| ENV CACHE_PATH=/workspace/cache |
| ADD ./src /workspace/config # buildkit |
| RUN /bin/sh -c mkdir ${DATA_PATH} # buildkit |
| RUN /bin/sh -c mkdir ${CACHE_PATH} # buildkit |
| RUN /bin/sh -c ln -sf ${DATA_PATH}/Vanilla/banned-ips.json ${CONFIG_PATH}/banned-ips.json && ln -sf ${DATA_PATH}/Vanilla/banned-players.json ${CONFIG_PATH}/banned-players.json && ln -sf ${DATA_PATH}/Vanilla/logs ${CONFIG_PATH}/logs && ln -sf ${DATA_PATH}/Vanilla/ops.json ${CONFIG_PATH}/ops.json && ln -sf ${DATA_PATH}/Vanilla/usercache.json ${CONFIG_PATH}/usercache.json && ln -sf ${DATA_PATH}/Vanilla/whitelist.json ${CONFIG_PATH}/whitelist.json && ln -sf ${DATA_PATH}/Vanilla/world ${CONFIG_PATH}/world # buildkit |
| RUN /bin/sh -c ln -sf ${DATA_PATH}/immersive_paintings/data ${CONFIG_PATH}/immersive_paintings # buildkit |
| RUN /bin/sh -c ln -sf ${DATA_PATH}/Chunky/tasks ${CONFIG_PATH}/config/chunky/tasks # buildkit |
| RUN /bin/sh -c ln -sf ${DATA_PATH}/bluemap/maps ${CONFIG_PATH}/bluemap/web/maps && ln -sf ${DATA_PATH}/bluemap/pluginState.json ${CONFIG_PATH}/bluemap/pluginState.json # buildkit |
| RUN /bin/sh -c ln -sf ${DATA_PATH}/bm-marker/marker ${CONFIG_PATH}/config/bm-marker/marker # buildkit |
| RUN /bin/sh -c ln -sf ${DATA_PATH}/luckperms/luckperms-h2-v2.mv.db ${CONFIG_PATH}/mods/luckperms/luckperms-h2-v2.mv.db # buildkit |
| RUN /bin/sh -c ln -sf ${DATA_PATH}/EasyAuth ${CONFIG_PATH}/EasyAuth # buildkit |
| VOLUME [/workspace/data] |
| RUN /bin/sh -c ln -sf ${CACHE_PATH}/libraries ${CONFIG_PATH}/libraries && ln -sf ${CACHE_PATH}/versions ${CONFIG_PATH}/versions && ln -sf ${CACHE_PATH}/.fabric ${CONFIG_PATH}/.fabric # buildkit |
| RUN /bin/sh -c ln -sf ${CACHE_PATH}/immersive_paintings/cache ${CONFIG_PATH}/immersive_paintings_cache # buildkit |
| RUN /bin/sh -c ln -sf ${CACHE_PATH}/luckperms/libs ${CONFIG_PATH}/mods/luckperms/libs # buildkit |
| RUN /bin/sh -c ln -sf ${CACHE_PATH}/skinrestorer/mojang_profile_cache.json ${CONFIG_PATH}/config/skinrestorer/mojang_profile_cache.json # buildkit |
| VOLUME [/workspace/cache] |
| EXPOSE [25565/tcp] |
| EXPOSE [25565/udp] |
| EXPOSE [8100/tcp] |
| EXPOSE [9100/tcp] |
| ENV GID=988 |
| ENV UID=999 |
| ENV MEMORY=4G |
| WORKDIR /workspace/config |
| CMD ["/bin/sh" "-c" "groupadd -g ${GID} worker && useradd -M -g ${GID} -u ${UID} worker && chmod -R o-rwx ${WORKDIR_PATH} && if [ ! -e ${DATA_PATH}/Vanilla ]; then mkdir ${DATA_PATH}/Vanilla; fi && if [ ! -e ${DATA_PATH}/Vanilla/banned-ips.json ]; then echo '[]' > ${DATA_PATH}/Vanilla/banned-ips.json; fi && if [ ! -e ${DATA_PATH}/Vanilla/banned-players.json ]; then echo '[]' > ${DATA_PATH}/Vanilla/banned-players.json; fi && if [ ! -e ${DATA_PATH}/Vanilla/logs ]; then mkdir ${DATA_PATH}/Vanilla/logs; fi && if [ ! -e ${DATA_PATH}/Vanilla/ops.json ]; then echo '[]' > ${DATA_PATH}/Vanilla/ops.json; fi && if [ ! -e ${DATA_PATH}/Vanilla/usercache.json ]; then echo '[]' > ${DATA_PATH}/Vanilla/usercache.json; fi && if [ ! -e ${DATA_PATH}/Vanilla/whitelist.json ]; then echo '[]' > ${DATA_PATH}/Vanilla/whitelist.json; fi && if [ ! -e ${DATA_PATH}/Vanilla/world ]; then mkdir ${DATA_PATH}/Vanilla/world; fi && if [ ! -e ${DATA_PATH}/Vanilla/world/datapacks ]; then mkdir ${DATA_PATH}/Vanilla/world/datapacks; fi && if [ ! -e ${DATA_PATH}/immersive_paintings/data ]; then mkdir -p ${DATA_PATH}/immersive_paintings/data; fi && if [ ! -e ${DATA_PATH}/Chunky/tasks ]; then mkdir -p ${DATA_PATH}/Chunky/tasks; fi && if [ ! -e ${DATA_PATH}/bluemap/maps ]; then mkdir -p ${DATA_PATH}/bluemap/maps; fi && if [ ! -e ${DATA_PATH}/bluemap/pluginState.json ]; then touch ${DATA_PATH}/bluemap/pluginState.json; fi && if [ ! -e ${DATA_PATH}/bm-marker/marker ]; then mkdir -p ${DATA_PATH}/bm-marker/marker; fi && if [ ! -e ${DATA_PATH}/luckperms ]; then mkdir -p ${DATA_PATH}/luckperms; fi && if [ ! -e ${DATA_PATH}/luckperms/luckperms-h2-v2.mv.db ]; then touch ${DATA_PATH}/luckperms/luckperms-h2-v2.mv.db; fi && if [ ! -e ${DATA_PATH}/EasyAuth ]; then mkdir -p ${DATA_PATH}/EasyAuth; fi && if [ ! -e ${CACHE_PATH}/libraries ]; then mkdir -p ${CACHE_PATH}/libraries; fi && if [ ! -e ${CACHE_PATH}/versions ]; then mkdir -p ${CACHE_PATH}/versions; fi && if [ ! -e ${CACHE_PATH}/.fabric ]; then mkdir -p ${CACHE_PATH}/.fabric; fi && if [ ! -e ${CACHE_PATH}/immersive_paintings/cache ]; then mkdir -p ${CACHE_PATH}/immersive_paintings/cache; fi && if [ ! -e ${CACHE_PATH}/luckperms/libs ]; then mkdir -p ${CACHE_PATH}/luckperms/libs; fi && if [ ! -e ${CACHE_PATH}/skinrestorer ]; then mkdir -p ${CACHE_PATH}/skinrestorer; fi && for datapack_path in ${CONFIG_PATH}/datapacks/*; do ln -sf $datapack_path ${DATA_PATH}/Vanilla/world/datapacks/; done && chown -R worker:worker ${WORKDIR_PATH} && su worker -c \"java -Xms${MEMORY} -Xmx${MEMORY} -XX:+AlwaysPreTouch -XX:+UseStringDeduplication -jar fabric-server-mc.1.20.1-loader.0.18.0-launcher.1.1.0.jar --nogui\""] |