# Source: https://github.com/itzg/mc-router/blob/main/examples/docker-autoscale/compose.yml # This is a verbose example with comments and explanations for configuring auto-scaling behavior # for Docker backend servers. See compose-minimal.yml for a simple minimal example. services: router: image: itzg/mc-router environment: IN_DOCKER: true # Global auto-scaling settings for all docker-backend servers # Settings can be overridden per-backend using labels # as shown in the backend services below (except for AUTO_SCALE_DOWN_AFTER which is global only) # Enable auto-scaling down after inactivity for all backends by default AUTO_SCALE_DOWN: true # Enable auto-scaling up after player join for all backends by default AUTO_SCALE_UP: true # Time of inactivity after which to scale down (default: 10m) - Global only setting AUTO_SCALE_DOWN_AFTER: 2h # MOTD to show when server is asleep (default: empty string - don't show MOTD, show server offline instead) AUTO_SCALE_ASLEEP_MOTD: "Server is asleep. Join again to wake it up!" ports: - "25565:25565" volumes: - /var/run/docker.sock:/var/run/docker.sock:ro vanilla: image: itzg/minecraft-server environment: EULA: "TRUE" labels: # If global auto scaling settings are enabled, this backend will # auto-scale without any additional auto-scale related configuration mc-router.host: "vanilla.example.com" fabric: image: itzg/minecraft-server environment: EULA: "TRUE" TYPE: FABRIC labels: mc-router.host: "fabric.example.com" # Disable auto-scaling for this backend specifically mc-router.auto-scale-up: false mc-router.auto-scale-down: false paper: image: itzg/minecraft-server environment: EULA: "TRUE" TYPE: PAPER labels: mc-router.host: "paper.example.com" # Override asleep MOTD for this backend mc-router.auto-scale-asleep-motd: "Paper is folded. Join to unfold!"