version: "3.8"

services:

  database:
    image: mariadb
    container_name: database
    environment:
      MYSQL_ROOT_PASSWORD: change-me-password-root-db
    command: --default-authentication-plugin=mysql_native_password
    volumes:
      - ./database/data:/var/lib/mysql
      - ./database/init:/docker-entrypoint-initdb.d

  proxy:
    hostname: proxy
    container_name: proxy
    image: itzg/bungeecord
    env_file:
      - ./proxy/proxy.env
    volumes:
      - ./proxy:/server
    ports:
      - "25565:25565"     # Minecraft Java
      - "25565:25565/udp"
      - "19132:19132"     # Minecraft Bedrock Edition
      - "19132:19132/udp"
    healthcheck:
      disable: true

  login:
    hostname: login
    container_name: login
    image: itzg/minecraft-server
    env_file:
      - ./login/login.env
    volumes:
      - ./login:/data
    ports:
      - "65535:65535"
    restart: unless-stopped

  survival:
    hostname: survival
    container_name: survival
    image: itzg/minecraft-server
    env_file:
      - ./survival/survival.env
    volumes:
      - ./survival:/data
    ports:
      - "25551:25551"
    restart: unless-stopped