What's the future of Talk and the HPB?

Hi

Not really a support question trying to solve a technical issue.

But I need some input from the Nextcloud developers / power users to better understand the HPB setup and what’s ahead on the roadmap for Talk and the HPB.

We’re operating some individual Nextcloud installations and have e.g. a shared Collabora server. Adding Collabora on an additional Nextcloud only requires telling the NC instance where to find Collabora.

But as far as I understand, that’s not as easy with the HPB - or am I overlooking something?

Looking at e.g. this documentation, making the HPB a “multi-tenant” setup means running multiple instances of the container on different ports.

So my questions are:

  • Is it really needed to run multiple HPB containers in order to have a HPB for multiple NC instances?
  • Is there something on the roadmap to make the HPB container multi-tenant able (e.g. running one HPB instance and just managing the allow-list to allow adding new NC instances to that HPB installation)?
  • Is my impression right, that the HPB is not optional (now, and even more in the future)?

Looking forward to get some enlightement!

Best wishes,
Mario

Hey @mario.rimann, welcome to the community :waving_hand:

please be aware, that the documentation you’re referring to is not official documentation (that’s why I adamantly point out that its an “example”), rather a users’ “how-to” meant for personal use, which just happened to find plenty hits. with that in mind its definitely not to be seen as a productive corporate solution. I’m certain the Nextcloud AIO team agrees.

Rather a container stack running multiple signalling images on different ports, causing high resource and bandwidth demand… thus not an ideal solution and only an example.

So if you’re looking to run a multi tenant HPB signalling setup on corporate level, I recommend you get in touch with the folks at https://www.struktur.de/

2 Likes

nothing obvious, which is why its mentioned in the how to.

following the discussions on various GitHubs concerned… it turns out, that impression was not intended by the spreed folks. see Nextcloud Talk documentation and discussion

Talk:HPB remains optional! Talk is functional for personal use in a local network for ~3 participants. For multiple external participants (HPB=) STUN, TURN and a signalling service is required;

High Performance Backend for Talk on Nextcloud with Docker

Talk:HPB

A High Performance Backend (HPB) requires a signalling service and consists of three components working hand in hand;

  1. STUN service is part of TURN for discovering NATed/firewalled external IP’s. TURN is both a ‘Traversal Using Relays around NAT’ (TURN) server and a ‘Session Traversal Utilities for NAT’ (STUN) server. A STUN server is provided by default in Nextcloud, but you can replace it with your own.
    • Examples: stun.nextcloud.com:443 or stun.yourdomain.tld:3478 or both
  2. TURN service like “coturn” or “eturnal” for connecting NATed/firewalled external IP’s and controlling WebRTC streams. Its main role is to help WebRTC clients behind routers to communicate and relays the audio and video data through firewalls and port restrictions.
    • Examples: turn.yourdomain.tld:3478 or yourdomain.tld:3478
    • Encryption is optional for TURN & STUN and will be handled by encrypted Nextcloud
  3. Signalling service like “Janus: the general purpose WebRTC server” is required for calls and conversations with multiple participants. The signaling server is used to establish a WebSocket connection between the participants in the call. Without it, all participants would have to upload their own audio/video individually for each other participant causing connectivity issues.
    • Example: https://signal.yourdomain.tld
1 Like

Thanks @scubamuc - this helps a lot!