# NB! since udp routing cannot be made on hostnames, minecraft will have to be accessed as follows: # minecraft-bedrock: minecraft.sthome.org:19132 # minecraft-java: minecraft.sthome.org:25565 name: minecraft secrets: mcjava_rcon_password: file: ${SECRETSDIR}/mcjava_rcon_password networks: traefik-net: external: true services: minecraft-bedrock: image: itzg/minecraft-bedrock-server hostname: ${MCBEDROCK_APP} env_file: .minecraft-bedrock.env tty: true stdin_open: true networks: - traefik-net volumes: - /etc/localtime:/etc/localtime:ro - "${DATADIR}/bedrock:/data" restart: unless-stopped # environment variables specified here overrides env_file environment: - GAMEMODE=survival - DIFFICULTY=peaceful #- DIFFICULTY=easy labels: - traefik.enable=true - traefik.docker.network=traefik-net - "traefik.udp.services.${MCBEDROCK_APP}-svc.loadbalancer.server.port=${MCBEDROCK_PORT}" - "traefik.udp.routers.${MCBEDROCK_APP}-rtr.entrypoints=mc-bedrock" - "traefik.udp.routers.${MCBEDROCK_APP}-rtr.service=${MCBEDROCK_APP}-svc" minecraft-java: image: itzg/minecraft-server hostname: ${MCJAVA_APP} env_file: .minecraft-java.env tty: true stdin_open: true networks: - traefik-net volumes: - /etc/localtime:/etc/localtime:ro - "${DATADIR}/java:/data" restart: unless-stopped secrets: - mcjava_rcon_password # environment variables specified here override env_file environment: - SERVER_NAME=mc-java - MODE=survival - DIFFICULTY=easy # - ENABLE_RCON=true # uncomment to enable RCON labels: - traefik.enable=true - traefik.docker.network=traefik-net # udp entrypoint routed to service port - "traefik.udp.services.${MCJAVA_APP}-svc.loadbalancer.server.port=${MCJAVA_PORT}" - "traefik.udp.routers.${MCJAVA_APP}-rtr.entrypoints=mc-java" - "traefik.udp.routers.${MCJAVA_APP}-rtr.service=${MCJAVA_APP}-svc" # tcp entrypoint routed to rcon port - unencrypted (unsafe, do not port forward router) - "traefik.tcp.services.${MCJAVA_APP}-rcon-svc.loadbalancer.server.port=${MCJAVA_RCON_PORT}" - "traefik.tcp.routers.${MCJAVA_APP}-rcon-rtr.rule=HostSNI(`*`)" # no matching possible without tls - "traefik.tcp.routers.${MCJAVA_APP}-rcon-rtr.entrypoints=mc-java-rcon" - "traefik.tcp.routers.${MCJAVA_APP}-rcon-rtr.service=${MCJAVA_APP}-rcon-svc"