name: nzbget-bench
services:
  nzbget:
    container_name: nzbget
    deploy:
      resources:
        limits:
          memory: "536870912"
    environment:
      NZBGET_PASS: TWbW9C4i8iEgTRnmUijU6Xsk
      NZBGET_USER: admin
      PGID: "1000"
      PUID: "1000"
      TZ: Europe/Budapest
    healthcheck:
      test:
        - CMD-SHELL
        - curl -s -o /dev/null -w '%{http_code}' http://127.0.0.1:6789/ | grep -qE '^(200|401)$$'
      timeout: 5s
      interval: 30s
      retries: 3
      start_period: 30s
    image: nzbgetcom/nzbget:v26.3
    labels:
      traefik.enable: "true"
      traefik.http.routers.nzbget.entrypoints: websecure
      traefik.http.routers.nzbget.rule: Host(`nzbget.bench.local`)
      traefik.http.routers.nzbget.tls: "true"
      traefik.http.routers.nzbget.tls.certresolver: letsencrypt
      traefik.http.services.nzbget.loadbalancer.server.port: "6789"
    networks:
      traefik-public: null
    restart: unless-stopped
    volumes:
      - type: volume
        source: nzbget_config
        target: /config
        volume: {}
      - type: bind
        source: /opt/nzbget-bench/userdata/media/nzbget
        target: /downloads
        bind:
          create_host_path: true
networks:
  traefik-public:
    name: traefik-public
    external: true
volumes:
  nzbget_config:
    name: nzbget-bench_nzbget_config
