digitalboard.core/roles/collabora
Simon Bärlocher 3236ca332f
docs(collection): document all roles and fix metadata drift
Replace ansible-galaxy init placeholders across the collection and
correct documentation that drifted from the code, after a multi-agent
review of every role README against its defaults, tasks and templates.

Collection level:
- README: role table for all 16 roles, requirements and role-ordering
- galaxy.yml: declare community.docker and community.general deps,
  real description/tags/urls; normalize license to MIT-0
- meta/runtime.yml: requires_ansible '>=2.15.0'
- plugins/README: document the homarr_layout filter and
  garage_credentials lookup instead of scaffold boilerplate

Per-role meta/main.yml and README for the placeholder roles
(389ds, authentik, authentik_outpost_ldap, base, collabora, drawio,
garage, homarr, httpbin, keycloak, nextcloud, opencloud, traefik).

Correctness fixes found during review:
- keycloak: wrong domain default, drop invented keycloak_cert_resolver,
  document the provisioning feature
- garage: root_domain is .s3.<first-entry>, not the bare domain
- opnform: jwt/front_api secrets use `openssl rand -hex 32`; align the
  validation fail_msg in tasks/main.yml accordingly
- send: S3 example references garage_s3_domains[0] (was singular)
- opencloud: document required opencloud_wopi_domain

License normalized to MIT-0 across galaxy.yml, role meta and READMEs to
match the SPDX headers.
2026-05-27 23:12:24 +02:00
..
defaults feat: domain list refactor + demo-gymburgdorf fixes 2026-05-27 23:12:22 +02:00
handlers feat: drop blanket recreates, ACME-DNS knobs, notify_push override 2026-05-27 23:12:23 +02:00
meta docs(collection): document all roles and fix metadata drift 2026-05-27 23:12:24 +02:00
tasks chore: ensure we can use the same collabora instance for multiple cloud instances 2026-03-06 17:00:33 +01:00
templates feat: drop blanket recreates, ACME-DNS knobs, notify_push override 2026-05-27 23:12:23 +02:00
tests chore: add empty role boilerplate for collabora 2026-03-05 16:34:50 +01:00
vars chore: add empty role boilerplate for collabora 2026-03-05 16:34:50 +01:00
README.md docs(collection): document all roles and fix metadata drift 2026-05-27 23:12:24 +02:00

collabora

Deploys Collabora Online (CODE, collabora/code) via Docker Compose behind Traefik. Collabora is the WOPI backend that renders office documents for Nextcloud and OpenCloud.

The role templates coolwsd.xml to declare which WOPI hosts may call Collabora and which origins may embed it in an iframe.

Role variables

Variable Default Description
collabora_domains [office.local.test] FQDNs the router accepts; first is canonical.
collabora_image collabora/code:latest Container image.
collabora_port 9980 Container port Traefik forwards to.
collabora_traefik_network proxy Docker network shared with Traefik.
collabora_use_ssl true Enable the TLS resolver on the router.
collabora_ssl_verification true Verify TLS on WOPI callbacks (false for self-signed).
collabora_allowed_domains [nextcloud.local.test] WOPI hosts allowed to call Collabora (regex).
collabora_frame_ancestors [nextcloud.local.test] Origins allowed to embed Collabora in an iframe.
collabora_extra_hosts [] Extra host:ip entries for in-container DNS.

Example

- hosts: services
  become: true
  roles:
    - role: digitalboard.core.collabora
      vars:
        collabora_domains:
          - "office.example.com"
        collabora_allowed_domains:
          - "cloud.example.com"
        collabora_frame_ancestors:
          - "cloud.example.com"

License

MIT-0