knb:meet-server

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
knb:meet-server [2020/03/21 10:29] awickertknb:meet-server [2020/09/02 07:46] (aktuell) Django
Zeile 1: Zeile 1:
-====== Freifunk München Jitsi Server Setup ======+~~NOTOC~~ 
 +/* *** Titelbalken *** */ 
 +<WRAP center box 100%> 
 +<fs xx-large><fc #de2c68> Freifunk München Jitsi Server Setup - meet.ffmuc.net</fc></fs> 
 +{{ :ffmuc_logo.png?nolink&125|Bild: Freifunk München Logo}} 
 +</WRAP>https://ffmuc.net/wiki/doku.php?id=knb:meet-server&do= 
  
 ==== Brief overview ==== ==== Brief overview ====
 The setup consists of multiple Jitsi videobridges which can be added and removed on demand as well as one control server which does the loadbalancing decisions. The setup consists of multiple Jitsi videobridges which can be added and removed on demand as well as one control server which does the loadbalancing decisions.
  
-Each server has at least 2vCPUs4GB RAM and 10GB disc space. But the most important thing is bandwidth so a 1Gbit/s link is necessary for smooth operation.+Each server has at least 8vCPUs16GB RAM and 10GB disc space. But the most important thing is bandwidth so a 1Gbit/s link is necessary for smooth operation.  
 + 
 +The more CPUs you have the better, also you need good network hardware as you can expect many pps. 
 + 
 +<WRAP center round alert 60%> 
 +This page is outdated at the moment we don't use pubsub anymore but switched to MUC and do OCTO. 
 +</WRAP> 
 + 
 +We did some presentations about the setup you can find them at [[https://www.slideshare.net/AnnikaWickert|SlideShare]]. 
 + 
 +If you want to ask us questions join our [[https://chat.ffmuc.net/freifunk/channels/services-meet|chat]]!
  
 ===== Initial setup (control server) ===== ===== Initial setup (control server) =====
  
-We installed the first instance as described on https://jitsi.org/downloads and stopped the videobridge there, because the first server should only act as a control server. If you only a single instance skip the step of disabling the videobridge just set the settings, restart and be done.+We installed the first instance as described on https://jitsi.org/downloads and stopped the videobridge there, because the first server should only act as a control server. If you only host a single instance skip the step of disabling the videobridge. Just set the settings, restart and be done.
  
 Disable the videobridge: Disable the videobridge:
Zeile 21: Zeile 37:
 defaultLanguage: 'de', defaultLanguage: 'de',
 disableThirdPartyRequests: true, disableThirdPartyRequests: true,
 +p2p: { enabled: false },
 enableLipSync: false enableLipSync: false
 </code> </code>
 +
 +
  
 ==== Prosody Setup for loadbalancing (control server) ==== ==== Prosody Setup for loadbalancing (control server) ====
  
 <WRAP center round important 60%> <WRAP center round important 60%>
-Most important thing is to get hostnames and DNS settings correct for each instance, otherwise your setup will fail.</WRAP>+Most important thing is to get hostnames and DNS settings correct for each instance, otherwise your setup will fail. 
 +</WRAP>
  
  
Zeile 38: Zeile 58:
         "jvb1.meet.ffmuc.net",         "jvb1.meet.ffmuc.net",
         "jvb2.meet.ffmuc.net",         "jvb2.meet.ffmuc.net",
-        "jvb3.meet.ffmuc.net", +        "jvb3.meet.ffmuc.net"
-        "jvb4.meet.ffmuc.net", +
-        "jvb5.meet.ffmuc.net", +
-        "jvb6.meet.ffmuc.net", +
-        "jvb7.meet.ffmuc.net", +
-        "jvb8.meet.ffmuc.net", +
-        "jvb9.meet.ffmuc.net", +
-        "jvb10.meet.ffmuc.net", +
-        "jvb11.meet.ffmuc.net", +
-        "jvb12.meet.ffmuc.net", +
-        "jvb13.meet.ffmuc.net", +
-        "jvb14.meet.ffmuc.net", +
-        "jvb15.meet.ffmuc.net"+
 } }
 +</code>
 +
 +As we want to scale beyond 1024 connections we also switch to epoll in prosody.cfg.lua.
 +<code>
 +-- for better scaling
 +-- https://prosody.im/doc/network_backend
 +network_backend = "epoll"
 +</code>
 +
 +And as we want external videobridges we need to listen on the external interface and not just localhost:
 +<code>
 +component_interface = "0.0.0.0";
 </code> </code>
  
Zeile 62: Zeile 82:
     component_secret = "pass"     component_secret = "pass"
 Component "jvb3.meet.ffmuc.net" Component "jvb3.meet.ffmuc.net"
-    component_secret = "pass" 
-Component "jvb4.meet.ffmuc.net" 
-    component_secret = "pass" 
-Component "jvb5.meet.ffmuc.net" 
-    component_secret = "pass" 
-Component "jvb6.meet.ffmuc.net" 
-    component_secret = "pass" 
-Component "jvb7.meet.ffmuc.net" 
-    component_secret = "pass" 
-Component "jvb8.meet.ffmuc.net" 
-    component_secret = "pass" 
-Component "jvb9.meet.ffmuc.net" 
-    component_secret = "pass" 
-Component "jvb10.meet.ffmuc.net" 
-    component_secret = "pass" 
-Component "jvb11.meet.ffmuc.net" 
-    component_secret = "pass" 
-Component "jvb12.meet.ffmuc.net" 
-    component_secret = "pass" 
-Component "jvb13.meet.ffmuc.net" 
-    component_secret = "pass" 
-Component "jvb14.meet.ffmuc.net" 
-    component_secret = "pass" 
-Component "jvb15.meet.ffmuc.net" 
     component_secret = "pass"     component_secret = "pass"
 </code> </code>
Zeile 91: Zeile 87:
 ==== Videobridges for loadbalancing ==== ==== Videobridges for loadbalancing ====
  
-On those servers **only** the jitsi-videobridge is installed there is no need for any other jitsi component.+On those servers **only** the ''jitsi-videobridge'' needs to be installed. There is no need for any other jitsi component.
  
 <WRAP center round important 60%> <WRAP center round important 60%>
Zeile 97: Zeile 93:
 </WRAP> </WRAP>
  
-First you need to change /etc/jitsi/videobridge/config to fit your install.+First you need to change ''/etc/jitsi/videobridge/config'' to fit your install.
  
 <WRAP center round tip 60%> <WRAP center round tip 60%>
Zeile 104: Zeile 100:
  
 <WRAP center round tip 60%> <WRAP center round tip 60%>
-The "subdomain" setting has to match first part of your hostname in this example the hostname is jvb1.meet.ffmuc.net.+The "subdomain" setting has to match first part of your hostname in this example the hostname is ''jvb1.meet.ffmuc.net''.
  
 We also enable statistics for later polling via Telegraf (--apis). We also enable statistics for later polling via Telegraf (--apis).
Zeile 142: Zeile 138:
 org.jitsi.videobridge.AUTHORIZED_SOURCE_REGEXP=focus@auth.meet.ffmuc.net/.* org.jitsi.videobridge.AUTHORIZED_SOURCE_REGEXP=focus@auth.meet.ffmuc.net/.*
 org.jitsi.videobridge.ENABLE_STATISTICS=true org.jitsi.videobridge.ENABLE_STATISTICS=true
-#org.jitsi.videobridge.STATISTICS_TRANSPORT=muc,colibri 
 org.jitsi.videobridge.STATISTICS_INTERVAL=1000 org.jitsi.videobridge.STATISTICS_INTERVAL=1000
 org.jitsi.videobridge.STATISTICS_TRANSPORT=muc,colibri,pubsub org.jitsi.videobridge.STATISTICS_TRANSPORT=muc,colibri,pubsub
Zeile 149: Zeile 144:
 </code> </code>
  
 +===== Bonus: Monitoring =====
 +
 +We use telegraf to poll the statistics of the videobridges. We just use the exec section of Telegraf, to get the data.
 +
 +Example: [[https://stats.ffmuc.net/d/U6sKqPuZz/meet-stats?orgId=1&refresh=1m|Our grafana dashboard]]
 +
 +/etc/telegraf/telegraf.conf 
 +<code>
 +[[inputs.exec]]
 +   commands = [
 +     "curl localhost:8080/colibri/stats",
 +   ]
 +   name_suffix = "_meet"
 +   data_format = "json"
 +</code>
 +
 +===== Hint for smooth operation =====
 +
 +<WRAP center round tip 60%>
 +Use Chrome or it's derivates as client. The Mobile and Desktop Apps of jitsi-meet work as well.
 +
 +Avoid using Firefox! It causes problems for the Firefox-user but as well the other parties which do not use Firefox.
 +</WRAP>
  
  • knb/meet-server.txt
  • Zuletzt geändert: 2020/09/02 07:46
  • von Django