# NetDisc360 (a NetISO server for Aurora) in Docker. Put your games in a
# folder, set the path below, then:   docker compose up -d
# and open the dashboard at http://<this machine>:8360.
# See "Docker" in README.md for every setting.
services:
  netdisc:
    image: ghcr.io/marcusisdahl/netdisc360:latest
    build: .
    container_name: netdisc
    restart: unless-stopped
    # Host networking: the Xbox connects straight to this machine on port 4323,
    # and the server sees the Xbox's real address. (Docker Desktop on Windows
    # or macOS: use the ports below instead and set NETDISC_XBOX.)
    network_mode: host
    # ports:
    #   - "4323:4323"   # NetISO
    #   - "8360:8360"   # the dashboard
    volumes:
      # Your games: ISOs, extracted games and GOD packages, subfolders too.
      # Read-only: the server never writes to them.
      - ./games:/games:ro
      # The dashboard's settings. Must be writable by user 1000:1000
      # (sudo chown 1000:1000 ./config).
      - ./config:/config
    environment:
      TZ: Etc/UTC                  # your time zone, for the log's times
      # A password for the dashboard. Without one, anyone on your network can
      # open it and change the settings. (Or set one on the dashboard.)
      NETDISC_WEB_PASSWORD: ""
      # The rest can be set on the dashboard instead. These are only the first
      # start's settings: once saved in ./config, the dashboard's win.
      # Only these consoles' game folders are kept up to date (IP addresses,
      # separated by commas). Empty: every console that connects.
      NETDISC_XBOX: ""
      # Aurora's FTP login (Aurora: Settings > FTP).
      NETDISC_FTP_USER: xboxftp
      NETDISC_FTP_PASSWORD: xboxftp
      # NETDISC_NO_CATEGORY: "true"   # leave Aurora's Xbox 360 category alone
      # NETDISC_NO_PUSH: "true"       # only serve games, don't touch the Xbox
    # Files must be readable by this user (default 1000:1000).
    # user: "1000:1000"
