Set up Collabora via docker-compose to work with turnkey Hetzner instance

(Tags and/or alternate forum suggestions welcome).

I have a turnkey NextCloud instance with Hetzner and I have decided that I would like to use Collabora to edit online documents, as opposed to e.g. OnlyOffice.

Within the /settings/admin/richdocuments I have 3 options to set up Collabora

  • Use your own server
  • Use the built in code
  • Use the demo server

Seems one cannot use the built in code with Hetzner:

Due to performance reasons, we cannot support the built-in version of Collabora. So if you still want to use Collabora, you will need to provide your own server. You could use, for example, our unmanaged dedicated root servers or Hetzner Cloud servers. You can activate Collabora via the App Store, but you will need to use the other server for data processing. You as the customer are responsible for configuring this server yourself in the app’s settings.

I would now like to try to set up Collabora server using Docker. I would like to do this locally before attempting to do so with my cloud provider (Also Hetzner).

Followed this quick start guide.

Here are the entire contents of this quick start guide page:

You can try CODE in 5 minutes with Nextcloud following these basic steps:

    1. Find out the IP address of your computer, e.g. 192.168.100.20
    2. Run Nextcloud from docker:
    docker run -d -p 80:80 nextcloud
    3. In your browser go to http://192.168.100.20 and set up your Nextcloud.
    4. In Nextcloud go to Apps – Office and Text, and install Collabora Online app.
    5. Run CODE from docker:
    docker run -t -d -p 9980:9980 -e "extra_params=--o:ssl.enable=false" collabora/code
    6. Set up the Collabora Online server in Nextcloud Settings – Collabora Online to http://192.168.100.20:9980

Note 1: Of course, this is only good for a quick look at the features, it is not for production by any means.

Note 2: Do not use localhost or 127.0.0.1 instead of IP address of your computer, because these addresses do not resolve from the containers.

On my local Ubuntu laptop I created a directory and added a docker-compose.yaml file per the quick start guide:

version: "3.5"
services:
  collabora:
    image: collabora/code
    container_name: collabora
    environment:
      - extra_params=o:ssl.enable=false
    ports:
      - "9980:9980"

I am able to build and run this image locally (I think, at least, here is the terminal output)

sudo docker-compose build
collabora uses an image, skipping
Building with native build. Learn about native build in Compose here: https://docs.docker.com/go/compose-native-build/

sudo docker-compose up -d
Building with native build. Learn about native build in Compose here: https://docs.docker.com/go/compose-native-build/
Creating network "hz_default" with the default driver
Creating collabora ... done

I now have an image running on local based on the above. Is there some way I can test out if this works by linking it to my Hetzner NC instance?