Crafty Controller
Use these steps to run Crafty Controller with Docker Compose.
Create the Compose File
Create a docker-compose.yml file with the Crafty Controller service:
services:
crafty:
container_name: crafty_container
image: registry.gitlab.com/crafty-controller/crafty-4:latest
restart: always
environment:
- TZ=${TZ}
ports:
- "8443:8443"
- "25500-25600:25500-25600"
volumes:
- ./docker/backups:/crafty/backups
- ./docker/logs:/crafty/logs
- ./docker/servers:/crafty/servers
- ./docker/config:/crafty/app/config
- ./docker/import:/crafty/import
Create the Environment File
Create a .env file in the same directory as docker-compose.yml:
TZ=Etc/UTC
Start Crafty Controller
Run Docker Compose from the directory containing both files:
docker compose up -d
Crafty Controller will be available at https://localhost:8443.
The Minecraft server port range 25500-25600 is exposed for servers managed by Crafty Controller.
Reverse Proxy / HTTPS
If you need public HTTPS access to the Crafty web UI, put it behind a reverse proxy like Nginx Proxy Manager. Keep the Minecraft server port range exposed separately as needed.