Here is a complete guide on how to install Nextcloud High Performance Backend (Nextcloud Signaling + CoTurn), in order to make videoconference with >3 users.
Prerequisite
- A working Yunohost Instance with admin access
- A working Nexctloud instance, installed on your yunohost server, with the nextcloud talk app installed
- an ssh access to your server
Steps
1 - Configure firewall
- Open port 5349 and 5350 on your firewall and on your box (see this : Configurer la redirection des ports | Yunohost ).
2 - install CoTurn
- Install CoTurn package : YunoHost app store | Coturn
- Use a specific subdomain like “
coturn.yourdomain.tld” - You will get 3 infos:
- STUN or TURN URI:
turn:coturn.yourdomain.tld:5349 - TURN username:
turnserver - TURN password:
e4tybLCiAeR4KdWiIpirpzEQH9
- STUN or TURN URI:
3 - Install Nextcloud Signaling
- Install Nextcloud Signaling package: YunoHost app store | Nextcloud Signaling
- Backend URL: the URL of your Nextcloud instance
- For those 3, get them from your CoTurn admin page https://YourYunohost.tld/yunohost/admin/#/apps/coturn/_core
- Turn server Endpoint = STUN or TURN URI:
turn:coturn.yourdomain.tld:5349 - TURN API key = TURN username:
turnserver - TURN secret = TURN password:
e4tybLCiAeR4KdWiIpirpzEQH9
- Turn server Endpoint = STUN or TURN URI:
4 - Get the Nextcloud Signaling Secret
- After Nextcloud Signaling, get the secrets:
- Using the button (if it works)
- if not:
- open terminal, and connect to your server using ssh
- type:
sudo nano /etc/yunohost/apps/nextcloud-signaling/settings.yml - Copy: the
pwd_your_nextcloud_instance_tld(something like :1nqkspNKZWGzqYH4XWIk3J6lwC)
5 - Configure Nextcloud Talk
- Go on the Nextcloud talk administration page,
- in High performance infrastructure section, fill
- URL:
wss://youryunohost.tld/standalone-signaling - Check SSL certificate:
yes - Shared secret: paste here the shared secret you copied at the step 4
- URL:
- in Turn Server section:
- add a new turn serveur
- Fill your turn serveur URL:
coturn.yourdomain.tld:5349(without the “turn:” at the beginning) - Secret: Your Turn Server password (something like
e4tybLCiAeR4KdWiIpirpzEQH9)
- in STUN server section:
- add a new stun server (under the nextcloud default stun server)
- Fill in your turn serveur URL:
coturn.yourdomain.tld:5349
6 - Try if it’s working
- open nextcloud talk
- create a new conversation
- launch a video call with one device
- join the video call with another device (using another internet connexion if you host your server at home)
Important:
- Don’t try to test your CoTurn Congiguration using ICE test → it will never work (error 401 and 701), it’s normal.
- I you miss to add the turn server conf directly in nextcloud talk admin page: it won’t work
Notes:
If you want to use port 443 instead of 5349, it seems possible, but i don’t know how to do it. (see this post: [Nextcloud-signaling] Video conference with Nextcloud Talk - #6 by ljf )
I’ll be glad if someone here explain how to configure port 443 instead of 5349.
Troubleshoot
- If you can’t create a conversation → you use the wrong secret key in
/etc/yunohost/apps/nextcloud-signaling/settings.yml.Don’t use the “share secret” but the other secret related to your nextcloud instance.