Bundle of cross-role changes for the gymb services deployment: - Traefik routers: OR-combine opnform/homarr/bookstack Host rules with new *_extra_domains (internal *.int.* FQDNs for a DMZ reverseproxy), and emit tls.certresolver only when traefik_cert_mode == acme (drawio, homarr, opnform, send). - Split-horizon: bookstack_extra_hosts / opnform_extra_hosts add container /etc/hosts overrides so containers reach the IdP public FQDN over the LAN. - bookstack: assert the OIDC issuer resolves concretely (reject "//v2.0"), allowing non-Entra IdPs that override bookstack_oidc_issuer. - homarr: derive the bcrypt salt from the password digest so the admin hash is idempotent — no spurious template changes / container restarts. - opnform: PATCH an existing OIDC connection instead of skipping (applies corrected inventory on re-run); add OIDC_FORCE_LOGIN (enabled only after bootstrap) and an optional direct-SSO ingress entrypoint. Docs: READMEs and meta/argument_specs.yml updated for all new variables. |
||
|---|---|---|
| .. | ||
| defaults | ||
| handlers | ||
| meta | ||
| tasks | ||
| templates | ||
| tests | ||
| vars | ||
| README.md | ||
Drawio
Ansible role to deploy draw.io (the
self-hosted jgraph/drawio container) via Docker Compose behind
Traefik, with optional authentik ForwardAuth gating.
Requirements
- Docker and Docker Compose installed on the target host
- Ansible collection:
community.docker - Traefik with a shared
drawio_traefik_network(defaultproxy) - For ForwardAuth: a reachable authentik embedded outpost endpoint
Role variables
Full spec with types and defaults: meta/argument_specs.yml. The most
common overrides:
Service
drawio_domain: canonical hostname used in the traefik Host rule (defaultdrawio.local.test).drawio_extra_domains: additional hostnames the same container should answer on (e.g. an internal*.int.*FQDN so a DMZ proxy can reach drawio via a backend hostname).drawio_image,drawio_port,drawio_use_ssl.
Authentik ForwardAuth
drawio_authentik_forward_auth: set totrueto gate the editor behind authentik.drawio_authentik_forward_auth_url: full URL of the embedded outpost ForwardAuth endpoint, e.g.https://auth.example.com/outpost.goauthentik.io/auth/traefik.
When enabled, traefik redirects unauthenticated requests to authentik
for login and forwards the resulting X-Authentik-* identity headers
downstream.
Dependencies
- Traefik network (
drawio_traefik_network, defaultproxy) - Optional: authentik with a Proxy/ForwardAuth provider for drawio
(see the
authentikrole'sauthentik_proxy_apps).
Example playbook
- hosts: app_servers
roles:
- role: digitalboard.core.drawio
vars:
drawio_domain: "drawio.example.com"
drawio_authentik_forward_auth: true
drawio_authentik_forward_auth_url: "https://auth.example.com/outpost.goauthentik.io/auth/traefik"
License
MIT-0