Seafile can open supported office files in Collabora Online through WOPI, a protocol that lets the storage server and online editor exchange document information and file content. The right deployment depends on where you run Seafile, how you manage HTTPS and reverse proxies, and whether you want Collabora on the same Docker network or on a separate server.
This guide follows the current Seafile Admin Manual’s Collabora integration instructions (Seafile 14.0 documentation, checked October 6, 2026). The exact Docker Compose files and image tags can change, so use the files for your installed Seafile release rather than copying an older tutorial’s full Compose configuration.
Which deployment should you choose?
| Option | Best fit | Main tradeoff |
| Collabora container alongside Seafile | A single-node Docker installation using Seafile’s supplied Compose files | Quickest path and internal service-name networking, but both services share one host’s CPU, memory, and maintenance window. |
| Collabora on a separate host | Existing Collabora service, separate capacity planning, or a multi-host deployment | Independent scaling and upgrades, but requires a public HTTPS endpoint, a reverse proxy, and reliable network access between Collabora and Seafile. |
For a new single-node Docker deployment, start with Seafile’s supplied collabora.yml. For an existing standalone Collabora server or a cluster, use Collabora’s own installation guidance and set Seafile’s discovery URL to the external Collabora address. The Seafile integration guide requires HTTPS for Seafile and notes that a separate Collabora node should use HTTPS on standard port 443, reverse-proxied to Collabora’s service on port 9980. See the Seafile Collabora Online Integration guide and Collabora installation documentation.
Before you begin
- Confirm that your Seafile server is reachable over HTTPS with a valid certificate. Seafile’s guide explicitly requires HTTPS for this integration.
- Identify your deployment type: current Docker single-node, binary installation, or a multi-host/cluster setup. Compose file names and proxy routing depend on that choice.
- Choose a Collabora hostname, such as
office.example.com, if Collabora will be reached independently by users’ browsers. Make its DNS and TLS certificate work before configuring Seafile.
- Have administrator access to Seafile’s
seahub_settings.py and the Docker .env file, if applicable. Store the Collabora admin password in a protected environment file and do not publish it in screenshots, logs, or a public repository.
Seafile’s documentation describes the same-host Docker steps for its supported Compose layout. If your reverse proxy, Compose project, or network differs, treat the example values below as a starting point and verify service names and routes in your own deployment.
Option A: Add Collabora to a Seafile Docker deployment
1. Add the official Collabora Compose file
From the directory where your Seafile Compose configuration lives, download the Collabora file for the Seafile release you run. For the current manual’s Seafile 14.0 path:
wget https://manual.seafile.com/14.0/repo/docker/collabora.yml
Open .env and add collabora.yml to the existing COMPOSE_FILE list. Preserve all current entries; for example, an installation that already lists the Seafile server, Caddy, and SeaDoc files would append the Collabora file rather than replace the list:
COMPOSE_FILE='seafile-server.yml,caddy.yml,seadoc.yml,collabora.yml'
Your actual list may be different. Do not remove the current reverse proxy or other services just to match this example. The Compose file establishes the container and network settings expected by Seafile’s bundled deployment.
2. Set Collabora’s environment values
Add the variables documented by Seafile to the same .env file. Its current example uses the rolling collabora/code image name; teams that require reproducible upgrades should select a Collabora release tag supported by their environment and pin it deliberately. Review release notes and test upgrades before changing a working editor service.
COLLABORA_IMAGE=collabora/code
COLLABORA_PORT=6232
COLLABORA_USERNAME=admin
COLLABORA_PASSWORD=replace-with-a-long-random-secret
COLLABORA_ENABLE_ADMIN_CONSOLE=true
COLLABORA_REMOTE_FONT=
COLLABORA_ENABLE_FILE_LOGGING=false
The port value is the host-facing port used by Seafile’s Compose example; Collabora listens on port 9980 inside the container. Keep the admin console private or restrict access at the proxy/firewall. The username and password above are examples—choose unique credentials and protect the file. If your organization does not need the admin console, follow the Compose template’s supported setting to disable it.
3. Configure Seafile’s WOPI connection
Edit seahub_settings.py and add the Collabora integration settings. For containers on the same Compose network, Seafile’s current example uses the internal service name collabora:
OFFICE_SERVER_TYPE = 'CollaboraOffice'
ENABLE_OFFICE_WEB_APP = True
OFFICE_WEB_APP_BASE_URL = 'http://collabora:9980/hosting/discovery'
WOPI_ACCESS_TOKEN_EXPIRATION = 30 * 60
OFFICE_PREVIEW_MAX_SIZE = 30 * 1024 * 1024
ENABLE_OFFICE_WEB_APP_EDIT = True
OFFICE_WEB_APP_FILE_EXTENSION = (
'odp', 'ods', 'odt', 'xls', 'xlsb', 'xlsm', 'xlsx',
'ppsx', 'ppt', 'pptm', 'pptx', 'doc', 'docm', 'docx'
)
OFFICE_WEB_APP_EDIT_FILE_EXTENSION = (
'odp', 'ods', 'odt', 'xls', 'xlsb', 'xlsm', 'xlsx',
'ppsx', 'ppt', 'pptm', 'pptx', 'doc', 'docm', 'docx'
)
The internal discovery URL is for Seafile-to-Collabora communication on the shared Docker network. Users’ browsers must also be able to reach the Collabora address that the integration serves to them. Follow the official Compose file and proxy setup so the browser-facing route is published securely; a container-only hostname that resolves only inside Docker is not a usable public browser URL.
Keep the file extension lists limited to formats your users need and that your Collabora build supports. The preview-size setting shown above is the 30 MiB value in Seafile’s current example; larger documents may need a deliberate limit change, with the corresponding memory and performance impact considered.
4. Start or update the services
Validate the Compose configuration, then start the stack from its project directory:
docker compose config
docker compose up -d
Seafile’s guide says to restart Seafile after changing seahub_settings.py. With Docker deployments, docker compose up -d applies the updated Compose setup; if the setting edit does not take effect, restart the Seafile service using the method for your release. Avoid a broad docker compose down unless you intend to stop the entire stack.
Option B: Point Seafile to Collabora on another host
Install and expose Collabora using its official deployment and reverse-proxy instructions. Use HTTPS on the normal public endpoint and proxy requests to Collabora’s internal port 9980. Confirm that the Seafile host can reach Collabora and that Collabora can reach Seafile’s HTTPS address; both directions matter to WOPI document loading.
Keep the other Seafile settings from the previous section, but change the discovery setting to the real Collabora hostname:
OFFICE_WEB_APP_BASE_URL = 'https://office.example.com/hosting/discovery'
Use your actual hostname and certificate. Do not include the internal Docker service name unless Seafile and Collabora genuinely share a network where that name resolves. A separate host gives you independent resource and maintenance control, but adds DNS, firewall, certificate, and reverse-proxy work. For a Seafile cluster, follow the cluster’s proxy and service-discovery design instead of assuming the single-node Compose network applies.
How to confirm the connection works
- Open
https://office.example.com/hosting/discovery from a browser if using a separate host. For a same-host setup, test the public Collabora route published by your proxy. A successful response confirms the discovery endpoint is reachable, though it does not by itself prove WOPI editing works.
- Sign in to Seafile and open a small, non-sensitive
.docx, .xlsx, or .odt file included in your configured extension lists.
- Confirm the file opens in Collabora, make a harmless change, wait for saving to complete, and close the editor.
- Reopen the file in Seafile and verify the change persisted. For a stronger check, download a copy and confirm the expected content.
Test with a file you can safely modify. A visible editor without a successful save is only a partial success: WOPI must be able to retrieve the file and return the edited version to Seafile.
Common failures and which side to check
| Symptom | First checks |
| Seafile reports that online office is unavailable | Check OFFICE_SERVER_TYPE, ENABLE_OFFICE_WEB_APP, the discovery URL, and whether Seahub was restarted after the settings change. |
| Discovery works from the server but the browser shows a blank editor | Check that the browser can reach the public Collabora hostname over HTTPS and that proxy paths and TLS certificates are correct. An internal Docker hostname is not automatically accessible to a user’s browser. |
| Editor loads but the file cannot be fetched or saved | Check Collabora and Seafile logs, their mutual network access, HTTPS certificate trust, and WOPI requests. Seafile documents the request flow as Seahub creating the iframe, the browser loading Collabora, and Collabora requesting file content from Seahub. |
| Only some office files open | Check the preview and edit extension tuples, Seafile’s preview-size limit, and the formats supported by the installed Collabora build. |
For Docker logs, Seafile documents docker logs seafile-collabora. Check the Seafile/Seahub logs alongside Collabora output and correlate requests at the proxy. Do not enable verbose or file logging indefinitely if it exposes document URLs or other sensitive operational details. The official Collabora troubleshooting guide provides additional checks for Collabora-side failures.
Which choice makes sense?
Choose the bundled container when your Seafile installation is a single Docker host, you want the supported Compose wiring, and sharing CPU and memory with Seafile is acceptable. Choose a separate Collabora host when you already operate one, need independent capacity or upgrade schedules, or are integrating a multi-host architecture and can maintain HTTPS and network routing reliably. In either case, follow the documentation matching your Seafile release, keep browser-facing endpoints secure, and verify both document opening and saving before inviting users to rely on online editing.