CODE in Docker returns blank page


I’m trying to run the CODE Docker container without exposing it to the internet via any proxy, since I’m only using it from Nextcloud. (stop me if this isn’t possible for some reason!)

Nextcloud reports “Collabora Online server is reachable” when I type in http://user:password@collabora2:9980 or even just http://collabora2:9980 - “collabora2” being the name of the CODE container on the default Docker Compose network. But when I open a document there’s simply a blank page. The test server works fine.

I’ve temporarily exposed 9980 locally for testing and I’m able to reach the CODE admin interface and get an OK through curl.

When searching for similar issues, most seem to stem from incorrectly entered “- domain” flags. My suspicion is that since this is happening on the Docker Compose network, I can’t figure out the right “- domain” name that will access the CODE server. I’ve tried the name of the nextcloud container, the name of the nextcloud domain ( and the local server IP address. Nothing works. Please help! :slight_smile:

Docker compose (excerpt of Collabora part)

image: collabora/code:latest
container_name: collabora2
- extra_params=–o:ssl.enable=false
- username=**
- password=**
- domain=nextcloud # The name of the nextcloud container that will be accessing CODE
- 9980:9980 # Temporary since the container will only be accessed from within Docker later on

Please use F12 e.g. in Mozilla Firefox and then click on Network Analysis. Please post errors in the communications between client (browser) and collabora server. Compare it with the demo collabora server.

Oh, now I see. I thought that only my Nextcloud instance would access the CODE server, but my browser connects directly to it when editing. That’s why I need an external subdomain, I guess? :slight_smile:

In other words: I cannot leave the CODE server solely on the internal Docker Compose network, but I also need to set up a subdomain and a reverse proxy for editing to work.

1 Like

Yes. I think so.

1 Like

Read perhaps

that’s true, each component needs valid (TLS) connection to the exposed URL of another:

helpful references:

1 Like