services.ymlΒΆ

---
coturn:
  modes:
    compose:
      enabled: true
    swarm:
      enabled: true
  bond: 1
  enabled: true
  shared: true
  image: coturn/coturn
  version: 4.18.0
  min_storage: 246MB
  user_auth_enabled: false
  cpus: 1.0
  mem_reservation: 512m
  mem_limit: 1g
  pids_limit: 256
  network_mode: host
  ports:
    internal:
      http: 80
    local:
      http: 8064
    public:
      stun_turn: 3481
      stun_turn_tls: 5351
      relay:
        start: 20000
        end: 39999
  lifecycle: beta
gateway:
  image: nginx
  version: 1.31.8-alpine
  cpus: "0.3"
  mem_reservation: 256m
  mem_limit: 512m
  pids_limit: 256
# nocheck: dynamic-flag  coturn runs with user_auth_enabled false, so it keeps no credential store to back; the entry stays literal until auth is switched on and no template references redis today.
redis:
  backup:
    disabled: true
  enabled: false
  shared: "{{ 'svc-db-redis' in group_names }}"
# nocheck: variants-coverage β€” the tor conjunct is the clearnet-variant-tor invariant below, so no variant may pin the true polarity on an onion node
# nocheck: bond-baseline β€” same reason: variant 0 must not pin the scrape consumer on
prometheus:
  bond: 1
  enabled: "{{ ('web-app-prometheus' in group_names) and ('svc-net-tor' not in group_names) }}"
  shared: "{{ ('web-app-prometheus' in group_names) and ('svc-net-tor' not in group_names) }}"

# nocheck: clearnet-variant-tor β€” STUN/TURN on UDP plus a 20000-port relay range, which no onion descriptor can publish; the only HTTP is a gateway returning a plaintext OK. No dashboard, logout, css or matomo block and no Playwright spec, so an onion round claims no visitable surface for it. Its one consumer declaration, prometheus, carries the tor gate.
tor:
  enabled: false # nocheck: dynamic-flag  no group can turn this on: see the clearnet-variant-tor reason above
  shared: false # nocheck: dynamic-flag  same
# nocheck: playwright-service-flag, dynamic-flag infrastructure backup consumer
container_backup: # nocheck: bond-baseline backup host joins outside the variant topology
  bond: 1
  enabled: "{{ 'svc-bkp-volume-2-local' in group_names }}"
  shared: true