The itzg/minecraft-server image (community-made, not official from Mojang) downloads and runs a Minecraft Java server from environment variables. This tool builds the docker-compose.yml: EULA acceptance, type and version, memory, game rules, access and RCON, with data persisted in ./data.
How to use the tool
Install Docker and the Compose plugin on your server.
Choose the type (PAPER, FABRIC…), the version (LATEST or 1.21.x) and the memory.
Fill in game rules, OPS/WHITELIST and, if needed, RCON with a strong password.
Save docker-compose.yml, then run “docker compose up -d”; follow startup with “docker compose logs -f”.
Things to watch
EULA: “TRUE” means you accept the Minecraft EULA. MEMORY sets the Java heap -Xms and -Xmx; allow about 25% extra container memory for non-heap use. USE_AIKAR_FLAGS enables the G1GC flags (adjusted automatically from 12G). OPS and WHITELIST accept comma-separated names or UUIDs. The left (host) port can be changed; the right one stays 25565 inside the container. This image is community-maintained: see its documentation for advanced variables.
docker compose up -d
docker compose logs -f
docker compose exec mc rcon-cliFrequently asked questions
- How do I update the server?
- Change VERSION then re-run “docker compose up -d”, or run “docker compose pull && docker compose up -d” for a new image. Back up ./data before any version upgrade.
- Where are my worlds?
- In the volume mounted on /data, i.e. ./data on the host (world/, server.properties, plugins/…). Don't delete that folder when recreating the container.

