mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-06 02:54:26 +00:00
112 lines
3.5 KiB
YAML
112 lines
3.5 KiB
YAML
---
|
|
sso:
|
|
bond: 1
|
|
enabled: "{{ 'web-app-keycloak' in group_names }}"
|
|
shared: "{{ 'web-app-keycloak' in group_names }}"
|
|
flavor: oidc
|
|
logout:
|
|
bond: 1
|
|
enabled: "{{ 'web-svc-logout' in group_names }}"
|
|
shared: "{{ 'web-svc-logout' in group_names }}"
|
|
dashboard:
|
|
bond: 1
|
|
enabled: "{{ 'web-app-dashboard' in group_names }}"
|
|
shared: "{{ 'web-app-dashboard' in group_names }}"
|
|
matomo:
|
|
bond: 1
|
|
enabled: "{{ 'web-app-matomo' in group_names }}"
|
|
shared: "{{ 'web-app-matomo' in group_names }}"
|
|
email:
|
|
bond: 1
|
|
enabled: "{{ MAIL_PROVIDER in group_names }}"
|
|
shared: "{{ MAIL_PROVIDER in group_names }}"
|
|
# nocheck: shared
|
|
# nocheck: dynamic-flag
|
|
# nocheck: playwright-service-flag — DB engine, covered by role-local integration tests
|
|
redis:
|
|
bond: 1
|
|
backup:
|
|
disabled: true
|
|
enabled: true # nocheck: dynamic-flag
|
|
shared: "{{ 'svc-db-redis' in group_names }}"
|
|
cpus: "0.5"
|
|
mem_reservation: 256m
|
|
mem_limit: 512m
|
|
pids_limit: 512
|
|
# nocheck: playwright-service-flag — DB engine, covered by role-local integration tests
|
|
postgres:
|
|
bond: 1
|
|
enabled: true # nocheck: dynamic-flag
|
|
shared: "{{ 'svc-db-postgres' in group_names }}"
|
|
# nocheck: playwright-service-flag — object store, no Playwright surface
|
|
minio:
|
|
enabled: false # nocheck: dynamic-flag
|
|
shared: false # nocheck: dynamic-flag
|
|
public: true
|
|
seaweedfs:
|
|
bond: 1
|
|
enabled: "{{ 'web-app-seaweedfs' in group_names }}"
|
|
shared: "{{ 'web-app-seaweedfs' in group_names }}"
|
|
public: true
|
|
# nocheck: playwright-service-flag: shared provider entity; the app itself is covered by this role's own Playwright spec
|
|
peertube:
|
|
healthcheck:
|
|
flavor: tcp
|
|
modes:
|
|
compose:
|
|
enabled: true
|
|
swarm:
|
|
enabled: true
|
|
bond: 1
|
|
enabled: true # nocheck: dynamic-flag
|
|
shared: true
|
|
name: peertube
|
|
version: v8.3.2
|
|
image: chocobozzz/peertube
|
|
min_storage: 841MB
|
|
live:
|
|
enabled: true
|
|
backup:
|
|
no_stop_required: true
|
|
# nocheck: single-replica PeerTube has no multi-instance support upstream; the RTMP live ingest binds one instance with no VIP session affinity, and the OIDC state cookie uses a per-process key, so concurrent replicas break live streams and the auth callback
|
|
replicas: 1
|
|
cpus: 4
|
|
mem_reservation: 4g
|
|
mem_limit: 8g
|
|
pids_limit: 2048
|
|
ports:
|
|
local:
|
|
http: 8011
|
|
public:
|
|
rtmp: 1935
|
|
onion:
|
|
# nocheck: onion-flag RTMP is an ingest the broadcaster pushes in, and the encoders that push it speak no SOCKS
|
|
rtmp: false
|
|
internal:
|
|
http: 9000
|
|
rtmp: 1935
|
|
run_after:
|
|
- web-app-keycloak
|
|
lifecycle: beta
|
|
# nocheck: playwright-service-flag — verified by web-svc-css provider spec
|
|
css:
|
|
bond: 1
|
|
enabled: "{{ 'web-svc-css' in group_names }}"
|
|
shared: "{{ 'web-svc-css' in group_names }}"
|
|
prometheus:
|
|
bond: 1
|
|
enabled: "{{ 'web-app-prometheus' in group_names }}"
|
|
shared: "{{ 'web-app-prometheus' in group_names }}"
|
|
|
|
# nocheck: sso-variant-tor — PeerTube distributes over WebRTC, which Tor does not carry, so an onion instance loses the feature the app exists for; and its OIDC plugin accepts a plaintext issuer only through a sed over vendored dist code
|
|
# nocheck: dynamic-flag
|
|
# nocheck: playwright-service-flag — the role never joins the onion topology, so no persona surface can assert it
|
|
tor:
|
|
enabled: false
|
|
shared: false # nocheck: dynamic-flag
|
|
# 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
|