mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-10-19 20:45:33 +00:00
- Added security_opt (seccomp=unconfined, apparmor=unconfined) and cap_add (MKNOD, SYS_CHROOT, SETUID, SETGID, FOWNER) to allow Collabora's sandbox (coolmount/systemplate) to mount and chroot properly - Increased resource limits (2 CPUs, 2 GB RAM, 2048 PIDs) to prevent document timeout and OOM issues - Resolves 'coolmount: Operation not permitted' and systemplate performance warnings Refs: https://chatgpt.com/share/68ed03cd-1afc-800f-904e-d1c1cb133914
Docker Collabora (DRAFT)
Description
This Ansible role deploys Collabora Online (CODE) in Docker to enable real-time, in-browser document editing for Nextcloud. It automates the setup of the Collabora CODE container, Nginx reverse proxy configuration, network isolation via Docker networks, and environment variable management.
Overview
- Dockerized Collabora CODE: Uses the official
collabora/code
image. - Nginx Reverse Proxy: Configures a public-facing proxy with TLS termination and WebSocket support for
/cool/
paths. - Docker Network Management: Creates an isolated
/28
subnet for Collabora and connects containers securely. - Environment Configuration: Generates a
.env
file with domain, credentials, and extra parameters for Collabora's WOPI server.
Features
- Automatic creation of a dedicated Docker network for Collabora.
- Proxy configuration template for Nginx with long timeouts and WebSocket upgrades.
- Customizable domain names and ports via Ansible variables.
- Support for SSL termination at the proxy level.
- Integration hooks to restart Nginx and recreate Docker Compose stacks on changes.
Documentation
See the role’s README.md
, task files, and Jinja2 templates in the roles/web-svc-collabora
directory for usage examples and variable definitions.