Talk Recording manual not working?

The Basics

  • Nextcloud Server version (e.g., 29.x.x):
  • Operating system and version (e.g., Ubuntu 24.04):
    • Docker on Ubuntu 24.04
  • Reverse proxy and version _(e.g. nginx 1.27.2)
    • Traefik
  • Is this the first time you’ve seen this error? (Yes / No):
    • Yas
  • When did this problem seem to first start?
    • Installing the recording container
  • Installation method (e.g. AlO, NCP, Bare Metal/Archive, etc.)
    • Aio manual
  • Are you using CloudfIare, mod_security, or similar? (Yes / No)
    • Cloudflare

Summary of the issue you are facing:

The container does not start, with following logs:

talk_talk-recording.1.pqrx52d6p5wc@docker3    | /start.sh: line 22: /conf/recording.conf: Read-only file system
talk_talk-recording.1.pqrx52d6p5wc@docker3    | Configuration file not found: /conf/recording.conf
talk_talk-recording.1.pqrx52d6p5wc@docker3    | No configured backends
talk_talk-recording.1.pqrx52d6p5wc@docker3    | No configured signalings
talk_talk-recording.1.pqrx52d6p5wc@docker3    |  * Serving Flask app 'nextcloud.talk.recording.Server'
talk_talk-recording.1.pqrx52d6p5wc@docker3    |  * Debug mode: off
talk_talk-recording.1.pqrx52d6p5wc@docker3    | INFO:werkzeug:WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
talk_talk-recording.1.pqrx52d6p5wc@docker3    |  * Running on http://127.0.0.1:8000
talk_talk-recording.1.pqrx52d6p5wc@docker3    | INFO:werkzeug:Press CTRL+C to quit

Steps to replicate it (hint: details matter!):

  1. Deploy Nextcloud
  2. Deploy Talk
  3. Setup Talk in Nextcloud (everything seem to work up to here)
  4. Deploy Talk Recordings

Configuration

    environment:
      - NC_DOMAIN=nextcloud.domain.com
      - HPB_DOMAIN=talk.domain.com
      - TZ=Europe/Rome
      - RECORDING_SECRET=secret
      - INTERNAL_SECRET=secret

Hi, I guess it would help if you could post the complete docker-compose file here…

Here it is (talk and talk-recording). I add the Nextcloud Talk settings page to see Talk seems to be ok, not recording.

networks:
  tools:
    external: true

services:
  talk:
    image: ghcr.io/nextcloud-releases/aio-talk:latest
    init: true
    networks:
      - tools
    environment:
      - TZ=Europe/Rome
      - NC_DOMAIN=nextcloud.domain.com
      - TALK_HOST=talk.domain.com
      - TURN_SECRET=secret1
      - SIGNALING_SECRET=secret3
      - TALK_PORT=3478
      - INTERNAL_SECRET=secret2
    deploy:
      mode: replicated
      replicas: 1
      labels:
        - "org.label-schema.group=tools"
        - "traefik.enable=true"
        - "traefik.swarm.network=tools"
        # HTTP Routers
        - "traefik.http.routers.talk-router.entrypoints=websecure"
        - "traefik.http.routers.talk-router.rule=Host(`talk.domain.com`)" # HostRegexp:talk.${DOMAINNAME_1},{catchall:.*}" # Host(`talk.domain.com`)"
        # Middlewares
        - "traefik.http.routers.talk-router.middlewares=secure-headers@file"
        # HTTP Services
        - "traefik.http.routers.talk-router.service=talk-service"
        - "traefik.http.services.talk-service.loadbalancer.server.port=8081"
        # Talk udp
        - "traefik.udp.routers.talk-udp-router.entrypoints=talk-udp"
        - "traefik.udp.routers.talk-udp-router.service=talk-udp-service"
        - "traefik.udp.services.talk-udp-service.loadbalancer.server.port=3478"
        # Talk tcp
        - "traefik.tcp.routers.talk-tcp-router.entrypoints=talk-tcp"
        - "traefik.tcp.routers.talk-tcp-router.rule=HostSNI(`*`)"
        - "traefik.tcp.routers.talk-tcp-router.service=talk-tcp-service"
        - "traefik.tcp.services.talk-tcp-service.loadbalancer.server.port=3478"
        - homepage.group=Office
        - homepage.name=Nextcloud Talk
        - homepage.icon=nextcloud-talk.png
        - homepage.href=https://talk.domain.com
        - homepage.description=Nextcloud Talk
        #- homepage.showStats=true
        #- homepage.widget.type=emby
        #- homepage.widget.url=http://emby.home
        #- homepage.widget.key=yourembyapikeyhere
        #- homepage.widget.fields=["field1","field2"] # optiona

  talk-recording:
    image: ghcr.io/nextcloud-releases/aio-talk-recording:latest
    init: true
    environment:
      - NC_DOMAIN=nextcloud.domain.com
      - HPB_DOMAIN=talk.domain.com
      - TZ=Europe/Rome
      - RECORDING_SECRET=secret1
      - INTERNAL_SECRET=secret2
    volumes:
      - /SwarmVolumes/data/talk-recording:/tmp:rw
    read_only: true
    ports:
      - 1234
    networks:
      - tools
    cap_drop:
      - NET_RAW
    deploy:
      mode: replicated
      replicas: 1
      labels:
        - "org.label-schema.group=tools"
        - "traefik.enable=true"
        - "traefik.swarm.network=tools"
        # HTTP Routers
        - "traefik.http.routers.talk-recording-router.entrypoints=websecure"
        - "traefik.http.routers.talk-recording-router.rule=Host(`talk-recording.domain.com`)" # HostRegexp:talk.${DOMAINNAME_1},{catchall:.*}" # Host(`talk.domain.com`)"
        # Middlewares
        - "traefik.http.routers.talk-recording-router.middlewares=secure-headers@file"
        # HTTP Services
        - "traefik.http.routers.talk-recording-router.service=talk-service"
        - "traefik.http.services.talk-recording-service.loadbalancer.server.port=1234"
        - homepage.group=Office
        - homepage.name=Nextcloud Talk Recording
        - homepage.icon=nextcloud-talk.png
        - homepage.href=https://talk-recording.domain.com
        - homepage.description=Nextcloud Talk Recording
        #- homepage.showStats=true
        #- homepage.widget.type=emby
        #- homepage.widget.url=http://emby.home
        #- homepage.widget.key=yourembyapikeyhere
        #- homepage.widget.fields=["field1","field2"] # optiona

Nextcloud settings:

Please compare your config with the upstream config available at all-in-one/manual-install/latest.yml at 0f84872fbf8e2ead9c464ad8ee77e06705ea320f · nextcloud/all-in-one · GitHub.

Hint: it looks like you are missing some of the config which breaks talk-recoding.

FYI: see how to correctly update: all-in-one/manual-install at main · nextcloud/all-in-one · GitHub

Hi,

Seems to be due to the shm part not properly working on Docker Swarm, I’m trying to get around it.

Seems to be solved:

  • Moving traefik from HTTP to TCP
  • Using tmpfs/shm this way:
    volumes:
      - /SwarmVolumes/data/talk-recording:/tmp:rw
      - type: tmpfs
        target: /conf
        tmpfs:
           size: 2147483648
    tmpfs:
      - /conf

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.