Euro-Office false ghcr.io/junkerderprovinz/euro-office:latest https://github.com/junkerderprovinz/euro-office/pkgs/container/euro-office bridge sh false https://github.com/junkerderprovinz/euro-office/blob/main/README.md https://forums.unraid.net/topic/200022-support-junkerderprovinz-opencloud/ https://github.com/euro-office/documentserver 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 a thin wrapper (github.com/junkerderprovinz/euro-office) around the official image that fixes a real upstream bug: the vendor's own build skips handing ownership of the Data folder to the user its services actually run as, so on a fresh bind-mounted volume - exactly what Unraid creates - the admin panel and parts of document handling fail with a permission error. This wrapper heals that automatically; nothing else about the upstream image is changed. 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. • If you reach OpenCloud over https, that http:// editor URL will NOT work - the browser blocks it as mixed content. Configure the TLS fields under Advanced View and use https://[THIS-SERVER-IP]:9943 instead. See "HTTPS / mixed content" below. • 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. • Leave the "Database" and "Logs" fields under Advanced View BLANK. Neither is required, and mounting a fresh empty folder over either one hides a directory the image ships pre-built, which stops the container from starting (see Troubleshooting below). 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. • By default the container serves plain HTTP on the mapped port. There are two ways to get TLS. Either put it behind a reverse proxy that terminates TLS (e.g. https://office.example.com) and use that https URL in OpenCloud, or let the document server terminate TLS itself with the "TLS certificate" and "TLS private key" fields under Advanced View - no proxy needed, which is the simpler route on a LAN. • Whichever route you pick: if your cloud is on https, the editor MUST be on https too. See "HTTPS / mixed content" below for the full four-step setup. • If your cloud uses a self-signed certificate, set "Allow self-signed upstream" = true so the editor can fetch documents from it. Troubleshooting - container loops "PostgreSQL ... is not accessible or does not exist": • Your "Database" field under Advanced View has a path in it. Open the container's Edit page, switch on Advanced View, clear the "Database" field completely, then Apply. The bundled, already-initialised database takes over and the container starts normally within a minute. Troubleshooting - container loops "Starting nginx nginx ...fail!": • Your "Logs" field under Advanced View has a path in it. The image keeps its log tree at /var/log/euro-office/documentserver, so mounting an empty folder over /var/log/euro-office hides it, nginx cannot open its error log there, and the entrypoint aborts before the editor comes up. Open the container's Edit page, switch on Advanced View, clear the "Logs" field completely, then Apply. • The logs are not lost by clearing the field - the Unraid log button on the container still shows everything the server prints. HTTPS / mixed content - documents never open, the editor area stays blank, or the browser says "this content is blocked, contact the site owner": • This is a browser security rule, NOT a bug in either app. If OpenCloud is served over https and Euro Office over plain http, the browser refuses to load the http editor inside the https page. It never sends the request, so NEITHER service logs anything - the OpenCloud log and the Euro Office log both look perfectly healthy. Only the browser's developer console shows it, as a "Mixed Content" line. • The fix is to let Euro Office serve HTTPS itself. Switch on Advanced View on this container's Edit page and do all four steps - step 3 is the one people miss. • 1. Put a certificate and its private key into the Certificates folder (default /mnt/user/appdata/euro-office/certs). A self-signed pair is fine on a LAN; on the Unraid console run: openssl req -x509 -newkey rsa:2048 -nodes -keyout /mnt/user/appdata/euro-office/certs/key.pem -out /mnt/user/appdata/euro-office/certs/cert.pem -days 3650 -subj "/CN=YOUR-SERVER-IP". The key MUST stay unencrypted, which is exactly what -nodes does - passphrase-protected keys are not supported. Unraid's own combined *_unraid_bundle.pem works too: copy it in and point BOTH fields at that one file. • 2. Set "TLS certificate" = /certs/cert.pem and "TLS private key" = /certs/key.pem. Both must be filled in and both files must really exist, or TLS is skipped SILENTLY and the server stays on plain http with no warning anywhere. • 3. Map the "HTTPS Port" (default 9943). This is NOT optional. Once a certificate is configured the editor listens on container port 443, and the plain HTTP port stops serving the editor - it becomes a redirect that drops the port number, so http://[IP]:9900 bounces you to https://[IP], which on Unraid is the Unraid WebUI, not Euro Office. • 4. In OpenCloud set "Office document server URL" = https://[THIS-SERVER-IP]:9943. With a self-signed certificate, open https://[IP]:9943/hosting/discovery once in the same browser and accept the certificate, otherwise the browser blocks the editor again - this time for an untrusted certificate rather than for mixed content. • Check it worked: the container log MUST contain the line "SSL enabled with cert=". If that line is missing, TLS did not come up and the server is still on plain http - one of the two paths is wrong or points at a file that does not exist INSIDE the container (the path you enter is the /certs/... path, not the /mnt/user/... path). • The WebUI button on this container stays on http://[IP]:9900. That is correct for the default HTTP install and cannot switch itself. After enabling TLS, edit the WebUI field on the container's Edit page to https://[IP]:[PORT:443]/ if you want the button to work. 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. Productivity: Cloud: http://[IP]:[PORT:80]/ https://raw.githubusercontent.com/junkerderprovinz/unraid-apps/main/euro-office/euro-office.xml https://raw.githubusercontent.com/junkerderprovinz/unraid-apps/main/euro-office/icon.png?v=3 --restart=unless-stopped 9900 true true false /mnt/user/appdata/euro-office/data 9943 /mnt/user/appdata/euro-office/certs true