Skip to content

Instantly share code, notes, and snippets.

@Ricket
Created February 6, 2024 20:04
Show Gist options
  • Save Ricket/5d88991e1b5a70513eb4952d81064efb to your computer and use it in GitHub Desktop.
Save Ricket/5d88991e1b5a70513eb4952d81064efb to your computer and use it in GitHub Desktop.
E2EE folder structure and docker setup
additions/
-> config/
-> Discord-Integration.toml
-> ftbbackups.cfg
-> mods/
-> bedtimeban
-> dcintegration
-> tellme
crash-reports/
heapdumps/
logs/
pack/
-> (extract the server .zip into here)
TombManyGraves/ - I hate that they don't store this data inside the world folder
vol/
-> server.properties, ops.json, whitelist.json, etc. - the vanilla mc files
-> DiscordIntegration-Data/
world/
docker-compose.yml
eula.txt
graalvm.Dockerfile
graalvm-ee-java8-linux-amd64-21.3.7.tar.gz
start-docker-server.sh
version: "3.7"
services:
e2eextended:
build:
context: .
dockerfile: graalvm.Dockerfile
init: true
stdin_open: true
tty: true
user: "minecraft:minecraft"
volumes:
- ./vol/banned-ips.json:/e2ee/banned-ips.json
- ./vol/banned-players.json:/e2ee/banned-players.json
- ./vol/ops.json:/e2ee/ops.json
- ./vol/server.properties:/e2ee/server.properties
- ./vol/usercache.json:/e2ee/usercache.json
- ./vol/whitelist.json:/e2ee/whitelist.json
- ./vol/DiscordIntegration-Data:/e2ee/DiscordIntegration-Data
- ./world:/e2ee/BBOP-Extended
- ./crash-reports:/e2ee/crash-reports
- ./heapdumps:/e2ee/heapdumps
- ./logs:/e2ee/logs
- ./TombManyGraves:/e2ee/TombManyGraves
- /srv/minecraft/backups/E2EExtended/backups:/e2ee/backups
- /srv/minecraft/backups/E2EExtended/local/ftbutilities:/e2ee/local/ftbutilities
ports:
- "21470:25565"
FROM ubuntu:22.04
RUN apt-get update && apt-get install -y \
libstdc++6 \
less \
vim \
wget \
curl \
unzip \
&& rm -rf /var/lib/apt/lists/*
COPY graalvm-ee-java8-linux-amd64-21.3.7.tar.gz /graalvm.tar.gz
RUN tar xvzf graalvm.tar.gz \
&& rm graalvm.tar.gz
ENV JAVA_HOME="/graalvm-ee-java8-21.3.7"
ENV PATH="${PATH}:${JAVA_HOME}/bin"
WORKDIR /e2ee
COPY pack/ /e2ee
RUN chmod +x /e2ee/start-server.sh
COPY eula.txt /e2ee/eula.txt
COPY start-docker-server.sh /e2ee/start-docker-server.sh
RUN ["/e2ee/start-server.sh", "install"]
COPY additions/mods/ /e2ee/mods/
COPY additions/config/ /e2ee/config/
RUN mkdir /e2ee/local
# In-place config tweaks
RUN sed -i 's/S:enable_explosions=TRUE/S:enable_explosions=DEFAULT/' /e2ee/config/ftbutilities.cfg &&\
sed -i 's/I:"Auto Save Interval"=12000/I:"Auto Save Interval"=900/' '/e2ee/config/Universal Tweaks - Tweaks.cfg' &&\
sed -i 's/B:scrubberRequiresCartrige=true/B:scrubberRequiresCartrige=false/' /e2ee/config/advRocketry/advancedRocketry.cfg
RUN groupadd -g 1001 minecraft && useradd -g 1001 -u 1001 -M -d /e2ee minecraft
RUN chown -R minecraft:minecraft /e2ee
USER minecraft:minecraft
CMD ["/e2ee/start-docker-server.sh"]
@Ricket
Copy link
Author

Ricket commented Feb 6, 2024

start-docker-server.sh is maybe unnecessary? don't remember why I originally made it. it's just:

#!/bin/bash
cd /e2ee
. ./start-server.sh

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment