# Dockercraft A Docker image for running Minecraft servers with support for multiple loaders. ## Usage ```yaml services: minecraft: image: git.jeremymcclure.com/jeremy/dockercraft:latest container_name: minecraft stdin_open: true tty: true environment: - EULA=true - MC_VERSION=1.21.1 - MC_LOADER=neoforge - MC_LOADER_VERSION=21.1.185 - JAVA_VERSION=temurin@21 - XMS=2G - XMX=4G - PUID=1000 - PGID=1000 volumes: - ./data:/data ports: - 25565:25565 restart: unless-stopped ``` ## Environment Variables | Variable | Default | Description | |---|---|---| | `EULA` | — | **Required.** Set to `true` to accept the Minecraft EULA | | `MC_VERSION` | — | Minecraft version (e.g., `1.21.1`) | | `MC_LOADER` | — | Server loader: `vanilla`, `paper`, `fabric`, `forge`, or `neoforge` | | `MC_LOADER_VERSION` | — | Fallback version for any loader | | `FABRIC_LOADER_VERSION` | `$MC_LOADER_VERSION` | Fabric loader version | | `FORGE_VERSION` | `$MC_LOADER_VERSION` | Forge version (e.g., `52.1.14`) | | `NEOFORGE_VERSION` | `$MC_LOADER_VERSION` | NeoForge version (e.g., `21.1.185`) | | `PAPER_BUILD` | latest | Paper build number (auto-detects latest if unset) | | `JAVA_VERSION` | auto-detected | Java version (via Jabba, e.g., `temurin@21`, `zulu@17`). Auto-detects from Mojang manifest if unset: 1.20.5+→21, 1.17-1.20.4→17, 1.17→16, pre-1.17→8 | | `JAR` | `server.jar` | Server jar filename | | `XMS` | `2G` | Initial Java heap size | | `XMX` | `4G` | Maximum Java heap size | | `ADD_ARGS` | — | Additional Java arguments | | `PUID` | `1000` | User ID for /data ownership | | `PGID` | `1000` | Group ID for /data ownership | ## Supported Loaders - **Vanilla** — Official Mojang server - **Paper** — High-performance papermc.io - **Fabric** — Lightweight mod loader via fabricmc.net - **Forge** — Heavyweight mod loader via minecraftforge.net - **NeoForge** — Fork of Forge via neoforged.net - **Bedrock** — Official Bedrock dedicated server (native binary, no Java required) ## Volumes - `/data` — Persists server data, worlds, config, and Java installations