Merge pull request #308 from opencloud-eu/docs-eurooffice

docs: add euro office
This commit is contained in:
Michael Barz
2026-06-18 17:02:39 +02:00
committed by GitHub

View File

@@ -12,6 +12,7 @@ OpenCloud Compose offers a modular approach to deploying OpenCloud with several
- **Standard deployment** with Traefik reverse proxy and Let's Encrypt certificates or certificates from files
- **External proxy** support for environments with existing reverse proxies (like Nginx, Caddy, etc.)
- **Collabora Online** integration for document editing
- **Euro Office** integration for document editing
- **Keycloak and LDAP** integration for centralized identity management
- **Full text search** with Apache Tika for content extraction and metadata analysis
- **Monitoring** with metrics endpoints for observability and performance monitoring
@@ -107,6 +108,9 @@ This setup includes:
### With Collabora Online
> [!NOTE]
> Collabora Online and [Euro Office](#with-euro-office) are mutually exclusive web office backends — both use the same `collaboration` (WOPI) service. Enable only one of them at a time.
Include Collabora for document editing using either method:
> **DNS Requirements**: This setup requires DNS entries for the main OpenCloud domain, Collabora subdomain, and WOPI server subdomain. Configure DNS A/AAAA records for your domains (e.g., `cloud.example.com`, `collabora.example.com`, `wopiserver.example.com`) or use a wildcard DNS entry (`*.example.com`).
@@ -127,6 +131,34 @@ COMPOSE_FILE=docker-compose.yml:weboffice/collabora.yml:traefik/opencloud.yml:tr
> 127.0.0.1 wopiserver.opencloud.test
> ```
### With Euro Office
> [!NOTE]
> Euro Office and [Collabora Online](#with-collabora-online) are mutually exclusive web office backends — both use the same `collaboration` (WOPI) service. Enable only one of them at a time.
Include Euro Office for document editing using either method:
> **DNS Requirements**: This setup requires DNS entries for the main OpenCloud domain, Euro Office subdomain, and WOPI server subdomain. Configure DNS A/AAAA records for your domains (e.g., `cloud.example.com`, `euro-office.example.com`, `wopiserver.example.com`) or use a wildcard DNS entry (`*.example.com`).
Using `-f` flags:
```bash
docker compose -f docker-compose.yml -f weboffice/euroffice.yml -f traefik/opencloud.yml -f traefik/euroffice.yml up -d
```
Or by setting in `.env`:
```
COMPOSE_FILE=docker-compose.yml:weboffice/euroffice.yml:traefik/opencloud.yml:traefik/euroffice.yml
```
> **For local development only**: Add to `/etc/hosts`:
> ```
> 127.0.0.1 euro-office.opencloud.test
> 127.0.0.1 wopiserver.opencloud.test
> ```
> [!IMPORTANT]
> Set a strong `EURO_OFFICE_JWT_SECRET` in your `.env` file for production. The default value (`changeme`) is intended for local development only.
### With Full Text Search
Enable full text search capabilities with Apache Tika using either method:
@@ -228,6 +260,25 @@ This exposes the necessary ports:
- Collabora: 9980
- WOPI server: 9300
To use Euro Office instead of Collabora behind an external proxy, swap the web office compose files:
```bash
docker compose -f docker-compose.yml -f weboffice/euroffice.yml -f external-proxy/opencloud.yml -f external-proxy/euroffice.yml up -d
```
Or by setting in `.env`:
```
COMPOSE_FILE=docker-compose.yml:weboffice/euroffice.yml:external-proxy/opencloud.yml:external-proxy/euroffice.yml
```
This exposes the necessary ports:
- OpenCloud: 9200
- Euro Office: 9900
- WOPI server: 9300
> [!WARNING]
> `external-proxy/euroffice.yml` binds the exposed ports to `127.0.0.1` only. If your external proxy runs on a different host, use `external-proxy/euroffice-exposed.yml`, which binds to all interfaces (`0.0.0.0`). Only expose these ports when you know what you are doing.
**Please note:**
If you're using **Nginx Proxy Manager (NPM)**, you **should NOT** activate **"Block Common Exploits"** for the Proxy Host.
Otherwise, the desktop app authentication will return **error 403 Forbidden**.
@@ -342,6 +393,10 @@ Key variables:
| `INSECURE` | Skip certificate validation | true |
| `COLLABORA_DOMAIN` | Collabora domain | collabora.opencloud.test |
| `WOPISERVER_DOMAIN` | WOPI server domain | wopiserver.opencloud.test |
| `EURO_OFFICE_DOMAIN` | Euro Office document server domain | euro-office.opencloud.test |
| `EURO_OFFICE_JWT_SECRET` | JWT secret for Euro Office (change for production!) | changeme |
| `EURO_OFFICE_DOCKER_IMAGE` | Euro Office Docker image | ghcr.io/euro-office/documentserver |
| `EURO_OFFICE_DOCKER_TAG` | Euro Office Docker tag | latest |
| `TIKA_IMAGE` | Apache Tika image tag | apache/tika:slim |
| `KEYCLOAK_DOMAIN` | Keycloak domain | keycloak.opencloud.test |
| `KEYCLOAK_ADMIN` | Keycloak admin username | kcadmin |