Files
computer-playbook/roles/web-app-pixelfed/meta/services.yml

116 lines
3.3 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: 0.1g
mem_limit: 0.2g
pids_limit: 512
# nocheck: playwright-service-flag — DB engine, covered by role-local integration tests
mariadb:
bond: 1
enabled: true # nocheck: dynamic-flag
shared: "{{ 'svc-db-mariadb' in group_names }}"
# nocheck: playwright-service-flag — self-provider
pixelfed:
modes:
compose:
enabled: true
swarm:
enabled: true
bond: 1
shared: true
enabled: true # nocheck: dynamic-flag
image: zknt/pixelfed
version: "20261021"
name: pixelfed
min_storage: 588MB
backup:
no_stop_required: true
cpus: 0.75
mem_reservation: 0.5g
mem_limit: 0.75g
titel: Pictures on {{ DOMAIN_PRIMARY }}
ports:
local:
http: 8010
internal:
http: 80
run_after:
- web-app-keycloak
lifecycle: beta
pids_limit: 512
worker:
# nocheck: single-replica
replicas: 1
name: pixelfed_worker
healthcheck:
test: ["CMD-SHELL", "test ! -e /var/www/storage/.docker.init || (php artisan horizon:status | grep running)"]
# nocheck: healthcheck-timing-override php artisan boots Laravel on every probe, so it stays off a 30s steady-state loop
interval: 60s
retries: 5
cpus: 1.0
mem_reservation: 0.75g
mem_limit: 1g
pids_limit: 512
min_storage: 5GB
# 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 — 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: 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
# 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