Create Astral - Docker instructions
This image is built on itzg/minecraft-server using its
AUTO_CURSEFORGE modpack support. On startup, the entrypoint fetches the latest release zip from the
official Laskyyy/Create-Astral GitHub repo (a CurseForge-format
modpack export), and itzg's installer parses the manifest, installs the correct Fabric/Forge loader, and
downloads all mods and overrides.
Build the image:
docker build -t create-astral:latest .
Run it (accepting the Minecraft EULA is required):
docker run -e EULA=true -p 25565:25565 -v $(pwd)/data:/data create-astral:latest
Environment variables:
EULA(required) - set totrueto accept the Minecraft EULA.MEMORY- JVM heap size, defaults to4G. Modpacks are memory hungry; raise this if the server struggles.MODPACK_REPO- GitHubowner/repoto pull the modpack release from. Defaults toLaskyyy/Create-Astral; override at build time with--build-arg MODPACK_REPO=...to point at a fork.CF_SLUG- CurseForge modpack slug (create-astral). AUTO_CURSEFORGE requires this identifier even though the actual modpack content comes from the GitHub-sourced zip, not a CurseForge download.CF_API_KEY- optional CurseForge API key for downloading individual mod files. The base image ships with a default key; set your own from https://console.curseforge.com/ if you hit rate limits.CF_MODPACK_ZIP- optional. If set, skips the GitHub lookup and uses this path (inside the container) as the modpack zip directly - useful for pinning a specific local copy instead of always fetching the latest release.
Notes:
/datais the server's working directory and persistent volume - world save, mods, config, and the downloaded modpack zip all live there. Mount it to persist data across container restarts.- Every start re-resolves the latest GitHub release (unless
CF_MODPACK_ZIPis set), but itzg's installer only reinstalls mods/overrides when the modpack version actually changes.