services.ymlΒΆ

---
# nocheck: playwright-service-flag β€” CDN does not appear as a dashboard tile
# nocheck: dynamic-flag
dashboard:
  enabled: false
# nocheck: playwright-service-flag β€” self-provider
cdn:
  # nocheck: default-placement-manager  the one-shot npm-mirror build must write the served CDN root, a node-local host bind openresty (manager-pinned) reads
  placement: manager
  modes:
    host:
      enabled: true
    compose:
      enabled: true
    swarm:
      enabled: true
  bond: 1
  enabled: true
  shared: true
  flavor: internal
  cpus: "0.2"
  mem_reservation: 128m
  mem_limit: 256m
  pids_limit: 128
  min_storage: "1GB"
  lifecycle: beta
# nocheck: playwright-service-flag β€” transient node image used only to build the npm asset mirror, never served
# nocheck: image-healthcheck  build-time image run as a one-shot, no service port
build:
  # nocheck: single-replica  one-shot npm-mirror build writing the shared served root; parallel replicas would race and duplicate work
  replicas: 1
  image: node
  version: "26-slim"
  cpus: "1.0"
  mem_reservation: 128m
  mem_limit: 256m
  pids_limit: 256
# nocheck: playwright-service-flag β€” CDN serves static assets, no HTML pages with tracking snippet
matomo:
  bond: 1
  enabled: "{{ 'web-app-matomo' in group_names }}"
  shared: "{{ 'web-app-matomo' in group_names }}"
  # nocheck: matomo-track
  track: false
# nocheck: playwright-service-flag β€” canonical:cdn alias of self-provider
# nocheck: dynamic-flag
javascript:
  enabled: false
  shared: true
  canonical: cdn
# nocheck: playwright-service-flag β€” /metrics endpoint covered by web-app-prometheus's own spec
prometheus:
  bond: 1
  enabled: "{{ 'web-app-prometheus' in group_names }}"
  shared: "{{ 'web-app-prometheus' in group_names }}"
  # nocheck: prometheus-scrape
  scrape: false

# nocheck: playwright-service-flag
# nocheck: variants-coverage β€” sso-variant-tor requires the onion on in every variant, so the false polarity has no variant left to live in
tor:
  bond: 0.5
  enabled: "{{ 'svc-net-tor' in group_names }}"
  shared: true # nocheck: dynamic-flag