diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..1d76db5 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,17 @@ +*/cache +*/libraries +*/logs +*/versions +*/plugins/.paper-remapped + +*/world +*/world_nether +*/world_the_end + +*/.console_history + +*/banned-ips.json +*/banned-players.json +*/ops.json +*/whitelist.json +*/usercache.json diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..89f35eb --- /dev/null +++ b/Dockerfile @@ -0,0 +1,40 @@ +FROM sapmachine:21-jre-headless-ubuntu + + +ENV WORKDIR_PATH=/workspace +ENV CONFIG_PATH=${WORKDIR_PATH}/config +ENV DATA_PATH=${WORKDIR_PATH}/data + +ADD ./src ${CONFIG_PATH} +RUN mkdir ${DATA_PATH} + + +RUN touch ${DATA_PATH}/banned-ips.json && \ + ln -sf ${DATA_PATH}/banned-ips.json ${CONFIG_PATH} +RUN touch ${DATA_PATH}/banned-players.json && \ + ln -sf ${DATA_PATH}/banned-players.json ${CONFIG_PATH} +RUN mkdir ${DATA_PATH}/logs && \ + ln -sf ${DATA_PATH}/logs ${CONFIG_PATH} +RUN touch ${DATA_PATH}/ops.json && \ + ln -sf ${DATA_PATH}/ops.json ${CONFIG_PATH} +RUN touch ${DATA_PATH}/usercache.json && \ + ln -sf ${DATA_PATH}/usercache.json ${CONFIG_PATH} +RUN touch ${DATA_PATH}/whitelist.json && \ + ln -sf ${DATA_PATH}/whitelist.json ${CONFIG_PATH} +RUN mkdir ${DATA_PATH}/world && \ + ln -sf ${DATA_PATH}/world ${CONFIG_PATH} +RUN mkdir ${DATA_PATH}/world_nether && \ + ln -sf ${DATA_PATH}/world_nether ${CONFIG_PATH} +RUN mkdir ${DATA_PATH}/world_the_end && \ + ln -sf ${DATA_PATH}/world_the_end ${CONFIG_PATH} + +VOLUME ${DATA_PATH} + + +ENV MEMORY=4G + +WORKDIR ${WORKDIR_PATH}/config + +EXPOSE 25565/tcp + +CMD java -Xms${MEMORY} -Xmx${MEMORY} -jar *.jar -nogui