reference-ansible/inventories/vagrant/host_vars/backend
Tobias Wüst c10b46276a 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-20 17:40:39 +02:00
..
389ds.yml feat: add basic ds389 docker setup and configuration 2026-03-06 17:54:07 +01:00
authentik.yml feat: use authentik ldap outpost for ldap instead of 389ds+keycloak 2026-04-10 15:18:53 +02:00
authentik_outpost_ldap.yml chore: add vagrant config for authentik ldap outpost 2026-04-10 17:24:16 +02:00
collabora.yml chore: ensure we can use the same collabora instance for multiple cloud instances 2026-03-06 17:00:33 +01:00
drawio.yml feat: add drawio instance for nextcloud and opencloud 2026-03-13 14:47:02 +01:00
garage.yml feat: add s3 storage provisioning for opencloud 2026-03-05 16:24:12 +01:00
homarr.yml chore: Deploy Homarr Service 2026-01-23 15:53:21 +01:00
keycloak.yml feat: add group mapper to keycloak ldap backend 2026-03-13 15:36:33 +01:00
main.yml chore: remove old inventory for now and add vagrant 2025-11-07 15:58:30 +01:00
nextcloud.yml fix: (vagrant) updated some vagrant variables and added openform 2026-05-18 18:37:39 +02:00
opencloud.yml feat: use authentik ldap outpost for ldap instead of 389ds+keycloak 2026-04-10 15:18:53 +02:00
opnform.yml fix: added openform to vagrant playbooks and host_vars 2026-05-18 22:31:06 +02:00
traefik.yml feat(bookstack): add role for self-hosted BookStack deployment 2026-05-20 17:40:39 +02:00