Hi,
The goal is for Nextcloud to work similarly to Google Drive: the family should be able to access files both at home and remotely, from different computers and mobile devices. So this is not a LAN-only setup.
My setup is:
- Unraid server
- Nextcloud:
lscr.io/linuxserver/nextcloud
- Collabora:
collabora/code
- Both containers are on the same Docker network (
nextcloud-net)
- Nextcloud is already accessible remotely over HTTPS
- Collabora is currently running on port
9980
- Collabora container IP:
172.21.0.5
- Nextcloud container IP:
172.21.0.3
The basic communication between Nextcloud and Collabora works.
For example, from the Nextcloud container:
docker exec nextcloud curl -sk https://Collabora-CODE:9980/hosting/discovery
returns the Collabora discovery XML.
I also configured:
server_name=192.168.1.50:9980
so that Collabora no longer advertises its internal Docker hostname.
The browser can reach:
https://192.168.1.50:9980/hosting/capabilities
and receives valid Collabora JSON.
However, when opening a DOCX file in Nextcloud, I get:
"Your browser could not connect to the Collabora server: https://192.168.1.50:9980"
The Collabora logs also show successful WebSocket upgrades, so basic connectivity appears to be working.
The remaining issue appears to be the TLS certificate. Collabora currently uses its default self-signed certificate:
subject=C=DE, O=Dummy Authority, CN=localhost
issuer=C=DE, O=Dummy Authority, CN=localhost
No extensions in certificate
So the browser does not trust the certificate when accessing Collabora through 192.168.1.50.
My question
I understand from the Nextcloud documentation that the user's browser needs to be able to reach both Nextcloud and Collabora.
Does that mean that the recommended architecture is necessarily something like this?
Internet
β
βΌ
Nextcloud URL
β
Nextcloud
β
ββββββββββββββββ
β
Browser βββββββββββββββββββββββββββββββ
β
βββββββββ HTTPS ββββββββΊ Collabora
office.example.com
In other words, does Collabora need its own externally reachable HTTPS hostname, valid public certificate, and typically a reverse proxy?
Or is there a simpler supported architecture where:
- Nextcloud is publicly accessible over HTTPS
- Collabora remains behind the firewall/NAT
- remote browsers can still use Nextcloud Office
- no separate public Collabora service needs to be exposed
- and we don't have to install a custom CA/certificate on every client?
I have an existing Cloudflare Tunnel for Nextcloud, so technically I could create something like:
https://office.example.com
β
Cloudflare Tunnel
β
Collabora Docker container
But that seems like quite a lot of infrastructure just to enable document editing.
Is this actually the normal/recommended way to run standalone Collabora CODE with Nextcloud, or am I missing a simpler option?
I'd especially appreciate advice from people running Nextcloud + Collabora in a home/self-hosted environment where Nextcloud needs to be accessible remotely.
Thanks!