mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-06 10:59:59 +00:00
Every fresh Mobilizon deploy on PostgreSQL 18 died in migration 20190806131306. Four migrations drop the integer id column, add a uuid id without NOT NULL and declare it the primary key in the same ALTER TABLE. PostgreSQL 18 rejects that with 42P16 "primary key column "id" is not marked NOT NULL", PostgreSQL 17 accepted it. The container exited 1 and restarted in a loop, in compose and in swarm. Upstream fixed it for 5.3.0 by adding null: false to that line in the four migrations. No published image carries the fix yet, so the role builds its own image on top of the pinned upstream one and applies the same one-line change to the same four files. The build fails once a base image no longer contains the unfixed line and names the migration, so the patch cannot outlive its reason unnoticed. TODO.md lists what to delete then. Closes #779 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
86 lines
2.5 KiB
YAML
86 lines
2.5 KiB
YAML
---
|
|
# nocheck: seaweedfs-playwright, seaweedfs-required — Mobilizon (mainline, incl. 5.2.3) ships only Mobilizon.Web.Upload.Uploader.Local (no ex_aws/Uploader.S3 backend per upstream docs), so uploads cannot be routed to the object store and no S3 write surface exists to drive
|
|
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 }}"
|
|
postgres:
|
|
bond: 1
|
|
enabled: true # nocheck: dynamic-flag
|
|
shared: "{{ 'svc-db-postgres' in group_names }}"
|
|
extensions:
|
|
- postgis
|
|
- pg_trgm
|
|
- unaccent
|
|
mobilizon:
|
|
healthcheck:
|
|
flavor: curl
|
|
modes:
|
|
compose:
|
|
enabled: true
|
|
swarm:
|
|
enabled: true
|
|
image: docker.io/kaihuri/mobilizon
|
|
name: mobilizon
|
|
version: 5.2.4
|
|
custom: true
|
|
min_storage: 825MB
|
|
titel: Mobilizon on {{ DOMAIN_PRIMARY | upper }}
|
|
ports:
|
|
local:
|
|
http: 8043
|
|
internal:
|
|
http: 4000
|
|
run_after:
|
|
- web-app-matomo
|
|
- web-app-keycloak
|
|
- web-app-stalwart
|
|
- web-app-mailu
|
|
lifecycle: beta
|
|
cpus: "0.2"
|
|
mem_reservation: 128m
|
|
mem_limit: 256m
|
|
pids_limit: 256
|
|
# nocheck: dynamic-flag — seaweedfs intentionally disabled; Mobilizon has no S3 upload backend
|
|
seaweedfs:
|
|
enabled: false
|
|
shared: false
|
|
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 — seaweedfs intentionally disabled; Mobilizon has no S3 upload backend
|
|
# 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
|