Jitsi Meet Operations

Doku

  1. DEBIAN Self-Hosting Guide - Debian/Ubuntu server | Jitsi Meet
  2. DOCKER Self-Hosting Guide - Docker | Jitsi Meet
  3. JITSI HAPROXY: Jitsi install with HAProxy · blog
  4. Secure Domain setup Secure Domain Setup | Jitsi Meet
  5. OIDC: jitsi-keycloak-adapter/docs/setup-standalone.md at main · nordeck/jitsi-keycloak-adapter · GitHub
  6. JITOK Jitsi Token Generator: GitHub - jitsi-contrib/jitok: Jitsi Token Generator
  7. JITSI FORUM https://community.jitsi.org/
  8. OIDC ADAPTER siehe Third-Party Software | Jitsi Meet
  9. nordeck jitsi-keycloak-adapter jitsi-keycloak-adapter/docs/setup-standalone.md at main · nordeck/jitsi-keycloak-adapter · GitHub
  10. CONFIG: Configuration | Jitsi Meet

TEST

from outside

thommie@locutus:~> nc -vz -u meet.netzwissen.de 10000
Connection to meet.netzwissen.de (148.251.43.62) 10000 port [udp/ndmp] succeeded!


Containers

haproxy container 105

## for jitsi meet: redirecting the UDP RTC stream from haproxy to the container  
## haproxy can not handle udp, only the commercial version  
## Source: https://minus273.org/project/jitsi-haproxy/  
post-up iptables -A FORWARD -j ACCEPT -d 10.10.10.52 -p udp -m multiport --dport 10000  
post-up iptables -A PREROUTING -t nat -p udp -d 148.251.43.62 --dport 10000 -j DNAT --to 10.10.10.52
odysseus4:~ # nmap -Pn -sU -p 10000 meet.netzwissen.de  
Starting Nmap 7.95 ( https://nmap.org ) at 2025-06-11 22:06 CEST  
Nmap scan report for meet.netzwissen.de (148.251.43.62)  
Host is up.  
rDNS record for 148.251.43.62: lb1.netzwissen.de  
  
PORT      STATE         SERVICE  
10000/udp open|filtered ndmp

haproxy host 105

post-up iptables -A PREROUTING -t nat -p udp -d 148.251.43.62 --dport 10000 -j DNAT --to 10.10.10.52
post-up iptables -A FORWARD -j ACCEPT -d 10.10.10.52 -p udp -m multiport --dport 10000

kakariki

iptables -A PREROUTING -i vmbr0 -t nat -p udp --dport 10000 -j DNAT --to-destination 10.10.10.52:10000  
iptables -A FORWARD -j ACCEPT -d 10.10.10.52 -p udp -m multiport --dport 10000  
iptables -t nat -A POSTROUTING -p tcp --sport 10000 -s 10.10.10.52 -j SNAT --to-source 148.251.43.62:10000

nmap -Pn -sU -p 10000 meet.netzwissen.de

  ## for jitsi-meet: haproxy can not handle udp forwardings  
   ## Source: https://minus273.org/project/jitsi-haproxy/  
   post-up iptables -A PREROUTING -i vmbr0 -t nat -p udp --dport 10000 -j DNAT --to-destination 10.10.10.52:10000  
   post-up iptables -t nat -A POSTROUTING -p tcp --sport 10000 -s 10.10.10.52 -j SNAT --to-source 148.251.43.46:10000


Users

Secure Domain Setup in /etc/prosody/conf.d/meet.netzwissen.de.cfg.lua

VirtualHost „meet.netzwissen.de
authentication=„internal_hashed“

User anlegen

root@jitsimeet:/etc/prosody/conf.d# prosodyctl register tester meet.netzwissen.de start123  
usermanager         info        User account created: tester@meet.netzwissen.de

Userdaten liegen hashed auf

root@jitsimeet2:/var/lib/prosody/meet%2enetzwissen%2ede/accounts# ls  
admin.dat  freifunk.dat  lxcafe.dat

less admin.dat    
return {  
       ["stored_key"] = "e4cfca3e117e8e536a98f727662df8adaa2e44c9";  
       ["iteration_count"] = 10000;  
       ["salt"] = "2717f3ca-a22a-4f89-a8aa-1c20411d7ad7";  
       ["server_key"] = "04772e2e1dfcb6a9b0a21f1462297823a998f230";  
       ["updated"] = 1748178853;  
       ["created"] = 1748178853;


Neustarten alle Prozesse

systemctl restart prosody
systemctl restart jicofo
systemctl restart jitsi-videobridge2

Secure Domain Setup


Meeting Config Examples


Logs

/var/log/jitsi/jvb.log
/var/log/jitsi/jicofo.log


Externe User DB postgresql


Turnserver

root@haprox1:/etc/turnserver.conf

INSTALL

Test

:double_exclamation_mark: Noch offenes Thema

Debug

odysseus4:~ # nmap -sU -p 10000 meet.netzwissen.de
Starting Nmap 7.95 ( https://nmap.org ) at 2025-07-23 14:01 CEST
Nmap scan report for meet.netzwissen.de (148.251.43.62)
Host is up (0.015s latency).
rDNS record for 148.251.43.62: lb1.netzwissen.de

PORT STATE SERVICE
10000/udp open|filtered ndmp

JVB 2025-07-23 11:58:43.600 INFO: [65] [confId=f673c5a535cb3653 conf_name=test@conference.meet.netzwissen.de meeting_id=c5f03488 epId=bea9850f stats_id=Wil  
ey-4AS local_ufrag=a2oed1j0rics0v ufrag=a2oed1j0rics0v] ConnectivityCheckClient.startChecks#147: Start connectivity checks.  
JVB 2025-07-23 11:58:43.600 INFO: [65] [confId=f673c5a535cb3653 conf_name=test@conference.meet.netzwissen.de meeting_id=c5f03488] Conference.lambda$new$1#2  
58: SENT colibri2 response: <iq xmlns='jabber:client' to='jvbbrewery@internal.auth.meet.netzwissen.de/focus' from='jvb@auth.meet.netzwissen.de/UCaSIUJwbaIr  
' id='anZiQGF1dGgubWVldC5uZXR6d2lzc2VuLmRlL1VDYVNJVUp3YmFJcgBGSEszQy0zMAD7A+Qz4grTuQ==' type='result'><conference-modified xmlns='jitsi:colibri2'><endpoint  
xmlns='jitsi:colibri2' id='bea9850f'/></conference-modified></iq>  
JVB 2025-07-23 11:58:56.920 INFO: [65] [confId=f673c5a535cb3653 conf_name=test@conference.meet.netzwissen.de meeting_id=c5f03488] Conference.lambda$new$1#2  
31: RECV colibri2 request: <iq xmlns="jabber:client" to="jvb@auth.meet.netzwissen.de/UCaSIUJwbaIr" from="jvbbrewery@internal.auth.meet.netzwissen.de/focus"  
id="anZiQGF1dGgubWVldC5uZXR6d2lzc2VuLmRlL1VDYVNJVUp3YmFJcgBGSEszQy0zMQD7A+Qz4grTuQ==" type="get"><conference-modify xmlns="jitsi:colibri2" meeting-id="c5f  
03488-85c1-4371-8f9b-d1be16bc3fc2"><endpoint id="c50fc340" expire="true"/></conference-modify></iq>  
JVB 2025-07-23 11:58:56.921 INFO: [65] [confId=f673c5a535cb3653 conf_name=test@conference.meet.netzwissen.de meeting_id=c5f03488 epId=c50fc340 stats_id=Ren  
ee-R5D] Endpoint.expire#1030: Spent 0 seconds oversending  
JVB 2025-07-23 11:58:56.921 INFO: [65] [confId=f673c5a535cb3653 conf_name=test@conference.meet.netzwissen.de meeting_id=c5f03488 epId=c50fc340 stats_id=Ren  
ee-R5D] DtlsTransport.stop#212: Stopping  
JVB 2025-07-23 11:58:56.921 INFO: [65] [confId=f673c5a535cb3653 conf_name=test@conference.meet.netzwissen.de meeting_id=c5f03488 epId=c50fc340 stats_id=Ren  
ee-R5D local_ufrag=30qvc1j0ricqn4] IceTransport.stop#281: Stopping  
JVB 2025-07-23 11:58:56.921 INFO: [65] [confId=f673c5a535cb3653 conf_name=test@conference.meet.netzwissen.de meeting_id=c5f03488 epId=c50fc340 stats_id=Ren  
ee-R5D local_ufrag=30qvc1j0ricqn4 ufrag=30qvc1j0ricqn4] Agent.setState#936: ICE state changed from Running to Terminated.  
JVB 2025-07-23 11:58:56.921 INFO: [65] [confId=f673c5a535cb3653 conf_name=test@conference.meet.netzwissen.de meeting_id=c5f03488 epId=c50fc340 stats_id=Ren  
ee-R5D] Endpoint.expire#1051: Expired.  
JVB 2025-07-23 11:58:56.922 INFO: [65] [confId=f673c5a535cb3653 conf_name=test@conference.meet.netzwissen.de meeting_id=c5f03488] Conference.lambda$new$1#2  
58: SENT colibri2 response: <iq xmlns='jabber:client' to='jvbbrewery@internal.auth.meet.netzwissen.de/focus' from='jvb@auth.meet.netzwissen.de/UCaSIUJwbaIr  
' id='anZiQGF1dGgubWVldC5uZXR6d2lzc2VuLmRlL1VDYVNJVUp3YmFJcgBGSEszQy0zMQD7A+Qz4grTuQ==' type='result'><conference-modified xmlns='jitsi:colibri2'><endpoint  
xmlns='jitsi:colibri2' id='c50fc340' expire='true'/></conference-modified></iq>  
JVB 2025-07-23 11:58:58.453 INFO: [65] [confId=f673c5a535cb3653 conf_name=test@conference.meet.netzwissen.de meeting_id=c5f03488] Conference.lambda$new$1#2  
31: RECV colibri2 request: <iq xmlns="jabber:client" to="jvb@auth.meet.netzwissen.de/UCaSIUJwbaIr" from="jvbbrewery@internal.auth.meet.netzwissen.de/focus"  
id="anZiQGF1dGgubWVldC5uZXR6d2lzc2VuLmRlL1VDYVNJVUp3YmFJcgBGSEszQy0zMgD7A+Qz4grTuQ==" type="get"><conference-modify xmlns="jitsi:colibri2" meeting-id="c5f  
03488-85c1-4371-8f9b-d1be16bc3fc2" expire="true"/></iq>  
JVB 2025-07-23 11:58:58.453 INFO: [65] [confId=f673c5a535cb3653 conf_name=test@conference.meet.netzwissen.de meeting_id=c5f03488] Colibri2ConferenceHandler  
.handleConferenceModifyIQ#72: Received request to expire conference.  
JVB 2025-07-23 11:58:58.453 INFO: [65] [confId=f673c5a535cb3653 conf_name=test@conference.meet.netzwissen.de meeting_id=c5f03488] Conference.lambda$new$1#2  
58: SENT colibri2 response: <iq xmlns='jabber:client' to='jvbbrewery@internal.auth.meet.netzwissen.de/focus' from='jvb@auth.meet.netzwissen.de/UCaSIUJwbaIr