Files
computer-playbook/roles/web-app-bigbluebutton
Kevin Veen-Birkenbach 57d5269b07 CSP (Safari-safe): merge -elem/-attr into base; respect explicit disables; no mirror-back; header only for documents/workers
- Add CSP3 support for style/script: include -elem and -attr directives
- Base (style-src, script-src) now unions elem/attr (CSP2/Safari fallback)
- Respect explicit base disables (e.g. style-src.unsafe-inline: false)
- Hashes only when 'unsafe-inline' absent in the final base tokens
- Nginx: set CSP only for HTML/worker via header_filter_by_lua_block; drop for subresources
- Remove per-location header_filter; keep body_filter only
- Update app role flags to *-attr where appropriate; extend desktop CSS sources
- Add comprehensive unit tests for union/explicit-disable/no-mirror-back

Ref: https://chatgpt.com/share/68f87a0a-cebc-800f-bb3e-8c8ab4dee8ee
2025-10-22 13:53:06 +02:00
..
2025-09-27 03:46:57 +02:00
2025-09-27 14:18:29 +02:00

BigBlueButton

Description

This Ansible role deploys BigBlueButton using Docker Compose. It includes support for Greenlight, OIDC, LDAP, TURN/STUN, health checks, and a modular .env setup. This role is ideal for educational institutions and teams requiring a self-hosted video conferencing solution.

🔧 Note: The database layer should be decoupled in a future release to improve modularity and integration.

Overview

This role provides a fully automated deployment of BigBlueButton using Docker Compose on Arch Linux. It manages the entire lifecycle of the deployment, from cloning the upstream Docker repository and generating the .env configuration to customizing docker-compose.yml for volume usage, WebSocket proxying, and optional LDAP/OIDC integration.

The setup includes conditional Greenlight activation, WebRTC support via TURN/STUN, and various fixes for known container orchestration issues. The role is modular and integrates seamlessly with the Infinito.Nexus infrastructure, including reverse proxy configuration, domain management, and secrets templating.

By default, BigBlueButton is deployed with best-practice hardening, modular secrets, and support for multiple authentication methods and scalable storage backends.

Features

  • 🐳 Docker-based deployment via official bigbluebutton/docker
  • Greenlight (v3) frontend support
  • 🔐 SSO with OIDC & LDAP (optional)
  • 🧱 Automatic .env templating and domain/Nginx integration
  • 🛠 Volume patching and Docker Compose customization
  • 📬 SMTP integration and Greenlight admin creation
  • 🧪 Workarounds for known Docker Compose or Etherpad issues

Single Sign-On (SSO)

  • Docs: External Authentication
  • Supports:
    • OpenID Connect (OIDC)
    • LDAP (with custom DN and filters)
    • 🧩 Custom OAuth2 flows via ENV vars

System Requirements

  • Arch Linux with Docker, Compose, and Nginx roles pre-installed
  • DNS and reverse proxy configuration using sys-svc-proxy
  • Functional email system for Greenlight SMTP

Important Resources