# This is an example docker-compose configuration providing a Minecraft server,
# map generator and webserver. Visit http://localhost:8080 to view the map.
#
# See https://docker-minecraft-server.readthedocs.io/ for more information on
# the itzg/minecraft-server image and its configuration.

services:
  mc:
    image: docker.io/itzg/minecraft-server
    environment:
      EULA: 'true'
    ports:
      - '25565:25565'
    volumes:
      - data:/data
    stdin_open: true
    tty: true
    restart: unless-stopped

  minedmap:
    image: ghcr.io/neocturne/minedmap/minedmap
    command:
      - '--jobs-initial=2'
      - '--image-format=webp'
      - '--sign-filter=\[Map\]'
      - '--sign-transform=s/\[Map\]//'
      - '--watch'
      - '/input/world'
      - '/output'
    volumes:
      - data:/input:ro
      - output:/output
      - processed:/output/processed
    network_mode: 'none'
    depends_on:
      mc:
        condition: service_healthy
    restart: unless-stopped

  viewer:
    image: ghcr.io/neocturne/minedmap/viewer
    ports:
      - '8080:80'
    volumes:
      - output:/usr/share/nginx/html/data:ro
    restart: unless-stopped

volumes:
  data: {}
  processed: {}
  output: {}