services:
  technitium:
    image: docker.io/technitium/dns-server:latest
    container_name: technitium-dns
    hostname: rn-vps-02-dns
    restart: unless-stopped
    ports:
      - "53:53/udp"          # Standard DNS (UDP)
      - "53:53/tcp"          # Standard DNS (TCP)
      - "853:853/tcp"        # DNS-over-TLS (DoT)
      - "853:853/udp"        # DNS-over-Quic (DoQ)
      - "127.0.0.1:5380:5380/tcp" # Web console (bound to localhost for Newt proxy)
    environment:
      - DNS_SERVER_DOMAIN=dns-mgmt.domain.com
      - DNS_SERVER_ENABLE_PROXY_PROTOCOL_TCP=true
      - TZ=America/Denver
    volumes:
      - ./config:/etc/dns
    networks:
      - pangolin-net

  pangolin-site:
    image: fosrl/pangolin-cli
    container_name: pangolin-site
    restart: unless-stopped
    environment:
      - PANGOLIN_ENDPOINT=https://ztna.domain.com
      - SITE_ID=<site ID>
      - SITE_SECRET=<secret>
    networks:
      - pangolin-net

  hawser:
    image: ghcr.io/finsys/hawser:latest
    container_name: hawser
    restart: always
    environment:
      - DOCKHAND_SERVER_URL=wss://dock.domain.com/api/hawser/connect
      - TOKEN=<token>
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - hawser_stacks:/data/stacks

volumes:
  hawser_stacks:

networks:
  pangolin-net:
    driver: bridge