I spun-up a Minecraft server with my phone in a WinCo parking lot
Jun 18, 2025 - ⧖ 2 min- Friend messaged me on Discord.
- Opened Dockge and started a new stack.
- Added Itzg's images for
mc-router
andminecraft-server
. - Added Caddy labels to redirect web traffic to mcstatus.
Features:
- Reverse-proxied to an easy-to-speak address (
mc.jafner.net
). - All yaml configuration. No SSH. No
.env
files. - Uptime monitoring, downtime notifications, and web traffic redirection to mcstatus.io.
- Easy to expand to additional servers.
minecraft compose file
services:
vanilla:
container_name: vanilla
image: itzg/minecraft-server:latest
networks:
- minecraft
environment:
EULA: "TRUE"
labels:
mc-router.host: mc.jafner.dev
mc-router.port: "25565"
mc-router.network: minecraft
mc-router.default: true
caddy: mc.jafner.dev
caddy.redir: https://mcstatus.io/status/java/mc.jafner.dev
router:
image: itzg/mc-router:latest
container_name: router
networks:
- minecraft
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
IN_DOCKER: true
ports:
- 25565:25565
networks:
minecraft:
name: minecraft
x-docs:
urls:
- https://github.com/itzg/mc-router
- https://docker-minecraft-server.readthedocs.io/en/latest/
caddy compose file
services:
caddy:
image: lucaslorentz/caddy-docker-proxy:ci-alpine
container_name: caddy
restart: unless-stopped
networks:
- caddy
ports:
- 80:80
- 443:443
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /appdata/caddy/data:/data
environment:
- CADDY_INGRESS_NETWORKS=caddy
labels:
caddy_0.email: "joey@jafner.net"
networks:
caddy:
name: caddy