digitalboard.core/roles
Tobias Wüst 951b1822fe
feat(bookstack): add role for self-hosted BookStack deployment
Deploy BookStack with linuxserver.io images behind Traefik, including
Entra ID OIDC SSO support and a daily backup timer.

Stack:
- lscr.io/linuxserver/bookstack:version-v26.03.3
- lscr.io/linuxserver/mariadb:11.4.9
- Traefik labels for websecure entrypoint on internal network
- Healthcheck via mariadb-admin ping (LSIO image lacks healthcheck.sh)

Features:
- Persistent APP_KEY generated on first run, stored in volume dir
- Optional OIDC SSO via Microsoft Entra ID (configurable per-instance)
- Idempotent admin user creation with DB-based existence check
- Daily systemd timer backup (DB dump + uploads tar + APP_KEY)
  with configurable retention

Implementation notes:
- DB queries use --protocol=tcp with the app user because root@localhost
  uses unix_socket auth in the LSIO MariaDB image (no password) and
  root@% does not exist
- docker_container_exec uses argv: (list) instead of command: (string)
  to avoid argument-splitting issues
- Migration-wait task ensures users table exists before admin check,
  since /login returns 200 before Laravel migrations complete
- no_log: true on all tasks that reference DB or admin passwords
- artisan absolute path (/app/www/artisan) because LSIO image WORKDIR
  is not the app directory

Adds bookstack route to DMZ Traefik service registry.
2026-05-26 15:30:21 +02:00
..
389ds feat: add 389ds ldap backend to keycloak 2026-03-13 10:58:40 +01:00
authentik feat: add blueprints for authentik ldap outpost and render values directly instead of using env vars 2026-04-10 14:33:52 +02:00
authentik_outpost_ldap feat: add blueprints for authentik ldap outpost and render values directly instead of using env vars 2026-04-10 14:33:52 +02:00
base fix: add lock_timout to apt cache update 2026-01-14 17:36:07 +01:00
bookstack feat(bookstack): add role for self-hosted BookStack deployment 2026-05-26 15:30:21 +02:00
collabora chore: ensure we can use the same collabora instance for multiple cloud instances 2026-03-06 17:00:33 +01:00
drawio feat: add drawio instance for nextcloud and opencloud 2026-03-13 14:37:02 +01:00
garage fix: ensure unredacted secret is used for s3-keys 2026-01-15 16:51:19 +01:00
homarr feat(bookstack): add role for self-hosted BookStack deployment 2026-05-26 15:30:21 +02:00
httpbin feat: add basic httpbin services 2025-11-07 11:57:45 +01:00
keycloak feat: opencloud group provisioning via oidc 2026-03-13 16:43:02 +01:00
nextcloud feat: make nextcloud_notify_push_image configurable 2026-04-10 11:18:28 +02:00
opencloud fix: leading space in extra networks 2026-04-10 14:34:15 +02:00
opnform docs(opnform): add meta/argument_specs.yml 2026-05-26 14:58:36 +02:00
traefik chore(traefik): prefix all traefi vars with traefik_ 2026-01-22 17:29:56 +01:00