services:
  airvault:
    image: ghcr.io/wizier/airvault:latest
    container_name: airvault
    restart: unless-stopped

    # Host networking is required: Wi-Fi discovery is link-local mDNS multicast
    network_mode: host

    environment:
      - AIRVAULT_PORT=${AIRVAULT_PORT:-8080}
      - AIRVAULT_AUTH_TOKEN=${AIRVAULT_AUTH_TOKEN:-}
      - AIRVAULT_LOG_LEVEL=${AIRVAULT_LOG_LEVEL:-info}
      - AIRVAULT_MUX_LOG_LEVEL=${AIRVAULT_MUX_LOG_LEVEL:-warn}
      - TZ=${TZ:-Etc/UTC}
      # Advanced (optional): AIRVAULT_LISTEN_ADDR, AIRVAULT_DATABASE_URL,
      # PUID/PGID/UMASK

    # USB pairing: bind the bus
    device_cgroup_rules:
      - "c 189:* rmw"

    volumes:
      # /config: settings, database, pairing records. /backups: the backups.
      - ./config:/config
      - ./backups:/backups
      - /dev/bus/usb:/dev/bus/usb
      - /run/udev:/run/udev:ro
