mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-08-26 21:45:20 +02:00
Removed old collabora
This commit is contained in:
parent
79517b2fe9
commit
4cf996b1bb
@ -1,30 +0,0 @@
|
|||||||
# 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-app-collabora` directory for usage examples and variable definitions.
|
|
||||||
|
|
||||||
## Further Resources
|
|
||||||
|
|
||||||
* [Collabora & Talk Super integration demo](https://www.youtube.com/watch?v=7cRmvTyt1ik)
|
|
||||||
* [Collabora configuration examples archive](https://cloud.thesysadminhub.com/s/FNKyP43y35HGDTJ?dir=/&openfile=true)
|
|
||||||
* [Official Collabora CODE website](https://www.collaboraoffice.com/code/)
|
|
@ -1,12 +0,0 @@
|
|||||||
server:
|
|
||||||
domains:
|
|
||||||
canonical:
|
|
||||||
- "collabora.{{ PRIMARY_DOMAIN }}"
|
|
||||||
docker:
|
|
||||||
services:
|
|
||||||
redis:
|
|
||||||
enabled: true
|
|
||||||
database:
|
|
||||||
enabled: false # May this is wrong. Just set during refactoring
|
|
||||||
features:
|
|
||||||
logout: false # I think collabora is more a service then a app. So no login neccessary Propably it makes sense to rename it ;)
|
|
@ -1,28 +0,0 @@
|
|||||||
---
|
|
||||||
galaxy_info:
|
|
||||||
author: "Kevin Veen-Birkenbach"
|
|
||||||
description: "Deploy Collabora Online CODE in Docker with automated proxy, networking, and environment configuration."
|
|
||||||
license: "Infinito.Nexus NonCommercial License"
|
|
||||||
license_url: "https://s.infinito.nexus/license"
|
|
||||||
company: |
|
|
||||||
Kevin Veen-Birkenbach
|
|
||||||
Consulting & Coaching Solutions
|
|
||||||
https://www.veen.world
|
|
||||||
min_ansible_version: "2.9"
|
|
||||||
platforms:
|
|
||||||
- name: Linux
|
|
||||||
versions:
|
|
||||||
- all
|
|
||||||
galaxy_tags:
|
|
||||||
- collabora
|
|
||||||
- docker
|
|
||||||
- nginx
|
|
||||||
- office
|
|
||||||
- wopi
|
|
||||||
- code
|
|
||||||
repository: "https://s.infinito.nexus/code"
|
|
||||||
issue_tracker_url: "https://s.infinito.nexus/issues"
|
|
||||||
documentation: "https://s.infinito.nexus/code/web-app-collabora"
|
|
||||||
logo:
|
|
||||||
class: "fa-solid fa-file-code"
|
|
||||||
run_after: []
|
|
@ -1,17 +0,0 @@
|
|||||||
- name: create collabora proxy configuration file
|
|
||||||
template:
|
|
||||||
src: "nginx.conf.j2"
|
|
||||||
dest: "{{ NGINX.DIRECTORIES.HTTP.SERVERS }}{{ domains | get_domain(application_id) }}.conf"
|
|
||||||
notify: restart openresty
|
|
||||||
|
|
||||||
- name: "Include docker-compose role"
|
|
||||||
include_role:
|
|
||||||
name: docker-compose
|
|
||||||
|
|
||||||
- name: Create Docker network for Collabora
|
|
||||||
community.docker.docker_network:
|
|
||||||
name: svc-db-mariadb
|
|
||||||
state: present
|
|
||||||
ipam_config:
|
|
||||||
- subnet: "{{ networks.local[application_id].subnet }}"
|
|
||||||
|
|
@ -1,13 +0,0 @@
|
|||||||
{% include 'roles/docker-compose/templates/base.yml.j2' %}
|
|
||||||
|
|
||||||
collabora:
|
|
||||||
image: collabora/code
|
|
||||||
container_name: collabora
|
|
||||||
ports:
|
|
||||||
- "127.0.0.1:{{ports.localhost.http[application_id]}}:80"
|
|
||||||
|
|
||||||
{% include 'roles/docker-container/templates/base.yml.j2' %}
|
|
||||||
{% include 'roles/docker-container/templates/depends_on/dmbs_excl.yml.j2' %}
|
|
||||||
{% include 'roles/docker-container/templates/networks.yml.j2' %}
|
|
||||||
|
|
||||||
{% include 'roles/docker-compose/templates/networks.yml.j2' %}
|
|
@ -1,4 +0,0 @@
|
|||||||
domain=nxsrv
|
|
||||||
username=admin
|
|
||||||
password=${COLLABRA_PASSWORD}
|
|
||||||
extra_params=--o:ssl.enable=false --o:ssl.termination=true
|
|
@ -1,15 +0,0 @@
|
|||||||
server {
|
|
||||||
server_name {{ domain }};
|
|
||||||
|
|
||||||
{% include 'roles/srv-web-7-7-letsencrypt/templates/ssl_header.j2' %}
|
|
||||||
|
|
||||||
{% include 'roles/sys-srv-web-inj-compose/templates/server.conf.j2'%}
|
|
||||||
|
|
||||||
{% include 'roles/srv-proxy-7-4-core/templates/headers/content_security_policy.conf.j2' %}
|
|
||||||
|
|
||||||
{% include 'roles/srv-proxy-7-4-core/templates/location/html.conf.j2' %}
|
|
||||||
|
|
||||||
{% set location = '^~ /cool/' %}
|
|
||||||
|
|
||||||
{% include 'roles/srv-proxy-7-4-core/templates/location/html.conf.j2' %}
|
|
||||||
}
|
|
@ -1,2 +0,0 @@
|
|||||||
---
|
|
||||||
application_id: web-app-collabora
|
|
Loading…
x
Reference in New Issue
Block a user