Jibri isolation on docker swarm throws error

Hey Guys!!

I tried to configure jitsi docker in swarn and all looks good! But when I move them to docker swarn, jibri seems to be failing. My intention is to have orchestration using swam for jitsi and ensure Jibri is ways running on dedicated machine part of swarm.

[s6-init] making user provided files available at /var/run/s6/etc…exited 0.
[s6-init] ensuring user provided files have correct perms…exited 0.
[fix-attrs.d] applying ownership & permissions fixes…
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts…
[cont-init.d] 01-set-timezone: executing…
cp: ‘/usr/share/zoneinfo/UTC’ and ‘/etc/localtime’ are the same file
WARNING: UTC is not a valid time zone.
[cont-init.d] 01-set-timezone: exited 0.
[cont-init.d] 10-config: executing…
ERROR: Binding /dev/snd is not found. Please check that you run docker-compose with -f jibri.yml.

chmod: cannot access ‘/config/finalize.sh’: No such file or directory
[cont-finish.d] executing container finish scripts…
[cont-finish.d] done.
[cont-init.d] 10-config: exited 0.
[s6-finish] waiting for services.
[cont-init.d] done.
[services.d] starting services
s6-svscanctl: fatal: unable to control /var/run/s6/services: supervisor not listening
s6-svscanctl: fatal: unable to control /var/run/s6/services: supervisor not listening
[s6-finish] sending all processes the TERM signal.
[s6-finish] sending all processes the KILL signal and exiting.

I have added jibri as part if my stack compose file and ran build.

Help will be highly appreciated.

1 Like

I have moved the setup to kubernetes and it works fine

Hi swathikrishna_guru!

I also want to deploy jibri on kubernetes. I can run jibri without jibri, but when i add jibri i get an error. The error I got is exactly the same as yours. Can I see your Jibri yml file?

my jitsi-jibre deployment file.

apiVersion: apps/v1
kind: Deployment
metadata:
labels:
k8s-app: jitsi-jibri
name: jitsi-jibri
namespace: jitsi
spec:
replicas: 1
strategy:
type: Recreate
selector:
matchLabels:
k8s-app: jitsi-jibri
template:
metadata:
labels:
k8s-app: jitsi-jibri
spec:
containers:
- name: jicofo
image: jitsi/jicofo
env:
- name: XMPP_SERVER
value: localhost
- name: XMPP_DOMAIN
value: meet.jitsi
- name: XMPP_AUTH_DOMAIN
value: auth.meet.jitsi
- name: XMPP_INTERNAL_MUC_DOMAIN
value: internal-muc.meet.jitsi
- name: JICOFO_COMPONENT_SECRET
valueFrom:
secretKeyRef:
name: jitsi-config
key: JICOFO_COMPONENT_SECRET
- name: JICOFO_AUTH_USER
value: focus
- name: JICOFO_AUTH_PASSWORD
valueFrom:
secretKeyRef:
name: jitsi-config
key: JICOFO_AUTH_PASSWORD
- name: TZ
value: America/Los_Angeles
- name: JVB_BREWERY_MUC
value: jvbbrewery
- name: prosody
image: jitsi/prosody
env:
- name: XMPP_DOMAIN
value: meet.jitsi
- name: XMPP_AUTH_DOMAIN
value: auth.meet.jitsi
- name: XMPP_MUC_DOMAIN
value: muc.meet.jitsi
- name: XMPP_INTERNAL_MUC_DOMAIN
value: internal-muc.meet.jitsi
- name: JICOFO_COMPONENT_SECRET
valueFrom:
secretKeyRef:
name: jitsi-config
key: JICOFO_COMPONENT_SECRET
- name: JVB_AUTH_USER
value: jvb
- name: JVB_AUTH_PASSWORD
valueFrom:
secretKeyRef:
name: jitsi-config
key: JVB_AUTH_PASSWORD
- name: JICOFO_AUTH_USER
value: focus
- name: JICOFO_AUTH_PASSWORD
valueFrom:
secretKeyRef:
name: jitsi-config
key: JICOFO_AUTH_PASSWORD
- name: TZ
value: America/Los_Angeles
- name: JVB_TCP_HARVESTER_DISABLED
value: “true”
- name: web
image: jitsi/web
env:
- name: XMPP_SERVER
value: localhost
- name: JICOFO_AUTH_USER
value: focus
- name: XMPP_DOMAIN
value: meet.jitsi
- name: XMPP_AUTH_DOMAIN
value: auth.meet.jitsi
- name: XMPP_INTERNAL_MUC_DOMAIN
value: internal-muc.meet.jitsi
- name: XMPP_BOSH_URL_BASE
value: http://127.0.0.1:5280
- name: XMPP_MUC_DOMAIN
value: muc.meet.jitsi
- name: TZ
value: America/Los_Angeles
- name: JVB_TCP_HARVESTER_DISABLED
value: “true”
- name: jvb
image: jitsi/jvb
env:
- name: XMPP_SERVER
value: localhost
- name: DOCKER_HOST_ADDRESS
value: 172.18.1.33
- name: XMPP_DOMAIN
value: meet.jitsi
- name: XMPP_AUTH_DOMAIN
value: auth.meet.jitsi
- name: XMPP_INTERNAL_MUC_DOMAIN
value: internal-muc.meet.jitsi
- name: JVB_STUN_SERVERS
value: stun.l.google.:19302,stun1.l.google.:19302,stun2.l.google.
- name: JICOFO_AUTH_USER
value: focus
- name: JVB_TCP_HARVESTER_DISABLED
value: “false”
- name: JVB_AUTH_USER
value: jvb
- name: JVB_PORT
value: “30700”
- name: JVB_TCP_PORT
value: “4443”
- name: JVB_AUTH_PASSWORD
valueFrom:
secretKeyRef:
name: jitsi-config
key: JVB_AUTH_PASSWORD
- name: JICOFO_AUTH_PASSWORD
valueFrom:
secretKeyRef:
name: jitsi-config
key: JICOFO_AUTH_PASSWORD
- name: JVB_BREWERY_MUC
value: jvbbrewery
- name: TZ
value: America/Los_Angeles
- name: jibri
image: jitsi/jibri
env:
- name: XMPP_AUTH_DOMAIN
value: auth.meet.jitsi
- name: XMPP_INTERNAL_MUC_DOMAIN
value: internal-muc.meet.jitsi
- name: XMPP_RECORDER_DOMAIN
value: recorder.meet.jitsi
- name: XMPP_SERVER
value: localhost
- name: XMPP_DOMAIN
value: meet.jitsi
- name: JIBRI_XMPP_USER
value: jibri
- name: JIBRI_XMPP_PASSWORD
valueFrom:
secretKeyRef:
name: jitsi-config
key: JICOFO_AUTH_PASSWORD
- name: JVB_BREWERY_MUC
value: jvbbrewery
- name: JIBRI_BREWERY_MUC
value: jibribrewery
- name: JIBRI_RECORDER_USER
value: recorder
- name: JIBRI_RECORDER_PASSWORD
valueFrom:
secretKeyRef:
name: jitsi-config
key: JICOFO_AUTH_PASSWORD
- name: JIBRI_RECORDING_DIR
value: /config/recordings
- name: JIBRI_FINALIZE_RECORDING_SCRIPT_PATH
value: /config/finalize.sh
- name: JIBRI_STRIP_DOMAIN_JID
value: conference
- name: JIBRI_LOGS_DIR
value: /config/logs
- name: DISPLAY
value: “:0”
- name: TZ
value: America/Los_Angeles

apiVersion: v1
kind: Service
metadata:
labels:
service: jvb-jibri
name: jvb-udp-jibri
namespace: jitsi
spec:
type: NodePort
externalTrafficPolicy: Cluster
ports:

  • port: 30700
    protocol: UDP
    targetPort: 30700
    nodePort: 30700
    selector:
    k8s-app: jitsi-jibri

apiVersion: v1
kind: Service
metadata:
labels:
service: web-jibri
name: web-jibri
namespace: jitsi
spec:
ports:

  • name: “http”
    port: 80
    targetPort: 80
    nodePort: 30110
  • name: “https”
    port: 443
    targetPort: 443
    nodePort: 30111
    type: NodePort
    selector:
    k8s-app: jitsi-jibri

it’s working without jibri container.
Thx for help.

Please use this for Jibri , this is what I have used