With the last few releases, Nextcloud has introduced the ability to record your calls made through Talk. If you have heard of or set up Nextcloud AIO, it is now a part of it. Are you in the same boat, wanting to record your calls on Nextcloud Talk? If so, read on to learn how to setup Nextcloud Talk Recording Backend on Ubuntu.
This is what you need prior to setting up the Recording Backend.
- A working latest Nextcloud instance – Read this guide for new installation
- A Signaling server setup already – Follow this guide to set it up
We will install the Recording Backend on the current Nextcloud instance. This guide will cover the manual installation of the Nextcloud Recording backend and will not include anything related to Nextcloud AIO. If you would like to set it up on a separate server, you can do so, but you will need a reverse proxy (check FAQ below) in front of it.
If you don’t want to use the AIO container for the Recording Backend, you can do it manually following their installation guide.
1- Prepare the server
Update your system and install the Docker package.
apt update && apt upgrade
apt install docker.io
2- Install Recording Backend
Nextcloud AIO has a separate image for the Recording Backend. You can check the images they provide on dockerhub.
For some reasons, the latest image I pulled did not work for me, so I went with the beta image.
docker pull nextcloud/aio-talk-recording:beta
You can now run the container in the background with the following command. Make changes as necessary.
HPB_DOMAIN = the High-performance backend server domain name (Signaling server)
NC_DOMAIN = your Nextcloud domain name
RECORDING_SECRET = random string which will be used in Talk settings
INTERNAL_SECRET = secret set in Signaling server for external clients
docker run -d --name talk-recording-beta -e ALLOW_ALL=true -e HPB_DOMAIN=talk.myncserver.com -e NC_DOMAIN=myncserver.com -e TZ=Europe/Rome -e RECORDING_SECRET=wgD3hbk8Dfujhbmw -e INTERNAL_SECRET=FbGajk875R8Df50mw021j944hujhm3bd -p 1234:1234 --restart=always nextcloud/aio-talk-recording:beta
3- Setup Talk
After running the container, you can now go to your Nextcloud instance, click on Administration settings, and then click on Talk.
Scroll to Recording backend and click on the “Add a new recording backend server” button.
In the URL field, enter http://127.0.0.1:1234, and input the RECORDING_SECRET from above into the Shared secret field. Do not check the “Validate SSL certificate” checkbox for a local setup.
You should now be able to record your calls in Talk.
Debugging
If you are stuck somewhere and want to check things, here are a few helpful commands.
docker stop talk-recording-beta
docker start talk-recording-beta
Check the docker logs for the last one hour with:
docker logs --since=1h talk-recording-beta
Enter the container:
docker exec -u root -it talk-recording-beta /bin/bash
Once inside the container, the files and logs are stored inside the /tmp directory. The configuration file for recording is in the /conf.
The gecko log is stored in /tmp/geckodriver.log
file inside the container.
FAQ
Yes, you can, but I advise stopping the running container and then pulling the image you want to run. You can use the same command with the applied changes, such as secrets (remaining the same), container name, and image file.
Try to debug as much as possible to see if you can find the cause of the issue.
If your settings are correct and recording is not working, try using another image. As mentioned, the latest image didn’t work for me either. Then, I tried the beta image, and it worked.
You can follow the installation steps from this guide. For the reverse proxy, check this guide from step 9 to step 11. Follow where necessary.