A simple docker image to start and maintain updated a Minecraft AllTheMods server
813
Github Repository: https://github.com/claudiomerli/atm
This project builds a Docker image containing the All the Mods 10 server files and runs a Minecraft server based on NeoForge.
The Dockerfile:
eclipse-temurin:21-jre-jammyServerFiles-6.1.zip during the builder stage/serverstartserver.sh executable25565At startup, the container runs /server/startserver.sh, which:
libraries directory does not exist yetserver.properties with default values if the file does not existnogui modedocker build -t claudiomerli/atm:latest .
You can also override the downloaded archive name and URL at build time:
docker build \
-t claudiomerli/atm:latest \
--build-arg MODPACK_ZIP=ServerFiles-6.1.zip \
--build-arg MODPACK_URL=https://mediafilez.forgecdn.net/files/7722/634/ServerFiles-6.1.zip \
.
You can expose the standard Minecraft port 25565 with -p 25565:25565.
To keep data persistent, you should mount at least these paths:
/server/world/server/local/server/journeymap/server/eula.txtExample:
mkdir -p data/world data/local data/journeymap
printf 'eula=true\n' > data/eula.txt
docker run -d \
--name atm10-server \
-p 25565:25565 \
-v "$(pwd)/data/world:/server/world" \
-v "$(pwd)/data/local:/server/local" \
-v "$(pwd)/data/journeymap:/server/journeymap" \
-v "$(pwd)/data/eula.txt:/server/eula.txt" \
claudiomerli/atm:latest
Example docker-compose.yml:
services:
atm10-server:
image: claudiomerli/atm:latest
container_name: atm10-server
ports:
- "25565:25565"
volumes:
- ./data/world:/server/world
- ./data/local:/server/local
- ./data/journeymap:/server/journeymap
- ./data/eula.txt:/server/eula.txt
Before starting the stack:
mkdir -p data/world data/local data/journeymap
printf 'eula=true\n' > data/eula.txt
docker compose up -d
server.properties, the container will generate it automatically on first startup.server.properties, add a bind mount for /server/server.properties and make sure the host file exists first.eula.txt is expected from the host in the examples above; it must contain eula=true or Minecraft will refuse to start./server, so they will be lost if the container is recreated without mounts.The startup script supports these variables:
ATM10_JAVA: path to the Java binary to useATM10_RESTART=false: disables automatic restartATM10_INSTALL_ONLY=true: installs NeoForge and exits without starting the serverContent type
Image
Digest
sha256:306760779…
Size
1.2 GB
Last updated
about 1 month ago
docker pull claudiomerli/atm