Is there a straightforward way to add the Talk High-performance backend to an existing Nextcloud instance without using Docker?
Or should I install a new Nextcloud instance using Docker and scrap the existing one?
Sorry if this sounds like a stupid question, but I have very little experience with using Docker, so have no idea how or if it can be used with my existing Nextcloud instance.
Well, it’s possible, but it certainly wouldn’t be as straightforward, as it involves installing a number of separate components that you all get in a nice preconfigured package when using the Docker Container.
No need to. It’s perfectly fine to run a bare metal Nextcloud and add the Talk HPB via Docker.
Well, completely without Docker is possible. But you then need many services:
Coturn (TURN/STUN)
Janus (WebRTC server)
NATS (message transfer)
Signaling Server
I use Docker for NATS since it easier this way. But I never managed to get the “all-in-one” Docker image for the high performance backend working - Nextcloud Talk always refused to connect to it.
I just updated the article and added some more details about the reasons for (not) using DTLS/TLS in Coturn and a note about installing git, make and golang-go which are required to build the signaling server.
My German is not great, looking at the instal instructions I can’t quite make out if I need to instal Nextcloud from scratch to use this, or if I can use it with the existing Nextcloud instance that I already have?
Also, I am running Ubuntu 24.04, but I assume that this package will work with that fine.
The HPB (High Performance Backend) backend must be installed on a separate server for performance reasons. It must not be on the same server as the one where NextCloud is installed. I installed it on a server with a freshly installed Debian 12. When running the script, you will be asked a few questions (web address of your NextCloud instance, email for automatic update reports, etc.).
The instructions for running the script are in German and also in English. You can also install Collabora with this script, but it is not mandatory. There is a link to the English version on GitHub.
Scripts are easy as long as the corresponding update script is maintained (ok, this applies to the docker image as well), and/or if you know exactley what the script does and are therefore able to maintain each component yourself. Also, OS upgrades are defenitly less straightforward if everything is installed via distro packages or even third party repos.
I’d say that depends too. For businesses with lots of users on their Nextcloud instances and lots of video call participants, sure.
For home users who just want to use all the features of Talk and only have a few users on their instances and a few participants in video calls, it can work perfectly fine on the same server.
It also depends on the server. For example, if you install it on a cheap VPS with less cores and RAM than your Nextcloud server has, I highly doubt that it would perform better than if it were installed directly on the more powerful Nextcloud server
To give you an impression of a “real world” scenario:
I run Nextcloud along with Collabora and the Nextcloud High Performance Backend on a KVM based virtual server with 6 cores and 32 GB RAM. In addition there is a second virtual server running the video recording service with only 2 cores and 16 GB RAM.
The server load is usually less then 2 and the CPU usage around 8-10% in average.
I have Talk sessions with up to 15 users at the same time where the load of the Nextcloud server goes up to 5 with a CPU usage of around 50-60%. Video recording does not add much load here, since this is handled on the second server which only acts as one additional “guest” recording the current active speaker.