182 lines
7.4 KiB
Docker
182 lines
7.4 KiB
Docker
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}
|
|
|
|
|
|
# Add symlinks to Minecraft default files
|
|
RUN touch ${DATA_PATH}/banned-ips.json && \
|
|
ln -sf ${DATA_PATH}/banned-ips.json ${CONFIG_PATH} && \
|
|
touch ${DATA_PATH}/banned-players.json && \
|
|
ln -sf ${DATA_PATH}/banned-players.json ${CONFIG_PATH} && \
|
|
mkdir ${DATA_PATH}/logs && \
|
|
ln -sf ${DATA_PATH}/logs ${CONFIG_PATH} && \
|
|
touch ${DATA_PATH}/ops.json && \
|
|
ln -sf ${DATA_PATH}/ops.json ${CONFIG_PATH} && \
|
|
touch ${DATA_PATH}/usercache.json && \
|
|
ln -sf ${DATA_PATH}/usercache.json ${CONFIG_PATH} && \
|
|
touch ${DATA_PATH}/whitelist.json && \
|
|
ln -sf ${DATA_PATH}/whitelist.json ${CONFIG_PATH} && \
|
|
mkdir ${DATA_PATH}/world && \
|
|
ln -sf ${DATA_PATH}/world ${CONFIG_PATH} && \
|
|
mkdir ${DATA_PATH}/world_nether && \
|
|
ln -sf ${DATA_PATH}/world_nether ${CONFIG_PATH} && \
|
|
mkdir ${DATA_PATH}/world_the_end && \
|
|
ln -sf ${DATA_PATH}/world_the_end ${CONFIG_PATH}
|
|
|
|
# Add symlinks to PlasmoVoice files
|
|
RUN touch ${DATA_PATH}/pv-voice_mutes.json && \
|
|
ln -sf ${DATA_PATH}/pv-voice_mutes.json \
|
|
${CONFIG_PATH}/plugins/PlasmoVoice/voice_mutes.json
|
|
|
|
# Add symlinks to SuperVanish files
|
|
RUN mkdir -p ${DATA_PATH}/SuperVanish && \
|
|
touch ${DATA_PATH}/SuperVanish/data.yml && \
|
|
ln -sf ${DATA_PATH}/SuperVanish/data.yml \
|
|
${CONFIG_PATH}/plugins/SuperVanish/data.yml
|
|
|
|
# Add symlinks to CarbonChat files
|
|
RUN mkdir -p ${DATA_PATH}/CarbonChat/users && \
|
|
ln -sf ${DATA_PATH}/CarbonChat/users \
|
|
${CONFIG_PATH}/plugins/CarbonChat/users
|
|
|
|
# Add symlinks to ImageFrame files
|
|
RUN mkdir -p ${DATA_PATH}/ImageFrame/data && \
|
|
ln -sf ${DATA_PATH}/ImageFrame/data/ \
|
|
${CONFIG_PATH}/plugins/ImageFrame/data && \
|
|
mkdir -p ${DATA_PATH}/ImageFrame/players && \
|
|
ln -sf ${DATA_PATH}/ImageFrame/players/ \
|
|
${CONFIG_PATH}/plugins/ImageFrame/players && \
|
|
mkdir -p ${DATA_PATH}/ImageFrame/upload && \
|
|
ln -sf ${DATA_PATH}/ImageFrame/upload/ \
|
|
${CONFIG_PATH}/plugins/ImageFrame/upload
|
|
|
|
# Add symlinks to CusttomPlayerModels files
|
|
RUN mkdir -p ${DATA_PATH}/CustomizablePlayerModels && \
|
|
ln -sf ${DATA_PATH}/CustomizablePlayerModels/ \
|
|
${CONFIG_PATH}/plugins/CustomizablePlayerModels
|
|
|
|
# Add symlinks to DiscordSRV files
|
|
RUN mkdir -p ${DATA_PATH}/DiscordSRV && \
|
|
touch ${DATA_PATH}/DiscordSRV/accounts.aof && \
|
|
ln -sf ${DATA_PATH}/DiscordSRV/accounts.aof \
|
|
${CONFIG_PATH}/plugins/DiscordSRV/accounts.aof
|
|
|
|
# Add symlinks to BlueMap files
|
|
RUN mkdir -p ${DATA_PATH}/BlueMap/maps && \
|
|
mkdir -p ${DATA_PATH}/BlueMap/logs && \
|
|
ln -sf ${DATA_PATH}/BlueMap/maps \
|
|
${CONFIG_PATH}/plugins/BlueMap/data/web/maps && \
|
|
ln -sf ${DATA_PATH}/BlueMap/logs \
|
|
${CONFIG_PATH}/plugins/BlueMap/data/logs
|
|
RUN mkdir -p ${DATA_PATH}/BMMarker/data && \
|
|
ln -sf ${DATA_PATH}/BMMarker/data \
|
|
${CONFIG_PATH}/plugins/BMMarker/data
|
|
|
|
# Add symlinks to Chunky files
|
|
RUN mkdir -p ${DATA_PATH}/Chunky/tasks && \
|
|
ln -sf ${DATA_PATH}/Chunky/tasks \
|
|
${CONFIG_PATH}/plugins/Chunky/tasks
|
|
|
|
|
|
VOLUME ${DATA_PATH}
|
|
|
|
|
|
ENV MEMORY=4G
|
|
ENV PROXY_SECRET=00000000-0000-0000-0000-000000000000
|
|
|
|
ENV VOICE_SECRET=00000000-0000-0000-0000-000000000000
|
|
|
|
ENV LUCKPERMS_DB_HOST=127.0.0.1
|
|
ENV LUCKPERMS_DB_PORT=3306
|
|
ENV LUCKPERMS_DB_NAME=luckperms_db
|
|
ENV LUCKPERMS_DB_USERNAME=luckperms
|
|
ENV LUCKPERMS_DB_PASSWORD=0000
|
|
|
|
ENV SKINSRESTORER_DB_HOST=127.0.0.1
|
|
ENV SKINSRESTORER_DB_PORT=3306
|
|
ENV SKINSRESTORER_DB_NAME=skinsrestorer_db
|
|
ENV SKINSRESTORER_DB_USERNAME=skinsrestorer
|
|
ENV SKINSRESTORER_DB_PASSWORD=0000
|
|
|
|
ENV COREPROTECT_DB_HOST=127.0.0.1
|
|
ENV COREPROTECT_DB_PORT=3306
|
|
ENV COREPROTECT_DB_NAME=coreprotect_db
|
|
ENV COREPROTECT_DB_USERNAME=coreprotect
|
|
ENV COREPROTECT_DB_PASSWORD=0000
|
|
|
|
ENV LIBERTYBANS_DB_HOST=127.0.0.1
|
|
ENV LIBERTYBANS_DB_PORT=3306
|
|
ENV LIBERTYBANS_DB_NAME=libertybans_db
|
|
ENV LIBERTYBANS_DB_USERNAME=libertybans
|
|
ENV LIBERTYBANS_DB_PASSWORD=0000
|
|
|
|
ENV GRIM_DB_HOST=127.0.0.1
|
|
ENV GRIM_DB_PORT=3306
|
|
ENV GRIM_DB_NAME=luckperms
|
|
ENV GRIM_DB_USERNAME=luckperms
|
|
ENV GRIM_DB_PASSWORD=0000
|
|
|
|
ENV DISCORDSRV_BOT_TOKEN=dummy-token
|
|
|
|
|
|
WORKDIR ${WORKDIR_PATH}/config
|
|
|
|
# Minecraft
|
|
EXPOSE 25565/tcp
|
|
# BlueMap
|
|
EXPOSE 8100/tcp
|
|
|
|
CMD \
|
|
# Add proxy secret
|
|
sed -i "s/_PROXY_SECRET_/${PROXY_SECRET}/g" config/paper-global.yml && \
|
|
|
|
# Add Plasmo Voice secret
|
|
cat plugins/PlasmoVoice/forwarding-secret | sed "s/00000000-0000-0000-0000-000000000000/${VOICE_SECRET}/g" | tr -d '\n' > plugins/PlasmoVoice/forwarding-secret.tmp && mv -T -f plugins/PlasmoVoice/forwarding-secret.tmp plugins/PlasmoVoice/forwarding-secret && \
|
|
|
|
# Add luckperms database secrets
|
|
sed -i "s/_LUCKPERMS_DB_HOST_/${LUCKPERMS_DB_HOST}/g" plugins/LuckPerms/config.yml && \
|
|
sed -i "s/_LUCKPERMS_DB_PORT_/${LUCKPERMS_DB_PORT}/g" plugins/LuckPerms/config.yml && \
|
|
sed -i "s/_LUCKPERMS_DB_NAME_/${LUCKPERMS_DB_NAME}/g" plugins/LuckPerms/config.yml && \
|
|
sed -i "s/_LUCKPERMS_DB_USERNAME_/${LUCKPERMS_DB_USERNAME}/g" plugins/LuckPerms/config.yml && \
|
|
sed -i "s/_LUCKPERMS_DB_PASSWORD_/${LUCKPERMS_DB_PASSWORD}/g" plugins/LuckPerms/config.yml && \
|
|
|
|
# Add database info to skinsrestorer config
|
|
sed -i "s/_SKINSRESTORER_DB_HOST_/${SKINSRESTORER_DB_HOST}/g" plugins/SkinsRestorer/config.yml && \
|
|
sed -i "s/_SKINSRESTORER_DB_PORT_/${SKINSRESTORER_DB_PORT}/g" plugins/SkinsRestorer/config.yml && \
|
|
sed -i "s/_SKINSRESTORER_DB_NAME_/${SKINSRESTORER_DB_NAME}/g" plugins/SkinsRestorer/config.yml && \
|
|
sed -i "s/_SKINSRESTORER_DB_USERNAME_/${SKINSRESTORER_DB_USERNAME}/g" plugins/SkinsRestorer/config.yml && \
|
|
sed -i "s/_SKINSRESTORER_DB_PASSWORD_/${SKINSRESTORER_DB_PASSWORD}/g" plugins/SkinsRestorer/config.yml && \
|
|
|
|
# Add coreprotect database secrets
|
|
sed -i "s/_COREPROTECT_DB_HOST_/${COREPROTECT_DB_HOST}/g" plugins/CoreProtect/config.yml && \
|
|
sed -i "s/_COREPROTECT_DB_PORT_/${COREPROTECT_DB_PORT}/g" plugins/CoreProtect/config.yml && \
|
|
sed -i "s/_COREPROTECT_DB_NAME_/${COREPROTECT_DB_NAME}/g" plugins/CoreProtect/config.yml && \
|
|
sed -i "s/_COREPROTECT_DB_USERNAME_/${COREPROTECT_DB_USERNAME}/g" plugins/CoreProtect/config.yml && \
|
|
sed -i "s/_COREPROTECT_DB_PASSWORD_/${COREPROTECT_DB_PASSWORD}/g" plugins/CoreProtect/config.yml && \
|
|
|
|
# Add grim database secrets
|
|
sed -i "s/_GRIM_DB_HOST_/${GRIM_DB_HOST}/g" plugins/GrimAC/config.yml && \
|
|
sed -i "s/_GRIM_DB_PORT_/${GRIM_DB_PORT}/g" plugins/GrimAC/config.yml && \
|
|
sed -i "s/_GRIM_DB_NAME_/${GRIM_DB_NAME}/g" plugins/GrimAC/config.yml && \
|
|
sed -i "s/_GRIM_DB_USERNAME_/${GRIM_DB_USERNAME}/g" plugins/GrimAC/config.yml && \
|
|
sed -i "s/_GRIM_DB_PASSWORD_/${GRIM_DB_PASSWORD}/g" plugins/GrimAC/config.yml && \
|
|
|
|
# Add libertybans database secrets
|
|
sed -i "s/_LIBERTYBANS_DB_HOST_/${LIBERTYBANS_DB_HOST}/g" plugins/LibertyBans/sql.yml && \
|
|
sed -i "s/_LIBERTYBANS_DB_PORT_/${LIBERTYBANS_DB_PORT}/g" plugins/LibertyBans/sql.yml && \
|
|
sed -i "s/_LIBERTYBANS_DB_NAME_/${LIBERTYBANS_DB_NAME}/g" plugins/LibertyBans/sql.yml && \
|
|
sed -i "s/_LIBERTYBANS_DB_USERNAME_/${LIBERTYBANS_DB_USERNAME}/g" plugins/LibertyBans/sql.yml && \
|
|
sed -i "s/_LIBERTYBANS_DB_PASSWORD_/${LIBERTYBANS_DB_PASSWORD}/g" plugins/LibertyBans/sql.yml && \
|
|
|
|
# Add DiscordSRV bot token
|
|
sed -i "s/_DISCORDSRV_BOT_TOKEN_/${DISCORDSRV_BOT_TOKEN}/g" plugins/DiscordSRV/config.yml && \
|
|
|
|
# Launch
|
|
java -Xms${MEMORY} -Xmx${MEMORY} -jar *.jar -nogui
|