Nextcloud in docker connected to separated signaling server

Hi all,
we are running a common nextcloud installation in combination with a separate signaling server for spreed app. This is working very well! But now we want to switch to a dockerized implementation of nextcloud. Therefor we decided to set up a completely new instance of nextcloud in docker-compose (proxy, redis, db, app …). Everything worked fine instead of the connection to our signaling server. According to the properties of spreed where we define the urls everything seems to be fine. But when I try to start a conversation in spreed I get the message that something is wrong with the connection.
Both of servers can reach each other via dns name, and I´ve also tried to add the hostname of signaling server in the hosts file of the nextcloud-docker container via “extra_hosts”. But there is still the same error. No error logs on signaling server, and also no error logs in the protocol-section of nc-webinterface.
Is there something special with the dockerized implementation instead of the common one?
Thank you for help!

it’s a NAT network. or how did you setup your docker network?

Yes, as recommended I created a bridged network for all containers. But I also thought about trying to change the network mode to host. But the question is, only for the nextcloud-container or for all and if the communication between the container still woks after changing the network mode? So I’d love to have an configuration example with this combination.

I haven’t used docker, but if you just want Nextcloud and signaling (Talk+HPB) on one server, there is a Hansson VM that does just that…

Is this the same standalone signaling server that worked before with non-docker NC?
Does the dockerized NC have a proper SSL cert?

Yes, we have just one standalone signaling server. It works great with the non-docker NC.
The differences between the non-docker and docker NC are:

                   none-docker nc                    docker nc

version 20.0.7 21.0.2
domain same as signaling different from signaling
proxy apache2 nginx

All servers signaling and the two nc instances have proper ssl certs. Two nc with one signaling server should not be a problem, shouldn´t it?

sorry for the formating.
The differences again:

none-docker nc
version: 20.0.7
domain: same as signaling server
proxy: apache2

docker nc
version: 21.0.2
domain: different from signaling server
proxy: apache2

Looks about right…
What signaling server are you using?
If spreed (aka HPB), how did you install it? Following some guide?

I think it should not be a problem…
But when using Hansson’s VM with the built-in signaling server, I cannot connect to the later from another (external) NC instance…

I guess I followed this guide (Nextcloud Talk mit eigenem Signaling-Server (High Performance Backend) » DecaTec)
Every component is installed native on ubuntu instead of the nats server, this will run in docker on the signaling host.

1 Like

Have you tried using the standalone signaling server with two different non-docker NC instances?

Why do you “separate duties” and run the nats server in docker?
Why not try a dockerized NC with the known working signaling server?

1 Like

I currently tried the connection to the standalone signaling server with a second non-docker NC and it works pretty well! I guess it has something to do with the docker network properties or dns.

The funny thing is, when I look at the configuration of the spreed app in the NC properties, everything seems to be fine! At the section of the hpa I get the correct answer with the version of the signaling server. But when I try to start a conversation I get the error message that there is an error with the connection.

After searching another day I found out, that it was my fault! In the server.conf of the HPA you need to define the backends (nextcloud instances) which are allowed to connect with the HPA. So, after adding the backend with the new url to the server.conf, everything works fine. But it was mysteries that the other none-docker nextcloud instance worked without these property. Maybe it was because they are in the same domain.
Nevertheless it works. Thanks for your help, Henry!

1 Like