Office
- Office
- Nextcloud Office
- Installation
- Installing on Ubuntu 24.04 LTS
- Installing on Debian 12
- Installing via Docker
- Configuration
- Collabora Online
- Installation
- Installation example on Ubuntu 24.04
- Installation example with Docker
- Reverse proxy
- Configuration
- Migration from Collabora Online
- Troubleshooting
Office
Nextcloud supports two office solutions for collaborative document editing:
Nextcloud Office (powered by Euro-Office)
The default office solution built into Nextcloud. Enables real-time collaborative editing of text documents, spreadsheets, and presentations with high-fidelity rendering. Requires a Euro-Office Document Server.
Collabora Online
A fully supported alternative based on the Collabora Online Development Edition (CODE). Available as a self-hosted server or as a built-in app. Enterprise users can use the more stable Collabora Online Enterprise through a Nextcloud support subscription.
Both solutions support dozens of document formats including DOC, DOCX, PPT, PPTX, XLS, XLSX, ODF and many more.
Nextcloud Office
Nextcloud Office is Nextcloud's built-in office solution, powered by Euro-Office Document Server. It enables real-time collaborative editing of text documents, spreadsheets, and presentations directly in the browser, with high-fidelity rendering that preserves the layout and formatting of your files.
Nextcloud Office supports a wide range of formats including DOCX, XLSX, PPTX, ODT, ODS, ODP and many more.
提示
A dedicated Document Server is required for production use. Install the server first, then connect Nextcloud to it using the Euro-Office connector app.
Installation
Nextcloud Office requires a running Euro-Office Document Server that Nextcloud can reach over the network. Choose the installation method that fits your infrastructure:
| Distribution | Architectures | Method |
|---|---|---|
| Ubuntu 24.04 LTS (Noble) | amd64, arm64 | Installing on Ubuntu 24.04 LTS |
| Debian 12 (Bookworm) | amd64, arm64 | Installing on Debian 12 |
| Any Linux host | amd64, arm64 | Installing via Docker |
Minimum system requirements:
- 4 GB RAM (8 GB recommended for multi-user deployments)
- 10 GB disk space
- The Document Server and Nextcloud must be able to reach each other over HTTPS in production
提示
The Document Server does not need to run on the same host as Nextcloud. A reverse proxy (nginx or Apache) in front of the Document Server is required for production deployments to expose it over HTTPS.
Installing on Ubuntu 24.04 LTS
This guide covers installing Euro-Office Document Server on Ubuntu 24.04 LTS (Noble) from a GitHub release package.
System requirements
- Ubuntu 24.04 LTS (amd64 or arm64)
- 4 GB RAM minimum
- 10 GB disk space minimum
Step 1 — Install prerequisites
Euro-Office requires PostgreSQL, Redis, RabbitMQ, Nginx, and Supervisor. Install them before the package:
sudo apt-get update
sudo apt-get install -y postgresql redis-server rabbitmq-server nginx supervisor
Step 2 — Create the database
The post-install script connects to PostgreSQL during installation. Create the user and database first:
sudo -u postgres psql -c "CREATE USER ds WITH PASSWORD 'ds';"
sudo -u postgres psql -c "CREATE DATABASE ds OWNER ds;"
Step 3 — Pre-seed the installer answers
The package installer configures itself non-interactively using debconf. Pre-seed the database connection details so the post-install script can proceed without a prompt:
echo "ds ds/db-type select postgres
ds ds/db-host string localhost
ds ds/db-port string 5432
ds ds/db-user string ds
ds ds/db-pwd password ds
ds ds/db-name string ds" | sudo debconf-set-selections
Step 4 — Download the package
Download the latest release from GitHub Releases:
# Replace <version> and <arch> with your values, e.g. 9.3.1 and amd64 or arm64
wget "https://github.com/Euro-Office/DocumentServer/releases/download/v<version>/euro-office-documentserver_<version>_<arch>.deb" \
-O /tmp/euro-office-documentserver.deb
Step 5 — Install the package
sudo apt-get install -y /tmp/euro-office-documentserver.deb
The installer generates fonts, WOPI keys, and JS caches. This takes a minute or two. A successful install ends with:
Congratulations, the Euro-Office DocumentServer has been installed successfully!
Step 6 — Verify
Check that all services are running:
systemctl is-active ds-docservice ds-converter ds-metrics nginx
Expected output:
active
active
active
active
Run the health check:
curl http://localhost/healthcheck
Expected output: true
Updating
Download the new release package and reinstall:
wget "https://github.com/Euro-Office/DocumentServer/releases/download/v<new-version>/euro-office-documentserver_<new-version>_<arch>.deb" \
-O /tmp/euro-office-documentserver.deb
sudo apt-get install -y /tmp/euro-office-documentserver.deb
Uninstalling
sudo apt-get remove --purge euro-office-documentserver
sudo -u postgres psql -c "DROP DATABASE ds;"
sudo -u postgres psql -c "DROP USER ds;"
Installing on Debian 12
This guide covers installing Euro-Office Document Server on Debian 12 (Bookworm) from a GitHub release package.
System requirements
- Debian 12 (Bookworm) — amd64 or arm64
- 4 GB RAM minimum
- 10 GB disk space minimum
Step 1 — Enable the contrib component
The ttf-mscorefonts-installer package required by Euro-Office lives in Debian's contrib component, which is not enabled by default. Edit /etc/apt/sources.list and add contrib to each line:
deb http://deb.debian.org/debian bookworm main contrib
deb http://deb.debian.org/debian bookworm-updates main contrib
deb http://deb.debian.org/debian-security/ bookworm-security main contrib
Then update the package index:
sudo apt-get update
Step 2 — Install prerequisites
All prerequisites are available in the default Debian 12 repositories — no extra package sources are required:
sudo apt-get install -y postgresql redis-server rabbitmq-server nginx supervisor
Step 3 — Create the database
The post-install script connects to PostgreSQL during installation. Create the user and database first:
sudo -u postgres psql -c "CREATE USER ds WITH PASSWORD 'ds';"
sudo -u postgres psql -c "CREATE DATABASE ds OWNER ds;"
Step 4 — Pre-seed the installer answers
echo "ds ds/db-type select postgres
ds ds/db-host string localhost
ds ds/db-port string 5432
ds ds/db-user string ds
ds ds/db-pwd password ds
ds ds/db-name string ds" | sudo debconf-set-selections
Step 5 — Download the package
Download the latest release from GitHub Releases:
# Replace <version> and <arch> with your values, e.g. 9.3.1 and amd64 or arm64
wget "https://github.com/Euro-Office/DocumentServer/releases/download/v<version>/euro-office-documentserver_<version>_<arch>.deb" \
-O /tmp/euro-office-documentserver.deb
Step 6 — Install the package
sudo apt-get install -y /tmp/euro-office-documentserver.deb
The installer generates fonts, WOPI keys, and JS caches. This takes a minute or two. A successful install ends with:
Congratulations, the Euro-Office DocumentServer has been installed successfully!
Step 7 — Verify
Check that all services are running:
systemctl is-active ds-docservice ds-converter ds-metrics nginx
Expected output:
active
active
active
active
Run the health check:
curl http://localhost/healthcheck
Expected output: true
Updating
Download the new release package and reinstall:
wget "https://github.com/Euro-Office/DocumentServer/releases/download/v<new-version>/euro-office-documentserver_<new-version>_<arch>.deb" \
-O /tmp/euro-office-documentserver.deb
sudo apt-get install -y /tmp/euro-office-documentserver.deb
Uninstalling
sudo apt-get remove --purge euro-office-documentserver
sudo -u postgres psql -c "DROP DATABASE ds;"
sudo -u postgres psql -c "DROP USER ds;"
Installing via Docker
The quickest way to run Euro-Office Document Server is via the official Docker image.
Prerequisites
- Docker Engine 20.10 or later
- 4 GB RAM minimum
- 5 GB disk space for the image
Quick start
docker run -d \
--name euro-office \
--restart=unless-stopped \
-p 80:80 \
-e JWT_ENABLED=true \
-e JWT_SECRET=your-secret \
ghcr.io/euro-office/documentserver:latest
注意
Replace
your-secretwith a strong random string. The JWT secret is shared between the Document Server and the Nextcloud connector app — both must use the same value.
The server is ready when the health check returns true:
curl http://localhost/healthcheck
Image tags
| Tag | Use |
|---|---|
latest |
Most recent release — use in production |
nightly |
Nightly builds from main — not for production |
latest-dev |
Development image with build tools included |
Pin to a specific version in production:
ghcr.io/euro-office/documentserver:9.3.1
Persistent data
By default, documents and configuration are lost when the container is removed. Mount volumes to persist them:
docker run -d \
--name euro-office \
--restart=unless-stopped \
-p 80:80 \
-e JWT_ENABLED=true \
-e JWT_SECRET=your-secret \
-v /path/to/data:/var/lib/euro-office/documentserver \
-v /path/to/logs:/var/log/euro-office/documentserver \
-v /path/to/config:/etc/euro-office/documentserver \
ghcr.io/euro-office/documentserver:latest
Environment variables
| Variable | Default | Description |
|---|---|---|
JWT_ENABLED |
true |
Enable JWT authentication |
JWT_SECRET |
— | Shared secret — set this in production |
JWT_HEADER |
Authorization |
HTTP header carrying the JWT |
WOPI_ENABLED |
false |
Enable WOPI protocol support |
ALLOW_PRIVATE_IP_ADDRESS |
false |
Allow the Document Server to fetch files from private IP ranges |
NGINX_WORKER_PROCESSES |
1 |
Number of nginx worker processes |
GENERATE_FONTS |
true |
Regenerate font cache on startup |
DB_HOST |
localhost |
PostgreSQL host (for external database) |
DB_NAME |
eurooffice |
PostgreSQL database name |
DB_USER |
eurooffice |
PostgreSQL user |
REDIS_SERVER_HOST |
localhost |
Redis host (for external Redis) |
AMQP_HOST |
localhost |
RabbitMQ host (for external RabbitMQ) |
Updating
docker pull ghcr.io/euro-office/documentserver:latest
docker stop euro-office && docker rm euro-office
# re-run with the same docker run command used during installation
Uninstalling
docker stop euro-office
docker rm euro-office
docker rmi ghcr.io/euro-office/documentserver:latest
Configuration
After installing the Euro-Office Document Server, install the Nextcloud connector app and connect it to the server.
Installing the connector app
Install the Euro-Office app from the Nextcloud App Store:
- Open Settings → Apps in your Nextcloud admin interface.
- Search for Euro-Office.
- Click Download and enable.
Alternatively, install the app using the occ command:
sudo -E -u www-data php occ app:install eurooffice
Server settings
Open Settings → Administration → Euro-Office to configure the connection.
Nextcloud Office address
The URL of the Euro-Office Document Server, accessible from both the Nextcloud server and end-user browsers:
https://<documentserver>/
Disable certificate verification (insecure)
Disables TLS certificate checks. Only enable this in test environments.
Secret key (leave blank to disable)
The JWT shared secret. Must match the value configured on the Document Server:
- deb/rpm install:
/etc/euro-office/documentserver/local.json→services.CoAuthoring.secret.browser.string - Docker install: the
JWT_SECRETenvironment variable
Click Save to apply. A green status indicator confirms a successful connection.
Advanced server settings
Expand Advanced server settings when the public Document Server URL is not directly reachable from your Nextcloud host (for example, behind a NAT or split-horizon DNS):
Nextcloud Office address for internal requests from the server
The URL Nextcloud uses to contact the Document Server directly (server-to-server). Must be reachable from the Nextcloud host.
Server address for internal requests from Nextcloud Office
The URL the Document Server uses to send callbacks back to Nextcloud. Must be reachable from the Document Server host.
提示
Docker Compose example
When Nextcloud and Euro-Office run as services in the same Docker Compose network, containers can reach each other by service name. Given a
compose.ymlwith services namednextcloudandeurooffice:
- Nextcloud Office address (public):
https://office.example.com/- Nextcloud Office address for internal requests from the server:
http://eurooffice/- Server address for internal requests from Nextcloud Office:
http://nextcloud/The public address is used by end-user browsers. The internal addresses bypass the public reverse proxy and let the two containers communicate directly over the shared Docker network.
Common settings
These settings become available after a successful server connection.
| Setting | Description |
|---|---|
| Allow the following groups to access the editors | Restricts editor access to specified Nextcloud groups. |
| Use Nextcloud Office to generate a document preview | Generates thumbnail previews for Office files. Takes up additional disk space. |
| Open file in the same tab | Opens documents inside Nextcloud instead of a new browser tab. |
| Enable sharing | Allows users to share files from within the editor. May increase editor load time. |
| Provide advanced document permissions | Enables per-user fine-grained permissions (review-only, comment-only, etc.) on shared files via the sharing dialog. |
| Keep metadata for each version once the document is edited | Stores version metadata each time a document is saved. Takes up additional disk space. |
| Enable background connection check to the editors | Runs a periodic cron job to verify the Document Server is reachable. |
| Enable e-mail notifications | Sends e-mail notifications on comments and edits. |
| Unknown author display name | Display name shown for edits made by users not known to Nextcloud. |
Default application for opening the format
Checkboxes for each supported file format. When enabled for a format, Nextcloud Office becomes the default handler when that file type is clicked.
Open the file for editing
Checkboxes for formats that can be edited natively. Enabling a format allows users to edit it directly. Note that saving back to some formats may result in data loss due to format restrictions.
Editor customization settings
| Setting | Description |
|---|---|
| Keep intermediate versions when editing (forcesave) | Saves an intermediate version each time a user explicitly saves, in addition to the final version saved when the editor closes. |
| Enable live-viewing mode when accessing file by public link | Shows live updates to external viewers accessing a file via a public link. |
| Display Chat menu button | Shows or hides the in-editor chat panel. |
| Display the header more compact | Displays a more compact toolbar header. |
| Display Feedback & Support menu button | Shows or hides the Feedback & Support entry in the editor menu. |
| Display Help menu button | Shows or hides the Help entry in the editor menu. |
REVIEW mode for viewing
Default mode for displaying tracked changes: Markup, Final, or Original.
Default editor theme
Color theme for the editor interface: Same as system, Light, or Dark.
Common templates
Administrators can upload shared document templates that are available to all users when creating new files. Templates are managed in the Common templates section of the admin settings page.
Security
Enable plugins
Allows third-party plugins to run inside the editor.
Run document macros
Allows macros embedded in documents to execute.
Enable document protection for
Controls who can protect or unprotect documents:
- All users — any editor can protect or unprotect the document.
- Owner only — only the file owner can change protection.
Watermarks
Watermarks are overlaid on documents when they are opened by specified users or via shares. Enable Enable watermarking to configure the watermark.
Watermark text — the text overlaid on the document. Supported placeholders:
{userId}— Nextcloud user ID{userDisplayName}— user's display name{email}— user's e-mail address{date}— current date{themingName}— Nextcloud instance name from theming settings
Watermark visibility can be configured per audience:
| Option | When the watermark is shown |
|---|---|
| Show watermark on tagged files | Files with specific system tags (requires the System Tags app). |
| Show watermark for users of groups | Users belonging to selected groups. |
| Show watermark for all shares | Any user who accesses the file via a share. |
| Show watermark for read only shares | Users with read-only share access. |
| Show watermark for all link shares | Anyone accessing the file via a public link. |
| Show watermark for download hidden shares | Public links where file download is disabled. |
| Show watermark for read only link shares | Public links with read-only access. |
| Show watermark on link shares with specific system tags | Public links on files with specific system tags. |
occ commands
Settings can also be managed via occ:
# Read a setting
sudo -E -u www-data php occ config:app:get eurooffice DocumentServerUrl
# Write a setting
sudo -E -u www-data php occ config:app:set eurooffice DocumentServerUrl --value="https://office.example.com/"
The eurooffice:documentserver command shows the configured server URL and optionally tests the connection:
# Print the currently configured Document Server URL
sudo -E -u www-data php occ eurooffice:documentserver
# Check the connection to the Document Server
sudo -E -u www-data php occ eurooffice:documentserver --check
config.php
Settings can also be set directly in config/config.php under the eurooffice key:
"eurooffice" => [
"DocumentServerUrl" => "https://office.example.com/",
"jwt_secret" => "your-secret",
"verify_peer_off" => "true",
],
提示
verify_peer_offis read as a string — use"true"to disable certificate verification, not a PHP boolean.
Settings defined in config.php are used as fallback when no value is set via the admin UI or occ. The UI takes precedence.
Collabora Online
Nextcloud supports Collabora Online as a fully supported office solution. Collabora Online is available as a self-hosted server and as a built-in CODE (Collabora Online Development Edition) server app.
Installation
Nextcloud Office is built on Collabora Online which requires a dedicated service running next to the Nextcloud webserver stack. There are several ways to run the coolwsd service.
- Nextcloud All In One: Nextcloud Office comes preinstalled out of the box in the Nextcloud All In One setup and provides easy deployment and maintenance with most features included in this one Nextcloud instance.
For manual installations there are multiple options to get Nextcloud Office deployed:
-
Installation through distribution packages
There are packages for all major Linux distributions available which allow deploying a Collabora Online server through installing it through the regular package management. For an example installation guide on Ubuntu, see: Installation example on Ubuntu 24.04另见
https://www.collaboraoffice.com/code/linux-packages/ https://sdk.collaboraonline.com/docs/installation/index.html
-
Installation through Docker
Docker images are available for deploying the Collabora Online server in container environments. For a detailed step by step guide, see: Installation example with Docker另见
https://sdk.collaboraonline.com/docs/installation/CODE_Docker_image.html
-
Built-in CODE server
This app provides a built-in server with all of the document editing features of Collabora Online. Easy to install, for personal use or for small teams. A bit slower than a standalone server and without the advanced scalability features. Installation can be performed by enabling the according Nextcloud app. Further details can be found in the app documentation.提示
This is the default option which works out of the box in most scenarios, however for improved performance it is highly recommended to switch to a dedicated Collabora Online installation using one of the other options.
提示
In most scenarios running a dedicated Collabora Online server will require some sort of reverse proxy to be setup in front of it. For more details see Reverse proxy.
Installation example on Ubuntu 24.04
Import signing keys:
cd /usr/share/keyrings && sudo wget https://collaboraoffice.com/downloads/gpg/collaboraonline-release-keyring.gpg
Add repository:
sudo echo -e "Types: deb\nURIs: https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-deb\nSuites: ./\nSigned-By: /usr/share/keyrings/collaboraonline-release-keyring.gpg" > /etc/apt/sources.list.d/collaboraonline.sources
Install packages
sudo apt update && sudo apt install coolwsd code-brand
Configuration
Edit /etc/coolwsd/coolwsd.xml. Collabora Online (coolwsd) service runs via systemd. After editing the configuration file, you have to restart the service:
sudo systemctl restart coolwsd
The default configuration is looking for an SSL certificate and key, which are not present, so probably it’s the best to disable SSL, and optionally enable SSL termination, then set up the reverse proxy.
另见
Full configuration examples for reverse proxy setup can be found in the Collabora Online documentation: https://sdk.collaboraonline.com/docs/installation/Proxy_settings.html
sudo coolconfig set ssl.enable false
sudo coolconfig set ssl.termination true
sudo coolconfig set storage.wopi.host nextcloud.example.com
sudo coolconfig set-admin-password
sudo systemctl restart coolwsd
systemctl status coolwsd
Installation example with Docker
We'll describe how to get Nextcloud Office running on your server and how to integrate it into your Nextcloud using the docker image Nextcloud and Collabora built.
To install it the following dependencies are required:
- A host that can run a Docker container
- A subdomain or a second domain that the Collabora Online server can run on
- An Apache server with some enabled modules
- A valid SSL certificate for the domain that Collabora Online should run on
- A valid SSL certificate for your Nextcloud
Install the Collabora Online server
The following steps will download the Collabora Online docker. Make sure to replace "cloud.example.com" with the host that your own Nextcloud runs on. If you want to use the docker container with more than one Nextcloud, you can add another -e aliasgroup2=https://cloud2.example.com:443.
docker pull collabora/code
docker run -t -d -p 127.0.0.1:9980:9980 \
-e 'aliasgroup1=https://cloud.example.com:443' \
--restart always \
--cap-add MKNOD \
collabora/code
That will be enough. Once you have done that the server will listen on "localhost:9980". Now we just need to configure the locally installed Apache reverse proxy.
Install the Apache reverse proxy
On a recent Ubuntu or Debian this should be possible using:
apt-get install apache2
a2enmod proxy proxy_wstunnel proxy_http ssl
Afterward, configure one VirtualHost properly to proxy the traffic. For security reasons, we recommend using a subdomain such as office.example.com instead of running on the same domain. An example config can be found below:
########################################
# Reverse proxy for Collabora Online
########################################
AllowEncodedSlashes NoDecode
SSLProxyEngine On
ProxyPreserveHost On
# cert is issued for collaboraonline.example.com and we proxy to localhost
SSLProxyVerify None
SSLProxyCheckPeerCN Off
SSLProxyCheckPeerName Off
# static html, js, images, etc. served from coolwsd
# browser is the client part of Collabora Online
ProxyPass /browser https://127.0.0.1:9980/browser retry=0
ProxyPassReverse /browser https://127.0.0.1:9980/browser
# WOPI discovery URL
ProxyPass /hosting/discovery https://127.0.0.1:9980/hosting/discovery retry=0
ProxyPassReverse /hosting/discovery https://127.0.0.1:9980/hosting/discovery
# Capabilities
ProxyPass /hosting/capabilities https://127.0.0.1:9980/hosting/capabilities retry=0
ProxyPassReverse /hosting/capabilities https://127.0.0.1:9980/hosting/capabilities
# Main websocket
ProxyPassMatch "/cool/(.*)/ws$" wss://127.0.0.1:9980/cool/$1/ws nocanon
# Admin Console websocket
ProxyPass /cool/adminws wss://127.0.0.1:9980/cool/adminws
# Download as, Fullscreen presentation and Image upload operations
ProxyPass /cool https://127.0.0.1:9980/cool
ProxyPassReverse /cool https://127.0.0.1:9980/cool
# Compatibility with integrations that use the /lool/convert-to endpoint
ProxyPass /lool https://127.0.0.1:9980/cool
ProxyPassReverse /lool https://127.0.0.1:9980/cool
After configuring these do restart your apache using systemctl restart apache2.
另见
Full configuration examples for reverse proxy setup can be found in the Collabora Online documentation: https://sdk.collaboraonline.com/docs/installation/Proxy_settings.html
Configure the app in Nextcloud
- Go to the Apps section and choose "Office & text"
- Install the "Nextcloud Office" app
- Go to Admin -> Office -> Specify the server you have setup before (e.g. "https://office.example.com")
Congratulations, your Nextcloud has Collabora Online Office integrated!
Updating
Occasionally, new versions of this docker image are released with security and feature updates. We will of course let you know when that happens! This is how you upgrade to a new version:
Update the docker image:
docker pull collabora/code
List running docker containers:
docker ps
Stop and remove the Collabora Online container with the container id of the running one:
docker stop CONTAINER_ID
docker rm CONTAINER_ID
Start the new container:
docker run -t -d -p 127.0.0.1:9980:9980 -e 'domain=cloud\\.example\\.com' \
--restart always --cap-add MKNOD collabora/code
Reverse proxy
The server part of Nextcloud Office (coolwsd daemon) is listening on port 9980 by default, and clients should be able to communicate with it through port 9980. However on most setups it is common to use a reverse proxy to more easily handle SSL termination and have a unified entrypoint for HTTP requests.
The following rules should be in place to forward requests to the coolwsd daemon on port 9980:
- /browser
- /hosting/discovery
- /hosting/capabilities
- /cool/adminws
- /cool
- Web socket connections through /cool/(.*)/ws
另见
Full configuration examples can be found in the Collabora Online documentation: https://sdk.collaboraonline.com/docs/installation/Proxy_settings.html
Configuration
Nextcloud Office App Settings
Collabora Online Server
URL (and port) of the Collabora Online server that provides the editing functionality as a WOPI client. Collabora Online should use the same protocol (http:// or https://) as the server installation. Naturally, https:// is recommended.
Restrict usage to specific groups
By default the app is enabled for all. When this setting is active, only members of specified groups can use Nextcloud Office.
Restrict edit to specific groups
By default all users can edit documents with Nextcloud Office. When this setting is active, only the members of specified groups can edit, others can only view documents.
Use OOXML by default for new files
By default new files created by users are in OpenDocument Format (ODF). When this setting is active, new files will be created in Office Open XML (OOXML) format.
Enable access for external apps
Nextcloud internally passes an access token to Collabora Online that is used later by it to do various operations. By default, it's not possible to generate this token by 3rd parties; only Nextcloud can generate and pass it to Collabora Online.
In some applications, it might be necessary to generate the token by a 3rd party application. For this, one needs to add the 3rd party application (external apps) in this setting. You need to add an application identifier and a secret token. These credentials then can be used by the 3rd party application to make calls to ajax/extapp/data/{fileId} to fetch the access token and URL source for given fileId, both required to open a connection to Collabora Online.
Canonical webroot
Canonical webroot, in case there are multiple, for Collabora Online to use. Provide the one with least restrictions. E.g.: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance.
Additional configuration options
The coolwsd service allows additional configuration options which can be found in the Collabora Online documentation.
Previews
In order to allow Nextcloud to use the coolwsd conversion API to generate previews, the Nextcloud host IP needs to be added to the allow list:
sudo coolconfig set net.post_allow.host 10.0.0.4
Custom fonts
When you install coolwsd package, the post-install script will look for additional fonts on your system, and install them in the systemplate. If you install fonts to your system after installing coolwsd, you need to update the systemplate manually.
coolconfig update-system-template
另见
https://sdk.collaboraonline.com/docs/installation/Fonts.html
Secure view settings
The secure view settings enables Nextcloud to embed watermarks on your office files. The watermark may be set according to different rules:
注意
To enforce the confidentiality of your files it is crucial to restrict the ability to download the documents.
This includes ensuring that your WOPI configuration is configured to only serve documents between Nextcloud and Collabora.
Wopi configuration
It is highly recommended to restrict WOPI requests to the IP addresses of the Collabora servers that are expected to request files from the Nextcloud installation. This can be done by setting the Allow list for WOPI requests option from the Office admin settings.
Similarly, it is advised to configure Collabora's WOPI host configuration to only serve IPs from expected hosts.
Migration from Collabora Online
Nextcloud Office is based on Collabora Online so for enabling all Nextcloud Office functionality it would be enough to update to the most recent release. Nextcloud Office is available since CODE 21.11.
提示
This upgrade guide is aimed for upgrading from CODE 6.4 to CODE 21.11.
Update the reverse proxy configuration
Due to naming changes in the Collabora Online releases it may be required to adjust reverse proxy configurations that are already in use for previously existing setups.
- Paths with
loolhave been renamed tocool - Paths with
loleaflethave been renamed tobrowser
Fully detailed reverse proxy configuration guides for various solutions can be found at https://sdk.collaboraonline.com/docs/installation/Proxy_settings.html
Upgrade distribution packages
- The main service has been renamed from
loolwsdtocoolwsd - The service rename also affects the location of the configuration file
/etc/coolwsd/coolwsd.xml
Required upgrade steps:
- Stop the
loolwsdservice - Backup
/etc/loolwsd/loolwsd.xmlconfiguration file. - Remove
loolwsdandcollaboraoffice*packages. - Change the version number in the repository URL, e.g. from 6.4 to 21.11
- Install the
coolwsdpackage - Adapt the new configuration file in
/etc/coolwsd/coolwsd.xmlto match your previous configuration - Start and enable the
coolwsdservice
Upgrade the docker image
For upgrading the docker images it is enough to pull the latest CODE image from Docker Hub.
Troubleshooting
In case of connectivity issues, ensure that the following required connections are possible and not blocked by any firewall:
- The users browser can reach both the Nextcloud Server as well as the Collabora Online server through HTTP(S)
- The Nextcloud and the Collabora Online server are using the same protocol
- The Nextcloud server can reach the Collabora Online server through HTTP(S)
- The Collabora Online server can reach the Nextcloud server through HTTP(S)
Both the Nextcloud log as well as the Collabora Online server log may reveal more detailed error messages in case of connection issues.
-
Verify connectivity from the browser:
-
Verify connectivity from Nextcloud
curl https://office.example.com/hosting/capabilitiescurl https://office.example.com/hosting/discovery
-
Verify connection from the Collabora server
curl https://nextcloud.example.com/status.php
Frequently asked questions
Issue: I get connection errors when trying to open documents
Be sure to check the error log from docker through docker logs container-id. If the logs note something like: No acceptable WOPI hosts found matching the target host [YOUR NEXTCLOUD DOMAIN] in config. Unauthorized WOPI host. Please try again later and report to your administrator if the issue persists. You might have started the docker container with the wrong URL. Be sure to triplecheck that you start it with the URL of your Nextcloud server, not the server where Collabora Online runs on.
Issue: Connection is not allowed errors.
It is possible your firewall is blocking connections. Try to start docker after you started the firewall, it makes changes to your iptables to enable Collabora Online to function.
Issue: We are sorry, this is an unexpected connection error. Please try again. error.
The Collabora Online app doesn't work at the moment, if you enable it only for certain groups. Remove the group filter in the App section.
Issue: Collabora Online doesn't handle my 100 users.
This docker image is designed for home usage. If you need a more scalable solution, consider a support subscription for a reliable, business-ready online office experience.
Issue: Collabora Online doesn't work with Encryption.
Yes, this is currently unsupported.
Issue: Nextcloud Office could not connect to the built-in Collabora Online - Built-in CODE server.
Make sure that the Nextcloud instance is able to reach itself using the same hostname that is used to access through the browser.
You might want to add your Nextcloud domain to /etc/hosts to ensure the connectivity if DNS resolution doesn't work for this: ` 127.0.0.1 cloud.yourdomain.com`
If you continue to see a warning about the WOPI allow list, make sure to also add the IP to the allow list under Settings/Administration/Office.