-
Notifications
You must be signed in to change notification settings - Fork 31
Fix/eurooffice community docs #997
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
Svanvith
wants to merge
6
commits into
main
Choose a base branch
from
fix/eurooffice-community-docs
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+139
−4
Open
Changes from all commits
Commits
Show all changes
6 commits
Select commit
Hold shift + click to select a range
26357d8
docs: add documentation for running OpenCloud behind an external Ngin…
zerox80 aaf6d46
docs: add guide for running OpenCloud behind an external Nginx proxy …
zerox80 7de1d5d
docs: update Euro Office domain references and Nginx configuration fo…
zerox80 3933616
docs: separate HTTP/3 into own PR
zerox80 6135c8a
Add Euro Office as community documentation based on xerox80 PR
Svanvith dfe8613
change the kudos positon
Svanvith File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,134 @@ | ||
| --- | ||
| sidebar_position: 95 | ||
| id: euro-office | ||
| title: Euro Office | ||
| description: Community supported Euro Office setup for OpenCloud. | ||
| draft: false | ||
| --- | ||
|
|
||
| # Euro Office | ||
|
|
||
| :::note Community Documentation | ||
| This guide is provided as community documentation. | ||
|
|
||
| EuroOffice is not officially supported by OpenCloud. The configuration shown here is maintained as a community contribution and is not covered by official OpenCloud support. | ||
|
|
||
| Use this guide as a reference for community-based setups. For officially supported office integrations, use the officially documented OpenCloud options. | ||
| ::: | ||
|
|
||
| [Euro Office](https://github.com/EURO-office/DocumentServer) is a sovereign document editing suite based on ONLYOFFICE that integrates with OpenCloud. | ||
|
|
||
| :::warning | ||
| The Euro Office project is currently in its early stages and may have stability issues. | ||
| ::: | ||
|
|
||
| Thanks to [zerox80](https://github.com/zerox80) for the initial Euro Office documentation. | ||
|
|
||
| ## Docker Compose Setup | ||
|
|
||
| Euro Office is available as a compose module in the [opencloud-compose](https://github.com/opencloud-eu/opencloud-compose) project. | ||
|
|
||
| ### With Traefik (built-in reverse proxy) | ||
|
|
||
| Set the following in your `.env` file: | ||
|
|
||
| ```env | ||
| COMPOSE_FILE=docker-compose.yml:weboffice/euroffice.yml:traefik/opencloud.yml:traefik/euroffice.yml | ||
|
|
||
| EURO_OFFICE_DOMAIN=euro-office.YOUR.DOMAIN | ||
| EURO_OFFICE_JWT_SECRET=YOUR.SECRET | ||
| ``` | ||
|
|
||
| ### With an external proxy (Nginx, Caddy, etc.) | ||
|
|
||
| Set the following in your `.env` file: | ||
|
|
||
| ```env | ||
| COMPOSE_FILE=docker-compose.yml:weboffice/euroffice.yml:external-proxy/opencloud.yml:external-proxy/euroffice.yml | ||
|
|
||
| EURO_OFFICE_DOMAIN=euro-office.YOUR.DOMAIN | ||
| EURO_OFFICE_JWT_SECRET=YOUR.SECRET | ||
| ``` | ||
|
|
||
| ## Nginx Configuration for External Proxy | ||
|
|
||
| When running Euro Office behind an external Nginx reverse proxy, add the following server blocks to your Nginx configuration. | ||
|
|
||
| For the general OpenCloud external proxy setup, see [Behind External Proxy](../getting-started/container/docker-compose/external-proxy). | ||
|
|
||
| ### SSL Certificates | ||
|
|
||
| Make sure your SSL certificates also cover the Euro Office domain. Add it to your `certbot` command: | ||
|
|
||
| ```bash | ||
| sudo certbot certonly --webroot \ | ||
| -w /var/www/certbot \ | ||
| -d euro-office.YOUR.DOMAIN \ | ||
| --email your@email.com \ | ||
| --agree-tos \ | ||
| --no-eff-email | ||
| ``` | ||
|
|
||
| ### Euro Office Nginx Server Blocks | ||
|
|
||
| Add this server block to your Nginx configuration alongside the OpenCloud and Collabora blocks: | ||
|
|
||
| ```nginx | ||
| # Euro Office Document Server | ||
| server { | ||
| listen 443 ssl http2; | ||
| server_name euro-office.YOUR.DOMAIN; | ||
|
|
||
| ssl_certificate /etc/letsencrypt/live/cloud.YOUR.DOMAIN/fullchain.pem; | ||
| ssl_certificate_key /etc/letsencrypt/live/cloud.YOUR.DOMAIN/privkey.pem; | ||
| add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always; | ||
| client_max_body_size 100M; | ||
|
|
||
| location / { | ||
| proxy_pass http://127.0.0.1:9900; | ||
| proxy_set_header Host $host; | ||
| proxy_set_header X-Real-IP $remote_addr; | ||
| proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | ||
| proxy_set_header X-Forwarded-Proto https; | ||
| } | ||
|
|
||
| location ~ ^/(web-apps/apps/.*/(main|mobile|embed)/.*\.json|doc/.*/(c|s)/.*) { | ||
| proxy_pass http://127.0.0.1:9900; | ||
| proxy_set_header Upgrade $http_upgrade; | ||
| proxy_set_header Connection "Upgrade"; | ||
| proxy_set_header Host $host; | ||
| proxy_set_header X-Forwarded-Proto https; | ||
| } | ||
| } | ||
| ``` | ||
|
|
||
| Make sure to also add `euro-office.YOUR.DOMAIN` to the `server_name` directive of your HTTP-to-HTTPS redirect block. | ||
|
|
||
| ## Environment Variables | ||
|
|
||
| | Variable | Default | Description | | ||
| | -------------------------- | ------------------------------------ | ------------------------------------------------------- | | ||
| | `EURO_OFFICE_DOMAIN` | `euro-office.opencloud.test` | Domain of the Euro Office document server | | ||
| | `EURO_OFFICE_JWT_SECRET` | `changeme` | JWT secret for Euro Office. Change this for production. | | ||
| | `EURO_OFFICE_DOCKER_IMAGE` | `ghcr.io/euro-office/documentserver` | Docker image for the document server | | ||
| | `EURO_OFFICE_DOCKER_TAG` | `latest` | Docker image tag | | ||
|
|
||
| ## Exposed Ports (External Proxy) | ||
|
|
||
| When using an external reverse proxy, the following port is exposed on the host: | ||
|
|
||
| | Service | Host Port | Description | | ||
| | --------------------------- | --------- | ------------------------------ | | ||
| | Euro Office Document Server | `9900` | The document editing interface | | ||
|
|
||
| ## DNS Entries | ||
|
|
||
| When deploying with custom domains, make sure a DNS record points to your server for: | ||
|
|
||
| - `euro-office.YOUR.DOMAIN` | ||
|
|
||
| For local testing with `.test` domains, add to `/etc/hosts`: | ||
|
|
||
| ```text | ||
| 127.0.0.1 euro-office.opencloud.test | ||
| ``` | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.