# Mirror toggle — full client air-gap upstream mirror (see plan/11).
# Layer on top of the base: `docker compose -f docker-compose.yml -f docker-compose.mirror.yml up -d`
# (or `tooling/build-stack.sh --up mirror`). Adds the mirror vhost snippet, the
# upstream content mount, and publishes :443 for Caddy's `tls internal` certs.
# Populate the mirror first: tooling/mirror-airgap.sh (+ the proxy-capture step).
services:
  caddy:
    ports:
      - "443:443"
    volumes:
      - ./caddy/conf.d/20-mirror.caddy:/etc/caddy/conf.d/20-mirror.caddy:ro
      - ./mirror/upstream:/srv/mirror:ro
    networks:
      mcnet:
        # Spoof the real upstream hosts -> Caddy (air-gap runtime only). Includes
        # the base aliases because compose replaces (not merges) the alias list.
        aliases:
          - "auth.${BASE_DOMAIN}"
          - "packwiz.${BASE_DOMAIN}"
          - "meta.prismlauncher.org"
          - "piston-meta.mojang.com"
          - "piston-data.mojang.com"
          - "libraries.minecraft.net"
          - "maven.neoforged.net"
          - "resources.download.minecraft.net"
