Nextcloud-talk-recording

Support intro

Sorry to hear you’re facing problems :slightly_frowning_face:

help.nextcloud.com is for home/non-enterprise users. If you’re running a business, paid support can be accessed via portal.nextcloud.com where we can ensure your business keeps running smoothly.

In order to help you as quickly as possible, before clicking Create Topic please provide as much of the below as you can. Feel free to use a pastebin service for logs, otherwise either indent short log examples with four spaces:

example

Or for longer, use three backticks above and below the code snippet:

longer
example
here

Some or all of the below information will be requested if it isn’t supplied; for fastest response please provide as much as you can :heart:

Some useful links to gather information about your Nextcloud Talk installation:
Information about Signaling server: /index.php/index.php/settings/admin/talk#signaling_server
Information about TURN server: /index.php/settings/admin/talk#turn_server
Information about STUN server: /index.php/settings/admin/talk#stun_server

Nextcloud version (eg, 29.0.1):
Talk Server version (eg, 14.0.2): Running version: cc934c8b85da8ed746f2ceb3474299507a22fb8c
Custom Signaling server configured: yes version
Custom TURN server configured: yes
Custom STUN server configured: yes

In case the web version of Nextcloud Talk is involved:
Operating system Ubuntu 22
Browser name and version ( all of them

Hi Guys,

(I ‘ve removed one / from links https:// to https:/ to avoid limits for new users ;( )

After trying many times and almost going crazy, I decided to ask the experts, as I’m sure someone else has had this same problem.

I recently configured the Talk application and installed an HPB server on an external machine with signaling, stun, turn, and janus running smoothly and configured in the Nextcloud (Talk) app.

The problem arises when I add the recording server (Ubuntu 24) from the official repo. It is also configured and responds by validating the certificate OK: Running version: 0.2.1.

Once I start the video conference, the record button appears, but I get this error on the recording server:

Stopping nextcloud-talk-recording.service - Nextcloud Talk Recording Server…
Dec 06 14:47:33 only.nextcloud nextcloud-talk-recording\[38608\]: \[2025-12-06 14:47:33 +0000\] \[38608\] \[INFO\] Shutting down: Master
Dec 06 14:47:33 only.nextcloud systemd\[1\]: nextcloud-talk-recording.service: Deactivated successfully.
Dec 06 14:47:33 only.nextcloud systemd\[1\]: Stopped nextcloud-talk-recording.service - Nextcloud Talk Recording Server.
Dec 06 14:47:33 only.nextcloud systemd\[1\]: Started nextcloud-talk-recording.service - Nextcloud Talk Recording Server.
Dec 06 14:47:33 only.nextcloud nextcloud-talk-recording\[38642\]: \[2025-12-06 14:47:33 +0000\] \[38642\] \[INFO\] Starting gunicorn 23.0.0
Dec 06 14:47:33 only.nextcloud nextcloud-talk-recording\[38642\]: \[2025-12-06 14:47:33 +0000\] \[38642\] \[INFO\] Listening at: https:/0.0.0.0:8443 (38642)
Dec 06 14:47:33 only.nextcloud nextcloud-talk-recording\[38642\]: \[2025-12-06 14:47:33 +0000\] \[38642\] \[INFO\] Using worker: sync
Dec 06 14:47:33 only.nextcloud nextcloud-talk-recording\[38645\]: \[2025-12-06 14:47:33 +0000\] \[38645\] \[INFO\] Booting worker with pid: 38645
Dec 06 14:48:09 only.nextcloud nextcloud-talk-recording\[38645\]: \[2025-12-06 14:48:09,399\] WARNING in Server: No secret configured for backend https:/nextcloud.xxxxx.yy/

I have verified that the secret that appears in nextcloud is the same as in the recording server configuration:


\[logs\]
level = 20

\[https\]

listen = 0.0.0.0:8443
tls_cert = /etc/ssl/certs/onlycert.pem
tls_key = /etc/ssl/private/onlykey.pem

\[app\]
trustedproxies = 172.16.60.0/24

\[backend\]
allowall = false
backends = nextcloud
skipverify = false
maxmessagesize = 10240
videowidth = 1920
videoheight = 1080
directory = /var/lib/nextcloud-recordings

\[nextcloud\]
url = https:/nextcloud.xx.yy/
secret = 46…………………………………………….14

\[signaling\]
signalings = talk

\[talk\]
url = https:/talk.nextcloud.xxxx.yy:8443
internalsecret = 7c………………………………..ef3

\[ffmpeg\]
common = ffmpeg -loglevel level+warning -n
inputaudio = -f pulse -i default
inputvideo = -f x11grab -draw_mouse 0 -video_size {WIDTH}x{HEIGHT} -framerate 30 -i :99
outputaudio = -c:a libopus -b:a 128k
outputvideo = -c:v libvpx -deadline:v realtime -crf 10 -b:v 2M -threads 4
extensionaudio = .ogg
extensionvideo = .webm

\[recording\]
browser = firefox
browserPath = /usr/bin/firefox

\[stats\]
allowed_ips = 172.16.60.0/24, 127.0.0.1

sudo -u www-data php /var/www/nextcloud/occ config:app:get spreed recording_servers
{“servers”:\[{“server”:“https:/only.nextcloud.xxxx.yy:8443”,“verify”:true}\],“secret”:“46………….14”}

Nextcloud log show this error:


{“reqId”:“M1qOyO9VF9agSYOWTYT8”,“level”:3,“time”:“2025-12-06T15:12:13+00:00”,“remoteAddr”:“93.156.212.219”,“user”:“ZZZZZZZZ”,“app”:“spreed”,“method”:“POST”,“url”:“/ocs/v2.php/apps/spreed/api/v1/recording/36upef2o”,“message”:“Failed to send message to recording server”,“userAgent”:“Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:145.0) Gecko/20100101 Firefox/145.0”,“version”:“31.0.10.2”,“exception”:{“Exception”:“GuzzleHttp\\Exception\\ClientException”,“Message”:"Client error: `POST https://only.nextcloud.xxxx.yy:8443/api/v1/room/36upef2o` resulted in a `403 FORBIDDEN`

The error seems very clear and points to either the backend name or the secret, but I’ve checked it 100 times and can’t find it. Any help or clues would be welcome. :slight_smile:

Steps to replicate it:

The output of your Nextcloud log in Admin > Logging or errors in nextcloud.log in /var/www/:

PASTE HERE

The output of your Apache/nginx/system log in /var/log/____:

PASTE HERE

Your browser log if relevant (javascript console log, network log, etc.):

PASTE HERE
1 Like

Hey. You configured the secret in the wrong local.

I documented how to setup in docker in this repo GitHub - LibreCodeCoop/nextcloud-talk-recording

Note: you will need a reverse proxy.

Hope it helps.