Euro-Office

Euro-Office

apps.detail.official

apps.detail.types.app from junkerderprovinz's Repository

apps.detail.sections.overview

Euro Office Document Server - a sovereign, European document server for browser-based editing of text documents, spreadsheets and presentations. It is a maintained fork of the OnlyOffice Document Server, so it speaks the same WOPI and OnlyOffice APIs and plugs straight into OpenCloud (and Nextcloud/ownCloud). Use it to edit .docx / .xlsx / .pptx and .odt / .ods / .odp files right in your browser, without any desktop office suite. This is NOT a standalone app - it is the EDITOR back-end for a file server. You point your cloud (e.g. the OpenCloud container) at this document server and edit files stored in that cloud. On its own it only serves an internal welcome page. How it fits together (with OpenCloud): • Install this container. Set a JWT secret below and remember it. • In the OpenCloud template set "Web office suite" = euro-office, "Office document server URL" = http://[THIS-SERVER-IP]:9900 (the port you map below), and "Office WOPI secret" = the SAME value as the JWT secret here. The two secrets MUST match. • Open a document in OpenCloud - it now opens in Euro Office. OpenCloud uses Euro Office for Microsoft formats by default and Collabora for ODF, but Euro Office edits both. First start: • The document server bundles its own database and converter and takes a minute or two to come up on the very first start. Wait until http://[IP]:9900/hosting/discovery returns XML before opening a document from your cloud. Security / reverse proxy: • Keep "JWT enabled" = true (the default). The JWT secret signs every request between your cloud and the editor - never leave it blank. • The container serves plain HTTP on the mapped port. For access over the internet put it behind a reverse proxy that terminates TLS (e.g. https://office.example.com) and use that https URL in OpenCloud. • If your cloud uses a self-signed certificate, set "Allow self-signed upstream" = true so the editor can fetch documents from it. About Euro Office: • Euro Office is an open, sovereignty-focused document server developed in Europe as an OnlyOffice-compatible fork. Because it is API-compatible, any guide for "OnlyOffice Document Server + OpenCloud/Nextcloud" applies here as well. Project: https://github.com/euro-office/documentserver This is an independent, community-maintained Unraid packaging and is not affiliated with the Euro Office project.

License

Euro-Office

Your sovereign office

Learn more.

Get involved

Get involved! You can file issues, propose pull requests and more. We are looking forward to make the digital sovereign office space better than ever before!

Try out

We currently provide a docker image for testing and integration purposes. We are going to publish deb/rpm packages shortly.

docker pull ghcr.io/euro-office/documentserver:latest
docker run -i -t -d -p 8080:80 --restart=always -e EXAMPLE_ENABLED=true -e JWT_SECRET=my_long_jwt_secret_at_least_32_chars ghcr.io/euro-office/documentserver:latest

Building

Our build steps and processes are documented in https://github.com/Euro-Office/DocumentServer/tree/main/build. For development there are more detailed steps to build and run individual components in https://github.com/Euro-Office/DocumentServer/tree/main/develop

apps.marketingCta.appInstallTitle

apps.marketingCta.appInstallDescription

apps.installHelp.stepOpen apps.installHelp.stepSearchApp apps.installHelp.stepReview apps.installHelp.stepInstall

apps.detail.sections.categories

apps.detail.sections.related

apps.detail.related.exploreCategories

apps.detail.related.exploreAll

apps.detail.sections.details

apps.detail.details.repository
ghcr.io/euro-office/documentserver:latest
apps.detail.details.lastUpdated2026-08-11
apps.detail.details.firstSeen2026-08-05

apps.detail.sections.runtime

apps.detail.details.webui
http://[IP]:[PORT:80]/
apps.detail.details.network
bridge
apps.detail.details.shell
sh
apps.detail.details.privileged
false
apps.detail.details.extraParams
--restart=unless-stopped

apps.detail.sections.configuration

WebUI PortPorttcp

HTTP port the document server listens on. This is the address your cloud (OpenCloud) talks to and the URL that must return XML at /hosting/discovery. Behind a reverse proxy, point the proxy at this port.

apps.detail.config.target
80
apps.detail.config.default
9900
apps.detail.config.value
9900
JWT secretVariable

Shared secret that signs every request between your cloud and this editor. REQUIRED. Pick a long random string. It MUST be identical to the 'Office WOPI secret' you set in the OpenCloud template. Keep it secret.

apps.detail.config.target
JWT_SECRET
Enable WOPIVariable

Turns on the WOPI protocol that OpenCloud uses to open and save documents. Keep 'true' - with 'false' OpenCloud cannot use this editor.

apps.detail.config.target
WOPI_ENABLED
apps.detail.config.default
true|false
apps.detail.config.value
true
Enable JWTVariable

Require the signed JWT on every request. Keep 'true' for security. Only set 'false' for isolated testing on a trusted LAN.

apps.detail.config.target
JWT_ENABLED
apps.detail.config.default
true|false
apps.detail.config.value
true
Allow self-signed upstreamVariable

Set 'true' when your cloud (OpenCloud) serves a self-signed certificate, so the editor can fetch and save documents from it. Leave 'false' when the cloud has a valid certificate or you talk to it over plain http.

apps.detail.config.target
USE_UNAUTHORIZED_STORAGE
apps.detail.config.default
false|true
apps.detail.config.value
false
DataPathrw

Optional. Persistent document-server data (keys, fonts cache, forgotten files). Recommended for a permanent install; can be omitted for a purely stateless WOPI backend.

apps.detail.config.target
/var/www/onlyoffice/Data
apps.detail.config.default
/mnt/user/appdata/euro-office/data
apps.detail.config.value
/mnt/user/appdata/euro-office/data
LogsPathrw

Optional. Document-server logs, handy for troubleshooting.

apps.detail.config.target
/var/log/onlyoffice
apps.detail.config.default
/mnt/user/appdata/euro-office/logs
apps.detail.config.value
/mnt/user/appdata/euro-office/logs
DatabasePathrw

Optional. The bundled PostgreSQL data directory. Mount it to keep the internal database across restarts; without it the DB is re-initialised on every boot (slower start, no data loss for WOPI use).

apps.detail.config.target
/var/lib/postgresql
apps.detail.config.default
/mnt/user/appdata/euro-office/db
apps.detail.config.value
/mnt/user/appdata/euro-office/db