Crafty Controller Minecraft Manager
Web-based Minecraft server management with multiple server support and monitoring.
Overview
Crafty Controller is an open-source, web-based management platform specifically designed for hosting and administering multiple Minecraft servers from a single interface. Originally developed to address the complexity of managing numerous Minecraft instances across different versions and editions, Crafty Controller provides administrators with centralized control over Java Edition and Bedrock Edition servers, complete with user management, automated backups, and real-time monitoring capabilities. This stack combines Crafty Controller with NGINX as a reverse proxy to provide SSL termination, load balancing, and enhanced security for the web management interface. NGINX acts as the front-end gateway, handling HTTPS connections and proxying requests to Crafty Controller's internal web server, while also providing protection against common web attacks and enabling custom domain configurations. This combination is particularly valuable for gaming communities, educational institutions, and hobbyist server administrators who need to manage multiple Minecraft servers efficiently while maintaining professional-grade security and accessibility through custom domains and SSL certificates.
Key Features
- Multi-server Minecraft management supporting both Java Edition and Bedrock Edition servers
- Automated backup scheduling with configurable retention policies and compression
- Real-time server monitoring with CPU, RAM, and player count tracking
- Web-based console access with command history and tab completion
- User role management with granular permissions for different administrative levels
- Server template system for rapid deployment of pre-configured Minecraft instances
- Plugin and mod management with automatic dependency resolution
- NGINX reverse proxy with SSL/TLS termination and custom domain support
Common Use Cases
- 1Gaming communities running multiple themed Minecraft servers (survival, creative, modded)
- 2Educational institutions managing classroom Minecraft servers for different courses
- 3Minecraft hosting providers offering managed server services to customers
- 4Large friend groups maintaining persistent worlds with different game modes
- 5Content creators managing separate servers for different streaming projects
- 6Minecraft server networks requiring centralized administration and monitoring
- 7Family servers where parents need controlled access to manage children's gaming time
Prerequisites
- Minimum 4GB RAM recommended for running multiple Minecraft server instances
- Available ports 8443 (Crafty web UI), 25500-25600 (Minecraft servers), and 19132/UDP (Bedrock)
- Basic understanding of Minecraft server configuration and Java/Bedrock edition differences
- SSL certificates if using NGINX for HTTPS termination with custom domains
- Sufficient disk space for server worlds, backups, and logs (recommend 50GB+ initial allocation)
- Network configuration knowledge for port forwarding if exposing servers to internet
For development & testing. Review security settings, change default credentials, and test thoroughly before production use. See Terms
docker-compose.yml
docker-compose.yml
1services: 2 crafty: 3 image: registry.gitlab.com/crafty-controller/crafty-4:latest4 environment: 5 TZ: ${TZ}6 ports: 7 - "8443:8443"8 - "8123:8123"9 - "19132:19132/udp"10 - "25500-25600:25500-25600"11 volumes: 12 - crafty_backups:/crafty/backups13 - crafty_logs:/crafty/logs14 - crafty_servers:/crafty/servers15 - crafty_config:/crafty/app/config16 - crafty_import:/crafty/import17 networks: 18 - crafty-net19 restart: unless-stopped2021 nginx: 22 image: nginx:alpine23 ports: 24 - "80:80"25 - "443:443"26 volumes: 27 - ./nginx.conf:/etc/nginx/nginx.conf:ro28 depends_on: 29 - crafty30 networks: 31 - crafty-net32 restart: unless-stopped3334volumes: 35 crafty_backups: 36 crafty_logs: 37 crafty_servers: 38 crafty_config: 39 crafty_import: 4041networks: 42 crafty-net: 43 driver: bridge.env Template
.env
1# Timezone2TZ=UTC34# Default credentials (change after first login)5# Username: admin6# Password: craftyUsage Notes
- 1Web UI at https://localhost:8443
- 2Default login: admin / crafty
- 3Create and manage multiple Minecraft servers
- 4Supports Java and Bedrock editions
Individual Services(2 services)
Copy individual services to mix and match with your existing compose files.
crafty
crafty:
image: registry.gitlab.com/crafty-controller/crafty-4:latest
environment:
TZ: ${TZ}
ports:
- "8443:8443"
- "8123:8123"
- 19132:19132/udp
- 25500-25600:25500-25600
volumes:
- crafty_backups:/crafty/backups
- crafty_logs:/crafty/logs
- crafty_servers:/crafty/servers
- crafty_config:/crafty/app/config
- crafty_import:/crafty/import
networks:
- crafty-net
restart: unless-stopped
nginx
nginx:
image: nginx:alpine
ports:
- "80:80"
- "443:443"
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf:ro
depends_on:
- crafty
networks:
- crafty-net
restart: unless-stopped
Quick Start
terminal
1# 1. Create the compose file2cat > docker-compose.yml << 'EOF'3services:4 crafty:5 image: registry.gitlab.com/crafty-controller/crafty-4:latest6 environment:7 TZ: ${TZ}8 ports:9 - "8443:8443"10 - "8123:8123"11 - "19132:19132/udp"12 - "25500-25600:25500-25600"13 volumes:14 - crafty_backups:/crafty/backups15 - crafty_logs:/crafty/logs16 - crafty_servers:/crafty/servers17 - crafty_config:/crafty/app/config18 - crafty_import:/crafty/import19 networks:20 - crafty-net21 restart: unless-stopped2223 nginx:24 image: nginx:alpine25 ports:26 - "80:80"27 - "443:443"28 volumes:29 - ./nginx.conf:/etc/nginx/nginx.conf:ro30 depends_on:31 - crafty32 networks:33 - crafty-net34 restart: unless-stopped3536volumes:37 crafty_backups:38 crafty_logs:39 crafty_servers:40 crafty_config:41 crafty_import:4243networks:44 crafty-net:45 driver: bridge46EOF4748# 2. Create the .env file49cat > .env << 'EOF'50# Timezone51TZ=UTC5253# Default credentials (change after first login)54# Username: admin55# Password: crafty56EOF5758# 3. Start the services59docker compose up -d6061# 4. View logs62docker compose logs -fOne-Liner
Run this command to download and set up the recipe in one step:
terminal
1curl -fsSL https://docker.recipes/api/recipes/crafty-controller/run | bashTroubleshooting
- Crafty Controller shows 'Server Failed to Start' error: Check Java installation and verify server.jar file permissions in the crafty_servers volume
- Players cannot connect to Minecraft servers: Verify port range 25500-25600 is properly forwarded and not blocked by firewall
- Bedrock Edition server not accepting connections: Ensure UDP port 19132 is open and the server is bound to 0.0.0.0 not localhost
- NGINX returns 502 Bad Gateway: Confirm Crafty Controller is running on port 8443 and accessible within the Docker network
- Web interface loads but shows connection timeouts: Increase NGINX proxy timeout values and check Docker network connectivity between containers
- Server backups failing with permission errors: Verify the crafty_backups volume has correct write permissions and sufficient disk space
Community Notes
Loading...
Loading notes...
Download Recipe Kit
Get all files in a ready-to-deploy package
Includes docker-compose.yml, .env template, README, and license
Components
crafty-controllernginx
Tags
#minecraft#game-server#crafty#management#gaming
Category
Home Lab & Self-HostingAd Space
Shortcuts: C CopyF FavoriteD Download