Docker setup for a Minecraft 1.21.1 Fabric server with the CUDA build of
Alesrr/terra-diffusion-compat, intended for a Linux host with an NVIDIA GPU.
1.21.1 on Fabric via itzg/minecraft-server/data, including the world and the first-run model downloadThis Windows workspace can build the Linux image if Docker Desktop is using a Linux engine:
docker compose build
docker compose run --rm --entrypoint nvidia-smi minecraft
On the Windows RTX 3080 machine that second command only works if Docker has NVIDIA GPU support enabled. The important target is the Unraid host.
docker compose up -d
docker compose logs -f
The first launch needs internet access and can take a while because the mod downloads roughly
2.5 GB of model files into data/terrain-diffusion-models.
The CurseForge downloads normally use the API key bundled with the itzg/minecraft-server
image. If CurseForge rate-limits or rejects it, create a key at the CurseForge developer
console and pass it as CF_API_KEY in your .env.
Push this repository to GitHub. The workflow in .github/workflows/docker-publish.yml builds
and publishes:
ghcr.io/<owner>/<repo>:latest
ghcr.io/<owner>/<repo>:<branch>
ghcr.io/<owner>/<repo>:sha-<commit>
The default build uses the latest release from:
Alesrr/terra-diffusion-compat
To pin a specific upstream release, run the workflow manually and set
terra_diffusion_tag, or set TERRA_DIFFUSION_TAG as a Docker build arg in your own build.
Use compose.unraid.yml as the starting point and replace:
ghcr.io/OWNER/REPOSITORY:latest
with your published GHCR image.
Expected host paths:
/mnt/user/appdata/terra-diffusion-mc/data
/mnt/user/appdata/terra-diffusion-mc/config
/mnt/user/appdata/terra-diffusion-mc/mods
The container needs GPU access. With Compose this is expressed as an NVIDIA device reservation:
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities:
- gpu
If using Unraid's classic Docker UI instead of Compose, add this extra parameter:
--gpus all
Also make sure the NVIDIA driver plugin/runtime works on Unraid and that this succeeds:
docker run --rm --gpus all nvidia/cuda:12.8.1-base-ubuntu24.04 nvidia-smi
The server is configured to create a Terrain Diffusion world:
level-name=terrain-diffusion-world
level-type=terrain-diffusion-mc\:terrain_diffusion
The committed config defaults to GPU inference and conservative VRAM use:
inference.device=gpu
inference.offload_models=true
explorer.port=19801
terralith.enabled=true
Port 19801 is exposed for the /td-explore web UI.
Port 8100 is exposed for the BlueMap web UI.
Content type
Image
Digest
sha256:9ee561df0…
Size
3.2 GB
Last updated
about 2 months ago
docker pull vlepic/terrain_diff_server