<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
	<id>http://jitsiwiki.riu.edu.ar/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mzigaran</id>
	<title>JitsiWiki ARIU - Contribuciones del usuario [es]</title>
	<link rel="self" type="application/atom+xml" href="http://jitsiwiki.riu.edu.ar/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mzigaran"/>
	<link rel="alternate" type="text/html" href="http://jitsiwiki.riu.edu.ar/index.php/Especial:Contribuciones/Mzigaran"/>
	<updated>2026-05-08T12:02:26Z</updated>
	<subtitle>Contribuciones del usuario</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>http://jitsiwiki.riu.edu.ar/index.php?title=Script_instalaci%C3%B3n&amp;diff=52</id>
		<title>Script instalación</title>
		<link rel="alternate" type="text/html" href="http://jitsiwiki.riu.edu.ar/index.php?title=Script_instalaci%C3%B3n&amp;diff=52"/>
		<updated>2023-07-05T12:47:47Z</updated>

		<summary type="html">&lt;p&gt;Mzigaran: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [https://nube.unq.edu.ar/s/X9fzgP38gsG3ZKm Script de instalación de jitsi-meet en debian 10]&lt;br /&gt;
* [https://nube.unq.edu.ar/s/4jz2k7BaBm8PYMz Script de instalación de jitsi-videobridge2 en debian 10]&lt;br /&gt;
* [https://nube.unq.edu.ar/s/3XQiBrcX5pMHHDq Script de instalación de jibri en debian 10]&lt;br /&gt;
* [https://nube.unq.edu.ar/s/QmGFpfc3BbjCMfn Script de instalación de jitsi-meet en debian 9]&lt;br /&gt;
* [https://nube.unq.edu.ar/s/qwZfqer8DAtpXFM Script de instalación de jitsi-videobridge2 en debian 9]&lt;br /&gt;
* [https://nube.unq.edu.ar/s/iarFYLfbodwJD5M Script de instalación de jibri en debian 9]&lt;/div&gt;</summary>
		<author><name>Mzigaran</name></author>
	</entry>
	<entry>
		<id>http://jitsiwiki.riu.edu.ar/index.php?title=P%C3%A1gina_principal&amp;diff=51</id>
		<title>Página principal</title>
		<link rel="alternate" type="text/html" href="http://jitsiwiki.riu.edu.ar/index.php?title=P%C3%A1gina_principal&amp;diff=51"/>
		<updated>2023-07-03T18:35:15Z</updated>

		<summary type="html">&lt;p&gt;Mzigaran: /* Scrip de Instalación */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== [[Despliegue de Jitsi con Docker]] ===&lt;br /&gt;
&lt;br /&gt;
=== [[Instalación de Servidor Jitsi-meet|Instalación de Jitsi sobre Debian 10]] ===&lt;br /&gt;
&lt;br /&gt;
=== [[Instalación de Servidor Jitsi con token|Instalación de Autenticación de Jitsi por token en Debian 9]] ===&lt;br /&gt;
&lt;br /&gt;
=== [[Template VM Proxmox|Templates Proxmox]] ===&lt;br /&gt;
&lt;br /&gt;
=== [[Template VM Proxmox|Templates VMware]] ===&lt;br /&gt;
&lt;br /&gt;
=== [[Instalar y configurar paneles de Grafana para monitorear Jitsi|Monitoreo con Grafana]] ===&lt;br /&gt;
&lt;br /&gt;
=== [[Script instalación|Scrip de Instalación]] ===&lt;br /&gt;
&lt;br /&gt;
== Jitsiwiki.riu.edu.ar ==&lt;br /&gt;
&lt;br /&gt;
* [[Despliegue Docker]]&lt;br /&gt;
* [[Instalación de Servidor Jitsi con token]]&lt;br /&gt;
* [[Instalación de Servidor Jitsi-meet]]&lt;br /&gt;
* [[Instalar y configurar paneles de Grafana para monitorear Jitsi]]&lt;br /&gt;
* [[Script_instalación]]&lt;br /&gt;
* [[Template VM Proxmox|Templates VM Proxmox]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Primeros pasos ==&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Lista de ajustes de configuración]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ Preguntas frecuentes sobre MediaWiki]&lt;br /&gt;
* [https://lists.wikimedia.org/postorius/lists/mediawiki-announce.lists.wikimedia.org/ Lista de correo de anuncios de publicación de MediaWiki]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Traducir MediaWiki a tu idioma]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Aprende a combatir el spam en tu wiki]&lt;/div&gt;</summary>
		<author><name>Mzigaran</name></author>
	</entry>
	<entry>
		<id>http://jitsiwiki.riu.edu.ar/index.php?title=Script_instalaci%C3%B3n&amp;diff=50</id>
		<title>Script instalación</title>
		<link rel="alternate" type="text/html" href="http://jitsiwiki.riu.edu.ar/index.php?title=Script_instalaci%C3%B3n&amp;diff=50"/>
		<updated>2023-07-03T18:24:33Z</updated>

		<summary type="html">&lt;p&gt;Mzigaran: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[Script de instalacion de jitsi-meet en debian 10]]&lt;br /&gt;
* [[Script de instalacion de jitsi-videobridge2 en debian 10]]&lt;br /&gt;
* [[Script de instalacion de jibri en debian 10]]&lt;br /&gt;
* [[Script de instalacion de jitsi-meet en debian 9]]&lt;br /&gt;
* [[Script de instalacion de jitsi-videobridge2 en debian 9]]&lt;br /&gt;
* [[Script de instalacion de jibri en debian 9]]&lt;/div&gt;</summary>
		<author><name>Mzigaran</name></author>
	</entry>
	<entry>
		<id>http://jitsiwiki.riu.edu.ar/index.php?title=P%C3%A1gina_principal&amp;diff=49</id>
		<title>Página principal</title>
		<link rel="alternate" type="text/html" href="http://jitsiwiki.riu.edu.ar/index.php?title=P%C3%A1gina_principal&amp;diff=49"/>
		<updated>2023-07-03T18:23:21Z</updated>

		<summary type="html">&lt;p&gt;Mzigaran: /* Monitoreo con Grafana */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== [[Despliegue de Jitsi con Docker]] ===&lt;br /&gt;
&lt;br /&gt;
=== [[Instalación de Servidor Jitsi-meet|Instalación de Jitsi sobre Debian 10]] ===&lt;br /&gt;
&lt;br /&gt;
=== [[Instalación de Servidor Jitsi con token|Instalación de Autenticación de Jitsi por token en Debian 9]] ===&lt;br /&gt;
&lt;br /&gt;
=== [[Template VM Proxmox|Templates Proxmox]] ===&lt;br /&gt;
&lt;br /&gt;
=== [[Template VM Proxmox|Templates VMware]] ===&lt;br /&gt;
&lt;br /&gt;
=== [[Instalar y configurar paneles de Grafana para monitorear Jitsi|Monitoreo con Grafana]] ===&lt;br /&gt;
&lt;br /&gt;
=== [[Scrip de Instalación]] ===&lt;br /&gt;
&lt;br /&gt;
== Jitsiwiki.riu.edu.ar ==&lt;br /&gt;
&lt;br /&gt;
* [[Despliegue Docker]]&lt;br /&gt;
* [[Instalación de Servidor Jitsi con token]]&lt;br /&gt;
* [[Instalación de Servidor Jitsi-meet]]&lt;br /&gt;
* [[Instalar y configurar paneles de Grafana para monitorear Jitsi]]&lt;br /&gt;
* [[Script_instalación]]&lt;br /&gt;
* [[Template VM Proxmox|Templates VM Proxmox]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Primeros pasos ==&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Lista de ajustes de configuración]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ Preguntas frecuentes sobre MediaWiki]&lt;br /&gt;
* [https://lists.wikimedia.org/postorius/lists/mediawiki-announce.lists.wikimedia.org/ Lista de correo de anuncios de publicación de MediaWiki]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Traducir MediaWiki a tu idioma]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Aprende a combatir el spam en tu wiki]&lt;/div&gt;</summary>
		<author><name>Mzigaran</name></author>
	</entry>
	<entry>
		<id>http://jitsiwiki.riu.edu.ar/index.php?title=Instalar_y_configurar_paneles_de_Grafana_para_monitorear_Jitsi&amp;diff=48</id>
		<title>Instalar y configurar paneles de Grafana para monitorear Jitsi</title>
		<link rel="alternate" type="text/html" href="http://jitsiwiki.riu.edu.ar/index.php?title=Instalar_y_configurar_paneles_de_Grafana_para_monitorear_Jitsi&amp;diff=48"/>
		<updated>2023-07-03T18:22:07Z</updated>

		<summary type="html">&lt;p&gt;Mzigaran: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Instalación realizada en ubuntu 18.04&lt;br /&gt;
&lt;br /&gt;
La idea es explicar brevemente los pasos para la instalación de un servidor “grafana” (170.x.x.x) que nos permita monitorear nuestra implementación de Jitsi.&lt;br /&gt;
&lt;br /&gt;
Paso 1: Instalar la base de datos (InfluxDB) para alojar los datos de los paneles&lt;br /&gt;
&lt;br /&gt;
Paso 2: Instalar Grafana para mostrar las estadísticas jitsi en los paneles&lt;br /&gt;
&lt;br /&gt;
Paso 3: Instalar el servicio (telegraf) para recopilar estadísticas y escribir en la base de datos (InfluxDB) Servidor: “jitsi” (177.x.x.x)&lt;br /&gt;
&lt;br /&gt;
Paso 4: Adaptar la configuración de Jitsi para exponer estadísticas&lt;br /&gt;
----Paso 1: instalar InfluxDB&lt;br /&gt;
 apt update &amp;amp;&amp;amp; apt install -y gnupg2 curl wget&lt;br /&gt;
 wget -qO- &amp;lt;nowiki&amp;gt;https://repos.influxdata.com/influxdb.key&amp;lt;/nowiki&amp;gt; | sudo apt-key add&lt;br /&gt;
 -echo &amp;quot;deb &amp;lt;nowiki&amp;gt;https://repos.influxdata.com/debian&amp;lt;/nowiki&amp;gt; buster stable&amp;quot; | sudo tee /etc/apt/sources.list.d/influxdb.list&lt;br /&gt;
 apt update &amp;amp;&amp;amp; apt install influxdb -y&lt;br /&gt;
 systemctl enable --now influxdb&lt;br /&gt;
 systemctl status influxdb&lt;br /&gt;
Si tiene un firewall (es decir, ufw) en este servidor, abrir el puerto para influxdb y grafana webserver:&lt;br /&gt;
 ufw allow 8086/tcp&lt;br /&gt;
 ufw allow 3000/tcp&lt;br /&gt;
Paso 2: Instalar Grafana para mostrar paneles de estadísticas&lt;br /&gt;
 curl &amp;lt;nowiki&amp;gt;https://packages.grafana.com/gpg.key&amp;lt;/nowiki&amp;gt; | sudo apt-key add -&lt;br /&gt;
 add-apt-repository &amp;quot;deb &amp;lt;nowiki&amp;gt;https://packages.grafana.com/oss/deb&amp;lt;/nowiki&amp;gt; stable main&amp;quot;&lt;br /&gt;
 apt update &amp;amp;&amp;amp; apt install grafana -y&lt;br /&gt;
 systemctl enable --now grafana-server&lt;br /&gt;
 systemctl status grafana-server&lt;br /&gt;
Paso 3: Instalar y configurar telegraf&lt;br /&gt;
 wget -qO- &amp;lt;nowiki&amp;gt;https://repos.influxdata.com/influxdb.key&amp;lt;/nowiki&amp;gt; | sudo apt-key add -&lt;br /&gt;
 echo &amp;quot;deb &amp;lt;nowiki&amp;gt;https://repos.influxdata.com/debian&amp;lt;/nowiki&amp;gt; buster stable&amp;quot; | sudo tee /etc/apt/sources.list.d/influxdb.list&lt;br /&gt;
 apt update &amp;amp;&amp;amp; apt install telegraf -y&lt;br /&gt;
 mv /etc/telegraf/telegraf.conf /etc/telegraf/telegraf.conf.original&lt;br /&gt;
 nano /etc/telegraf/telegraf.conf&lt;br /&gt;
Editar el archivo telegraf.conf:&lt;br /&gt;
 [global_tags]&lt;br /&gt;
 &lt;br /&gt;
 ###############################################################################&lt;br /&gt;
 #   GLOBAL                                     #&lt;br /&gt;
 ###############################################################################&lt;br /&gt;
 &lt;br /&gt;
 [agent]&lt;br /&gt;
     interval = &amp;quot;10s&amp;quot;&lt;br /&gt;
     debug = false&lt;br /&gt;
     hostname = &amp;quot;jitsi_host&amp;quot;&lt;br /&gt;
     round_interval = true&lt;br /&gt;
     flush_interval = &amp;quot;10s&amp;quot;&lt;br /&gt;
     flush_jitter = &amp;quot;0s&amp;quot;&lt;br /&gt;
     collection_jitter = &amp;quot;0s&amp;quot;&lt;br /&gt;
     metric_batch_size = 1000&lt;br /&gt;
     metric_buffer_limit = 10000&lt;br /&gt;
     quiet = false&lt;br /&gt;
     logfile = &amp;quot;&amp;quot;&lt;br /&gt;
     omit_hostname = false&lt;br /&gt;
Editar el archivo jitsi.conf:&lt;br /&gt;
 ###############################################################################&lt;br /&gt;
 #   INPUTS                                     #&lt;br /&gt;
 ###############################################################################&lt;br /&gt;
 &lt;br /&gt;
 [[inputs.http|inputs.http]]&lt;br /&gt;
     name_override = &amp;quot;jitsi_stats&amp;quot;&lt;br /&gt;
     urls = [&lt;br /&gt;
       &amp;quot;&amp;lt;nowiki&amp;gt;http://177.x.x.x:8080/colibri/stats&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
     ]&lt;br /&gt;
     data_format = &amp;quot;json&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 ###############################################################################&lt;br /&gt;
 #                                  OUTPUTS                                    #&lt;br /&gt;
 ###############################################################################&lt;br /&gt;
 &lt;br /&gt;
 [[outputs.influxdb|outputs.influxdb]]&lt;br /&gt;
     urls = [&amp;quot;&amp;lt;nowiki&amp;gt;http://localhost:8086&amp;lt;/nowiki&amp;gt;&amp;quot;]&lt;br /&gt;
     database = &amp;quot;jitsi&amp;quot;&lt;br /&gt;
     timeout = &amp;quot;0s&amp;quot;&lt;br /&gt;
     retention_policy = &amp;quot;&amp;quot;&lt;br /&gt;
Seteamos en el arranque el inicio de telegraf&lt;br /&gt;
 systemctl enable --now telegraf&lt;br /&gt;
 systemctl status telegraf&lt;br /&gt;
( no crearemos una base de datos ya que Telegraf creará nuestra base de datos si no encuentra una)&lt;br /&gt;
&lt;br /&gt;
Paso 4: Adaptar la configuración de Jitsi para que muestre las estadísticas&lt;br /&gt;
 nano /etc/jitsi/videobridge/config&lt;br /&gt;
configure las opciones de jvb :&lt;br /&gt;
 JVB_OPTS=&amp;quot;–apis=rest,xmpp&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 nano /etc/jitsi/videobridge/sip-communicator.properties&lt;br /&gt;
Acá se activan las estadísticas:&lt;br /&gt;
 org.jitsi.videobridge.ENABLE_STATISTICS=true&lt;br /&gt;
 &lt;br /&gt;
 org.jitsi.videobridge.STATISTICS_TRANSPORT=muc,colibri&lt;br /&gt;
Reiniciamos el videobridge&lt;br /&gt;
 service jitsi-videobridge restart&lt;br /&gt;
Dentro del servidor jitsi : debería responder con las estadísticas, que están en formato json.&lt;br /&gt;
&lt;br /&gt;
curl -v http://127.0.0.1:8080/colibri/stats&lt;br /&gt;
&lt;br /&gt;
Response:&lt;br /&gt;
 {&amp;quot;inactive_endpoints&amp;quot;:0,&amp;quot;inactive_conferences&amp;quot;:0,&amp;quot;total_ice_succeeded_relayed&amp;quot;:0,&lt;br /&gt;
 &amp;quot;total_loss_degraded_participant_seconds&amp;quot;:0,&amp;quot;bit_rate_download&amp;quot;:0,&amp;quot;muc_clients_connected&amp;quot;:1,&lt;br /&gt;
 &amp;quot;total_participants&amp;quot;:0,&amp;quot;total_packets_received&amp;quot;:0,&amp;quot;rtt_aggregate&amp;quot;:0.0,&amp;quot;packet_rate_upload&amp;quot;:0,&lt;br /&gt;
 &amp;quot;p2p_conferences&amp;quot;:0,&amp;quot;total_loss_limited_participant_seconds&amp;quot;:0,&amp;quot;octo_send_bitrate&amp;quot;:0,&lt;br /&gt;
 &amp;quot;total_dominant_speaker_changes&amp;quot;:0,&amp;quot;receive_only_endpoints&amp;quot;:0,&lt;br /&gt;
 &amp;quot;total_colibri_web_socket_messages_received&amp;quot;:0,&amp;quot;octo_receive_bitrate&amp;quot;:0,&lt;br /&gt;
 &amp;quot;loss_rate_upload&amp;quot;:0.0,&amp;quot;version&amp;quot;:&amp;quot;2.1.169-ga28eb88e&amp;quot;,&amp;quot;total_ice_succeeded&amp;quot;:0,&lt;br /&gt;
 &amp;quot;total_colibri_web_socket_messages_sent&amp;quot;:0,&amp;quot;total_bytes_sent_octo&amp;quot;:0,&lt;br /&gt;
 &amp;quot;total_data_channel_messages_received&amp;quot;:0,&amp;quot;loss_rate_download&amp;quot;:0.0,&lt;br /&gt;
 &amp;quot;total_conference_seconds&amp;quot;:0,&amp;quot;bit_rate_upload&amp;quot;:0,&amp;quot;total_conferences_completed&amp;quot;:0,&lt;br /&gt;
 &amp;quot;octo_conferences&amp;quot;:0,&amp;quot;num_eps_no_msg_transport_after_delay&amp;quot;:0,&amp;quot;endpoints_sending_video&amp;quot;:0,&lt;br /&gt;
 &amp;quot;packet_rate_download&amp;quot;:0,&amp;quot;muc_clients_configured&amp;quot;:1,&lt;br /&gt;
 &amp;quot;conference_sizes&amp;quot;:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],&amp;quot;total_packets_sent_octo&amp;quot;:0,&lt;br /&gt;
 &amp;quot;conferences_by_video_senders&amp;quot;:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],&amp;quot;videostreams&amp;quot;:0,&lt;br /&gt;
 &amp;quot;jitter_aggregate&amp;quot;:0.0,&amp;quot;total_ice_succeeded_tcp&amp;quot;:0,&amp;quot;octo_endpoints&amp;quot;:0,&lt;br /&gt;
 &amp;quot;current_timestamp&amp;quot;:&amp;quot;2020-04-17 23:14:38.468&amp;quot;,&amp;quot;total_packets_dropped_octo&amp;quot;:0,&amp;quot;conferences&amp;quot;:0,&lt;br /&gt;
 &amp;quot;participants&amp;quot;:0,&amp;quot;largest_conference&amp;quot;:0,&amp;quot;total_packets_sent&amp;quot;:0,&amp;quot;total_data_channel_messages_sent&amp;quot;:0,&lt;br /&gt;
 &amp;quot;total_bytes_received_octo&amp;quot;:0,&amp;quot;octo_send_packet_rate&amp;quot;:0,&lt;br /&gt;
 &amp;quot;conferences_by_audio_senders&amp;quot;:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],&lt;br /&gt;
 &amp;quot;total_conferences_created&amp;quot;:0,&amp;quot;total_ice_failed&amp;quot;:0,&amp;quot;threads&amp;quot;:37,&amp;quot;videochannels&amp;quot;:0,&lt;br /&gt;
 &amp;quot;total_packets_received_octo&amp;quot;:0,&amp;quot;graceful_shutdown&amp;quot;:false,&amp;quot;octo_receive_packet_rate&amp;quot;:0,&lt;br /&gt;
 &amp;quot;total_bytes_received&amp;quot;:0,&amp;quot;rtp_loss&amp;quot;:0.0,&amp;quot;total_loss_controlled_participant_seconds&amp;quot;:0,&lt;br /&gt;
 &amp;quot;total_partially_failed_conferences&amp;quot;:0,&amp;quot;endpoints_sending_audio&amp;quot;:0,&amp;quot;total_bytes_sent&amp;quot;:0,&lt;br /&gt;
 &amp;quot;mucs_configured&amp;quot;:1,&amp;quot;total_failed_conferences&amp;quot;:0,&amp;quot;mucs_joined&amp;quot;:1}&lt;br /&gt;
Con esta respuesta, vemos que el resto de la &amp;lt;abbr&amp;gt;API&amp;lt;/abbr&amp;gt; responde y puede usarse para nuestro propósito.&lt;br /&gt;
&lt;br /&gt;
Para asegurarse de que se pueda acceder al punto final de las estadísticas mediante telegraf:&lt;br /&gt;
 ufw allow 8080/tcp&lt;br /&gt;
Configurar paneles en Grafana&lt;br /&gt;
&lt;br /&gt;
Abra Grafana y entre con su cuenta de administrador en el navegador: &amp;lt;nowiki&amp;gt;http://170.x.x.x:3000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Añadir fuente de datos.&lt;br /&gt;
&lt;br /&gt;
Agregaremos una fuente de datos InfluxDB y la configuraremos como predeterminada.&lt;br /&gt;
&lt;br /&gt;
*Nombre: InfluxDB&lt;br /&gt;
*Valor predeterminado: activado&lt;br /&gt;
*&amp;lt;abbr&amp;gt;URL&amp;lt;/abbr&amp;gt; HTTP: &amp;lt;nowiki&amp;gt;http://localhost:8086&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
*Acceso HTTP: Servidor (predeterminado)&lt;br /&gt;
*Base de datos: jitsi&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Image4.png|749x749px]]&lt;br /&gt;
&lt;br /&gt;
Importamos un tablero de los repositorios de grafana, en nuestro caso el Jitsi Metrics&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Image2.png|538x538px]]&lt;br /&gt;
&lt;br /&gt;
Podemos usar el id del dashboard (11969), o descargarlo en formato JSON y pegar el código (https://grafana.com/grafana/dashboards/11969)&lt;br /&gt;
&lt;br /&gt;
Vamos a Dashboards y elegimos JitsiMetrics[[Archivo:Image3.png|miniaturadeimagen|600x600px|no]]&lt;br /&gt;
&lt;br /&gt;
Si tenemos más de un videobridge podemos agregarlo al panel de grafana habilitando las estadísticas de colibri en cada videobridge, luego agregamos cada videobridge en la configuracion de telegraf en nuestro caso /etc/telegraf/telegraf.d/jitsi.conf&lt;br /&gt;
 ###############################################################################&lt;br /&gt;
 #   INPUTS                                     #&lt;br /&gt;
 ###############################################################################&lt;br /&gt;
 #SERVER PRINCIPAL&lt;br /&gt;
 [[inputs.http]]&lt;br /&gt;
 name_override = &amp;quot;jitsi_stats&amp;quot;&lt;br /&gt;
 urls = [&lt;br /&gt;
 &amp;quot;&amp;lt;nowiki&amp;gt;http://170.x.x.x:8080/colibri/stats&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
 ]&lt;br /&gt;
 data_format = &amp;quot;json&amp;quot;&lt;br /&gt;
 #videobridge2&lt;br /&gt;
 [[inputs.http]]&lt;br /&gt;
 name_override = &amp;quot;jitsi_vb2&amp;quot;&lt;br /&gt;
 urls = [&lt;br /&gt;
 &amp;quot;&amp;lt;nowiki&amp;gt;http://171.x.x.x:8080/colibri/stats&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
 ]&lt;br /&gt;
 data_format = &amp;quot;json&amp;quot;&lt;br /&gt;
 #videobridge3&lt;br /&gt;
 [[inputs.http]]&lt;br /&gt;
 name_override = &amp;quot;jitsi_vb3&amp;quot;&lt;br /&gt;
 urls = [&lt;br /&gt;
 &amp;quot;&amp;lt;nowiki&amp;gt;http://172.x.x.x:8080/colibri/stats&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
 ]&lt;br /&gt;
 data_format = &amp;quot;json&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Y por último personalizamos el dashboard jitsi metrics para que las consultas tomen los nuevos datos. En nuestro caso duplicamos los paneles que nos interesaban y agregamos las nuevas fuentes de datos (jitsi_vb2 y jitsi_vb3) y borramos los paneles que nos interesaban.&lt;br /&gt;
[[Archivo:Image1.png|miniaturadeimagen|600x600px|no]]&lt;br /&gt;
&lt;br /&gt;
Fuente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;https://community.jitsi.org/t/how-to-to-setup-grafana-dashboards-to-monitor-jitsi-my-comprehensive-tutorial-for-the-beginner/38696&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;https://grafana.com/docs/grafana/latest/getting-started/getting-started/&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mzigaran</name></author>
	</entry>
	<entry>
		<id>http://jitsiwiki.riu.edu.ar/index.php?title=Instalar_y_configurar_paneles_de_Grafana_para_monitorear_Jitsi&amp;diff=47</id>
		<title>Instalar y configurar paneles de Grafana para monitorear Jitsi</title>
		<link rel="alternate" type="text/html" href="http://jitsiwiki.riu.edu.ar/index.php?title=Instalar_y_configurar_paneles_de_Grafana_para_monitorear_Jitsi&amp;diff=47"/>
		<updated>2023-07-03T18:18:06Z</updated>

		<summary type="html">&lt;p&gt;Mzigaran: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Instalación realizada en ubuntu 18.04&lt;br /&gt;
&lt;br /&gt;
La idea es explicar brevemente los pasos para la instalación de un servidor “grafana” (170.x.x.x) que nos permita monitorear nuestra implementación de Jitsi.&lt;br /&gt;
&lt;br /&gt;
Paso 1: Instalar la base de datos (InfluxDB) para alojar los datos de los paneles&lt;br /&gt;
&lt;br /&gt;
Paso 2: Instalar Grafana para mostrar las estadísticas jitsi en los paneles&lt;br /&gt;
&lt;br /&gt;
Paso 3: Instalar el servicio (telegraf) para recopilar estadísticas y escribir en la base de datos (InfluxDB) Servidor: “jitsi” (177.x.x.x)&lt;br /&gt;
&lt;br /&gt;
Paso 4: Adaptar la configuración de Jitsi para exponer estadísticas&lt;br /&gt;
----Paso 1: instalar InfluxDB&lt;br /&gt;
 apt update &amp;amp;&amp;amp; apt install -y gnupg2 curl wget&lt;br /&gt;
 wget -qO- &amp;lt;nowiki&amp;gt;https://repos.influxdata.com/influxdb.key&amp;lt;/nowiki&amp;gt; | sudo apt-key add&lt;br /&gt;
 -echo &amp;quot;deb &amp;lt;nowiki&amp;gt;https://repos.influxdata.com/debian&amp;lt;/nowiki&amp;gt; buster stable&amp;quot; | sudo tee /etc/apt/sources.list.d/influxdb.list&lt;br /&gt;
 apt update &amp;amp;&amp;amp; apt install influxdb -y&lt;br /&gt;
 systemctl enable --now influxdb&lt;br /&gt;
 systemctl status influxdb&lt;br /&gt;
Si tiene un firewall (es decir, ufw) en este servidor, abrir el puerto para influxdb y grafana webserver:&lt;br /&gt;
 ufw allow 8086/tcp&lt;br /&gt;
 ufw allow 3000/tcp&lt;br /&gt;
Paso 2: Instalar Grafana para mostrar paneles de estadísticas&lt;br /&gt;
 curl &amp;lt;nowiki&amp;gt;https://packages.grafana.com/gpg.key&amp;lt;/nowiki&amp;gt; | sudo apt-key add -&lt;br /&gt;
 add-apt-repository &amp;quot;deb &amp;lt;nowiki&amp;gt;https://packages.grafana.com/oss/deb&amp;lt;/nowiki&amp;gt; stable main&amp;quot;&lt;br /&gt;
 apt update &amp;amp;&amp;amp; apt install grafana -y&lt;br /&gt;
 systemctl enable --now grafana-server&lt;br /&gt;
 systemctl status grafana-server&lt;br /&gt;
Paso 3: Instalar y configurar telegraf&lt;br /&gt;
 wget -qO- &amp;lt;nowiki&amp;gt;https://repos.influxdata.com/influxdb.key&amp;lt;/nowiki&amp;gt; | sudo apt-key add -&lt;br /&gt;
 echo &amp;quot;deb &amp;lt;nowiki&amp;gt;https://repos.influxdata.com/debian&amp;lt;/nowiki&amp;gt; buster stable&amp;quot; | sudo tee /etc/apt/sources.list.d/influxdb.list&lt;br /&gt;
 apt update &amp;amp;&amp;amp; apt install telegraf -y&lt;br /&gt;
 mv /etc/telegraf/telegraf.conf /etc/telegraf/telegraf.conf.original&lt;br /&gt;
 nano /etc/telegraf/telegraf.conf&lt;br /&gt;
Editar el archivo telegraf.conf:&lt;br /&gt;
 [global_tags]&lt;br /&gt;
 &lt;br /&gt;
 ###############################################################################&lt;br /&gt;
 #   GLOBAL                                     #&lt;br /&gt;
 ###############################################################################&lt;br /&gt;
 &lt;br /&gt;
 [agent]&lt;br /&gt;
     interval = &amp;quot;10s&amp;quot;&lt;br /&gt;
     debug = false&lt;br /&gt;
     hostname = &amp;quot;jitsi_host&amp;quot;&lt;br /&gt;
     round_interval = true&lt;br /&gt;
     flush_interval = &amp;quot;10s&amp;quot;&lt;br /&gt;
     flush_jitter = &amp;quot;0s&amp;quot;&lt;br /&gt;
     collection_jitter = &amp;quot;0s&amp;quot;&lt;br /&gt;
     metric_batch_size = 1000&lt;br /&gt;
     metric_buffer_limit = 10000&lt;br /&gt;
     quiet = false&lt;br /&gt;
     logfile = &amp;quot;&amp;quot;&lt;br /&gt;
     omit_hostname = false&lt;br /&gt;
Editar el archivo jitsi.conf:&lt;br /&gt;
 ###############################################################################&lt;br /&gt;
 #   INPUTS                                     #&lt;br /&gt;
 ###############################################################################&lt;br /&gt;
 &lt;br /&gt;
 [[inputs.http|inputs.http]]&lt;br /&gt;
     name_override = &amp;quot;jitsi_stats&amp;quot;&lt;br /&gt;
     urls = [&lt;br /&gt;
       &amp;quot;&amp;lt;nowiki&amp;gt;http://177.x.x.x:8080/colibri/stats&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
     ]&lt;br /&gt;
     data_format = &amp;quot;json&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 ###############################################################################&lt;br /&gt;
 #                                  OUTPUTS                                    #&lt;br /&gt;
 ###############################################################################&lt;br /&gt;
 &lt;br /&gt;
 [[outputs.influxdb|outputs.influxdb]]&lt;br /&gt;
     urls = [&amp;quot;&amp;lt;nowiki&amp;gt;http://localhost:8086&amp;lt;/nowiki&amp;gt;&amp;quot;]&lt;br /&gt;
     database = &amp;quot;jitsi&amp;quot;&lt;br /&gt;
     timeout = &amp;quot;0s&amp;quot;&lt;br /&gt;
     retention_policy = &amp;quot;&amp;quot;&lt;br /&gt;
Seteamos en el arranque el inicio de telegraf&lt;br /&gt;
 systemctl enable --now telegraf&lt;br /&gt;
 systemctl status telegraf&lt;br /&gt;
( no crearemos una base de datos ya que Telegraf creará nuestra base de datos si no encuentra una)&lt;br /&gt;
&lt;br /&gt;
Paso 4: Adaptar la configuración de Jitsi para que muestre las estadísticas&lt;br /&gt;
 nano /etc/jitsi/videobridge/config&lt;br /&gt;
configure las opciones de jvb :&lt;br /&gt;
 JVB_OPTS=&amp;quot;–apis=rest,xmpp&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 nano /etc/jitsi/videobridge/sip-communicator.properties&lt;br /&gt;
Acá se activan las estadísticas:&lt;br /&gt;
 org.jitsi.videobridge.ENABLE_STATISTICS=true&lt;br /&gt;
 &lt;br /&gt;
 org.jitsi.videobridge.STATISTICS_TRANSPORT=muc,colibri&lt;br /&gt;
Reiniciamos el videobridge&lt;br /&gt;
 service jitsi-videobridge restart&lt;br /&gt;
Dentro del servidor jitsi : debería responder con las estadísticas, que están en formato json.&lt;br /&gt;
&lt;br /&gt;
curl -v http://127.0.0.1:8080/colibri/stats&lt;br /&gt;
&lt;br /&gt;
Response:&lt;br /&gt;
 {&amp;quot;inactive_endpoints&amp;quot;:0,&amp;quot;inactive_conferences&amp;quot;:0,&amp;quot;total_ice_succeeded_relayed&amp;quot;:0,&lt;br /&gt;
 &amp;quot;total_loss_degraded_participant_seconds&amp;quot;:0,&amp;quot;bit_rate_download&amp;quot;:0,&amp;quot;muc_clients_connected&amp;quot;:1,&lt;br /&gt;
 &amp;quot;total_participants&amp;quot;:0,&amp;quot;total_packets_received&amp;quot;:0,&amp;quot;rtt_aggregate&amp;quot;:0.0,&amp;quot;packet_rate_upload&amp;quot;:0,&lt;br /&gt;
 &amp;quot;p2p_conferences&amp;quot;:0,&amp;quot;total_loss_limited_participant_seconds&amp;quot;:0,&amp;quot;octo_send_bitrate&amp;quot;:0,&lt;br /&gt;
 &amp;quot;total_dominant_speaker_changes&amp;quot;:0,&amp;quot;receive_only_endpoints&amp;quot;:0,&lt;br /&gt;
 &amp;quot;total_colibri_web_socket_messages_received&amp;quot;:0,&amp;quot;octo_receive_bitrate&amp;quot;:0,&lt;br /&gt;
 &amp;quot;loss_rate_upload&amp;quot;:0.0,&amp;quot;version&amp;quot;:&amp;quot;2.1.169-ga28eb88e&amp;quot;,&amp;quot;total_ice_succeeded&amp;quot;:0,&lt;br /&gt;
 &amp;quot;total_colibri_web_socket_messages_sent&amp;quot;:0,&amp;quot;total_bytes_sent_octo&amp;quot;:0,&lt;br /&gt;
 &amp;quot;total_data_channel_messages_received&amp;quot;:0,&amp;quot;loss_rate_download&amp;quot;:0.0,&lt;br /&gt;
 &amp;quot;total_conference_seconds&amp;quot;:0,&amp;quot;bit_rate_upload&amp;quot;:0,&amp;quot;total_conferences_completed&amp;quot;:0,&lt;br /&gt;
 &amp;quot;octo_conferences&amp;quot;:0,&amp;quot;num_eps_no_msg_transport_after_delay&amp;quot;:0,&amp;quot;endpoints_sending_video&amp;quot;:0,&lt;br /&gt;
 &amp;quot;packet_rate_download&amp;quot;:0,&amp;quot;muc_clients_configured&amp;quot;:1,&lt;br /&gt;
 &amp;quot;conference_sizes&amp;quot;:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],&amp;quot;total_packets_sent_octo&amp;quot;:0,&lt;br /&gt;
 &amp;quot;conferences_by_video_senders&amp;quot;:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],&amp;quot;videostreams&amp;quot;:0,&lt;br /&gt;
 &amp;quot;jitter_aggregate&amp;quot;:0.0,&amp;quot;total_ice_succeeded_tcp&amp;quot;:0,&amp;quot;octo_endpoints&amp;quot;:0,&lt;br /&gt;
 &amp;quot;current_timestamp&amp;quot;:&amp;quot;2020-04-17 23:14:38.468&amp;quot;,&amp;quot;total_packets_dropped_octo&amp;quot;:0,&amp;quot;conferences&amp;quot;:0,&lt;br /&gt;
 &amp;quot;participants&amp;quot;:0,&amp;quot;largest_conference&amp;quot;:0,&amp;quot;total_packets_sent&amp;quot;:0,&amp;quot;total_data_channel_messages_sent&amp;quot;:0,&lt;br /&gt;
 &amp;quot;total_bytes_received_octo&amp;quot;:0,&amp;quot;octo_send_packet_rate&amp;quot;:0,&lt;br /&gt;
 &amp;quot;conferences_by_audio_senders&amp;quot;:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],&lt;br /&gt;
 &amp;quot;total_conferences_created&amp;quot;:0,&amp;quot;total_ice_failed&amp;quot;:0,&amp;quot;threads&amp;quot;:37,&amp;quot;videochannels&amp;quot;:0,&lt;br /&gt;
 &amp;quot;total_packets_received_octo&amp;quot;:0,&amp;quot;graceful_shutdown&amp;quot;:false,&amp;quot;octo_receive_packet_rate&amp;quot;:0,&lt;br /&gt;
 &amp;quot;total_bytes_received&amp;quot;:0,&amp;quot;rtp_loss&amp;quot;:0.0,&amp;quot;total_loss_controlled_participant_seconds&amp;quot;:0,&lt;br /&gt;
 &amp;quot;total_partially_failed_conferences&amp;quot;:0,&amp;quot;endpoints_sending_audio&amp;quot;:0,&amp;quot;total_bytes_sent&amp;quot;:0,&lt;br /&gt;
 &amp;quot;mucs_configured&amp;quot;:1,&amp;quot;total_failed_conferences&amp;quot;:0,&amp;quot;mucs_joined&amp;quot;:1}&lt;br /&gt;
Con esta respuesta, vemos que el resto de la &amp;lt;abbr&amp;gt;API&amp;lt;/abbr&amp;gt; responde y puede usarse para nuestro propósito.&lt;br /&gt;
&lt;br /&gt;
Para asegurarse de que se pueda acceder al punto final de las estadísticas mediante telegraf:&lt;br /&gt;
 ufw allow 8080/tcp&lt;br /&gt;
Configurar paneles en Grafana&lt;br /&gt;
&lt;br /&gt;
Abra Grafana y entre con su cuenta de administrador en el navegador: &amp;lt;nowiki&amp;gt;http://170.x.x.x:3000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Añadir fuente de datos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Image4.png|izquierda|749x749px]]Agregaremos una fuente de datos InfluxDB y la configuraremos como predeterminada.&lt;br /&gt;
&lt;br /&gt;
*Nombre: InfluxDB&lt;br /&gt;
*Valor predeterminado: activado&lt;br /&gt;
*&amp;lt;abbr&amp;gt;URL&amp;lt;/abbr&amp;gt; HTTP: &amp;lt;nowiki&amp;gt;http://localhost:8086&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
*Acceso HTTP: Servidor (predeterminado)&lt;br /&gt;
*Base de datos: jitsi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Image2.png|izquierda|538x538px]]Importamos un tablero de los repositorios de grafana, en nuestro caso el Jitsi Metrics&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Image3.png|izquierda|miniaturadeimagen|600x600px]]&lt;br /&gt;
&lt;br /&gt;
Podemos usar el id del dashboard (11969), o descargarlo en formato JSON y pegar el código (https://grafana.com/grafana/dashboards/11969)&lt;br /&gt;
&lt;br /&gt;
Vamos a Dashboards y elegimos JitsiMetrics&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Si tenemos más de un videobridge podemos agregarlo al panel de grafana habilitando las estadísticas de colibri en cada videobridge, luego agregamos cada videobridge en la configuracion de telegraf en nuestro caso /etc/telegraf/telegraf.d/jitsi.conf&lt;br /&gt;
 ###############################################################################&lt;br /&gt;
 #   INPUTS                                     #&lt;br /&gt;
 ###############################################################################&lt;br /&gt;
 #SERVER PRINCIPAL&lt;br /&gt;
 [[inputs.http]]&lt;br /&gt;
 name_override = &amp;quot;jitsi_stats&amp;quot;&lt;br /&gt;
 urls = [&lt;br /&gt;
 &amp;quot;&amp;lt;nowiki&amp;gt;http://170.x.x.x:8080/colibri/stats&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
 ]&lt;br /&gt;
 data_format = &amp;quot;json&amp;quot;&lt;br /&gt;
 #videobridge2&lt;br /&gt;
 [[inputs.http]]&lt;br /&gt;
 name_override = &amp;quot;jitsi_vb2&amp;quot;&lt;br /&gt;
 urls = [&lt;br /&gt;
 &amp;quot;&amp;lt;nowiki&amp;gt;http://171.x.x.x:8080/colibri/stats&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
 ]&lt;br /&gt;
 data_format = &amp;quot;json&amp;quot;&lt;br /&gt;
 #videobridge3&lt;br /&gt;
 [[inputs.http]]&lt;br /&gt;
 name_override = &amp;quot;jitsi_vb3&amp;quot;&lt;br /&gt;
 urls = [&lt;br /&gt;
 &amp;quot;&amp;lt;nowiki&amp;gt;http://172.x.x.x:8080/colibri/stats&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
 ]&lt;br /&gt;
 data_format = &amp;quot;json&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
[[Archivo:Image1.png|izquierda|miniaturadeimagen|600x600px]]&lt;br /&gt;
Y por último personalizamos el dashboard jitsi metrics para que las consultas tomen los nuevos datos. En nuestro caso duplicamos los paneles que nos interesaban y agregamos las nuevas fuentes de datos (jitsi_vb2 y jitsi_vb3) y borramos los paneles que nos interesaban.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fuente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;https://community.jitsi.org/t/how-to-to-setup-grafana-dashboards-to-monitor-jitsi-my-comprehensive-tutorial-for-the-beginner/38696&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;https://grafana.com/docs/grafana/latest/getting-started/getting-started/&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mzigaran</name></author>
	</entry>
	<entry>
		<id>http://jitsiwiki.riu.edu.ar/index.php?title=Instalar_y_configurar_paneles_de_Grafana_para_monitorear_Jitsi&amp;diff=46</id>
		<title>Instalar y configurar paneles de Grafana para monitorear Jitsi</title>
		<link rel="alternate" type="text/html" href="http://jitsiwiki.riu.edu.ar/index.php?title=Instalar_y_configurar_paneles_de_Grafana_para_monitorear_Jitsi&amp;diff=46"/>
		<updated>2023-07-03T18:16:14Z</updated>

		<summary type="html">&lt;p&gt;Mzigaran: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Instalación realizada en ubuntu 18.04&lt;br /&gt;
&lt;br /&gt;
La idea es explicar brevemente los pasos para la instalación de un servidor “grafana” (170.x.x.x) que nos permita monitorear nuestra implementación de Jitsi.&lt;br /&gt;
&lt;br /&gt;
Paso 1: Instalar la base de datos (InfluxDB) para alojar los datos de los paneles&lt;br /&gt;
&lt;br /&gt;
Paso 2: Instalar Grafana para mostrar las estadísticas jitsi en los paneles&lt;br /&gt;
&lt;br /&gt;
Paso 3: Instalar el servicio (telegraf) para recopilar estadísticas y escribir en la base de datos (InfluxDB) Servidor: “jitsi” (177.x.x.x)&lt;br /&gt;
&lt;br /&gt;
Paso 4: Adaptar la configuración de Jitsi para exponer estadísticas&lt;br /&gt;
----Paso 1: instalar InfluxDB&lt;br /&gt;
 apt update &amp;amp;&amp;amp; apt install -y gnupg2 curl wget&lt;br /&gt;
 wget -qO- &amp;lt;nowiki&amp;gt;https://repos.influxdata.com/influxdb.key&amp;lt;/nowiki&amp;gt; | sudo apt-key add&lt;br /&gt;
 -echo &amp;quot;deb &amp;lt;nowiki&amp;gt;https://repos.influxdata.com/debian&amp;lt;/nowiki&amp;gt; buster stable&amp;quot; | sudo tee /etc/apt/sources.list.d/influxdb.list&lt;br /&gt;
 apt update &amp;amp;&amp;amp; apt install influxdb -y&lt;br /&gt;
 systemctl enable --now influxdb&lt;br /&gt;
 systemctl status influxdb&lt;br /&gt;
Si tiene un firewall (es decir, ufw) en este servidor, abrir el puerto para influxdb y grafana webserver:&lt;br /&gt;
 ufw allow 8086/tcp&lt;br /&gt;
 ufw allow 3000/tcp&lt;br /&gt;
Paso 2: Instalar Grafana para mostrar paneles de estadísticas&lt;br /&gt;
 curl &amp;lt;nowiki&amp;gt;https://packages.grafana.com/gpg.key&amp;lt;/nowiki&amp;gt; | sudo apt-key add -&lt;br /&gt;
 add-apt-repository &amp;quot;deb &amp;lt;nowiki&amp;gt;https://packages.grafana.com/oss/deb&amp;lt;/nowiki&amp;gt; stable main&amp;quot;&lt;br /&gt;
 apt update &amp;amp;&amp;amp; apt install grafana -y&lt;br /&gt;
 systemctl enable --now grafana-server&lt;br /&gt;
 systemctl status grafana-server&lt;br /&gt;
Paso 3: Instalar y configurar telegraf&lt;br /&gt;
 wget -qO- &amp;lt;nowiki&amp;gt;https://repos.influxdata.com/influxdb.key&amp;lt;/nowiki&amp;gt; | sudo apt-key add -&lt;br /&gt;
 echo &amp;quot;deb &amp;lt;nowiki&amp;gt;https://repos.influxdata.com/debian&amp;lt;/nowiki&amp;gt; buster stable&amp;quot; | sudo tee /etc/apt/sources.list.d/influxdb.list&lt;br /&gt;
 apt update &amp;amp;&amp;amp; apt install telegraf -y&lt;br /&gt;
 mv /etc/telegraf/telegraf.conf /etc/telegraf/telegraf.conf.original&lt;br /&gt;
 nano /etc/telegraf/telegraf.conf&lt;br /&gt;
Editar el archivo telegraf.conf:&lt;br /&gt;
 [global_tags]&lt;br /&gt;
 &lt;br /&gt;
 ###############################################################################&lt;br /&gt;
 #   GLOBAL                                     #&lt;br /&gt;
 ###############################################################################&lt;br /&gt;
 &lt;br /&gt;
 [agent]&lt;br /&gt;
     interval = &amp;quot;10s&amp;quot;&lt;br /&gt;
     debug = false&lt;br /&gt;
     hostname = &amp;quot;jitsi_host&amp;quot;&lt;br /&gt;
     round_interval = true&lt;br /&gt;
     flush_interval = &amp;quot;10s&amp;quot;&lt;br /&gt;
     flush_jitter = &amp;quot;0s&amp;quot;&lt;br /&gt;
     collection_jitter = &amp;quot;0s&amp;quot;&lt;br /&gt;
     metric_batch_size = 1000&lt;br /&gt;
     metric_buffer_limit = 10000&lt;br /&gt;
     quiet = false&lt;br /&gt;
     logfile = &amp;quot;&amp;quot;&lt;br /&gt;
     omit_hostname = false&lt;br /&gt;
Editar el archivo jitsi.conf:&lt;br /&gt;
 ###############################################################################&lt;br /&gt;
 #   INPUTS                                     #&lt;br /&gt;
 ###############################################################################&lt;br /&gt;
 &lt;br /&gt;
 [[inputs.http|inputs.http]]&lt;br /&gt;
     name_override = &amp;quot;jitsi_stats&amp;quot;&lt;br /&gt;
     urls = [&lt;br /&gt;
       &amp;quot;&amp;lt;nowiki&amp;gt;http://177.x.x.x:8080/colibri/stats&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
     ]&lt;br /&gt;
     data_format = &amp;quot;json&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 ###############################################################################&lt;br /&gt;
 #                                  OUTPUTS                                    #&lt;br /&gt;
 ###############################################################################&lt;br /&gt;
 &lt;br /&gt;
 [[outputs.influxdb|outputs.influxdb]]&lt;br /&gt;
     urls = [&amp;quot;&amp;lt;nowiki&amp;gt;http://localhost:8086&amp;lt;/nowiki&amp;gt;&amp;quot;]&lt;br /&gt;
     database = &amp;quot;jitsi&amp;quot;&lt;br /&gt;
     timeout = &amp;quot;0s&amp;quot;&lt;br /&gt;
     retention_policy = &amp;quot;&amp;quot;&lt;br /&gt;
Seteamos en el arranque el inicio de telegraf&lt;br /&gt;
 systemctl enable --now telegraf&lt;br /&gt;
 systemctl status telegraf&lt;br /&gt;
( no crearemos una base de datos ya que Telegraf creará nuestra base de datos si no encuentra una)&lt;br /&gt;
&lt;br /&gt;
Paso 4: Adaptar la configuración de Jitsi para que muestre las estadísticas&lt;br /&gt;
 nano /etc/jitsi/videobridge/config&lt;br /&gt;
configure las opciones de jvb :&lt;br /&gt;
 JVB_OPTS=&amp;quot;–apis=rest,xmpp&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 nano /etc/jitsi/videobridge/sip-communicator.properties&lt;br /&gt;
Acá se activan las estadísticas:&lt;br /&gt;
 org.jitsi.videobridge.ENABLE_STATISTICS=true&lt;br /&gt;
 &lt;br /&gt;
 org.jitsi.videobridge.STATISTICS_TRANSPORT=muc,colibri&lt;br /&gt;
Reiniciamos el videobridge&lt;br /&gt;
 service jitsi-videobridge restart&lt;br /&gt;
Dentro del servidor jitsi : debería responder con las estadísticas, que están en formato json.&lt;br /&gt;
&lt;br /&gt;
curl -v http://127.0.0.1:8080/colibri/stats&lt;br /&gt;
&lt;br /&gt;
Response:&lt;br /&gt;
 {&amp;quot;inactive_endpoints&amp;quot;:0,&amp;quot;inactive_conferences&amp;quot;:0,&amp;quot;total_ice_succeeded_relayed&amp;quot;:0,&lt;br /&gt;
 &amp;quot;total_loss_degraded_participant_seconds&amp;quot;:0,&amp;quot;bit_rate_download&amp;quot;:0,&amp;quot;muc_clients_connected&amp;quot;:1,&lt;br /&gt;
 &amp;quot;total_participants&amp;quot;:0,&amp;quot;total_packets_received&amp;quot;:0,&amp;quot;rtt_aggregate&amp;quot;:0.0,&amp;quot;packet_rate_upload&amp;quot;:0,&lt;br /&gt;
 &amp;quot;p2p_conferences&amp;quot;:0,&amp;quot;total_loss_limited_participant_seconds&amp;quot;:0,&amp;quot;octo_send_bitrate&amp;quot;:0,&lt;br /&gt;
 &amp;quot;total_dominant_speaker_changes&amp;quot;:0,&amp;quot;receive_only_endpoints&amp;quot;:0,&lt;br /&gt;
 &amp;quot;total_colibri_web_socket_messages_received&amp;quot;:0,&amp;quot;octo_receive_bitrate&amp;quot;:0,&lt;br /&gt;
 &amp;quot;loss_rate_upload&amp;quot;:0.0,&amp;quot;version&amp;quot;:&amp;quot;2.1.169-ga28eb88e&amp;quot;,&amp;quot;total_ice_succeeded&amp;quot;:0,&lt;br /&gt;
 &amp;quot;total_colibri_web_socket_messages_sent&amp;quot;:0,&amp;quot;total_bytes_sent_octo&amp;quot;:0,&lt;br /&gt;
 &amp;quot;total_data_channel_messages_received&amp;quot;:0,&amp;quot;loss_rate_download&amp;quot;:0.0,&lt;br /&gt;
 &amp;quot;total_conference_seconds&amp;quot;:0,&amp;quot;bit_rate_upload&amp;quot;:0,&amp;quot;total_conferences_completed&amp;quot;:0,&lt;br /&gt;
 &amp;quot;octo_conferences&amp;quot;:0,&amp;quot;num_eps_no_msg_transport_after_delay&amp;quot;:0,&amp;quot;endpoints_sending_video&amp;quot;:0,&lt;br /&gt;
 &amp;quot;packet_rate_download&amp;quot;:0,&amp;quot;muc_clients_configured&amp;quot;:1,&lt;br /&gt;
 &amp;quot;conference_sizes&amp;quot;:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],&amp;quot;total_packets_sent_octo&amp;quot;:0,&lt;br /&gt;
 &amp;quot;conferences_by_video_senders&amp;quot;:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],&amp;quot;videostreams&amp;quot;:0,&lt;br /&gt;
 &amp;quot;jitter_aggregate&amp;quot;:0.0,&amp;quot;total_ice_succeeded_tcp&amp;quot;:0,&amp;quot;octo_endpoints&amp;quot;:0,&lt;br /&gt;
 &amp;quot;current_timestamp&amp;quot;:&amp;quot;2020-04-17 23:14:38.468&amp;quot;,&amp;quot;total_packets_dropped_octo&amp;quot;:0,&amp;quot;conferences&amp;quot;:0,&lt;br /&gt;
 &amp;quot;participants&amp;quot;:0,&amp;quot;largest_conference&amp;quot;:0,&amp;quot;total_packets_sent&amp;quot;:0,&amp;quot;total_data_channel_messages_sent&amp;quot;:0,&lt;br /&gt;
 &amp;quot;total_bytes_received_octo&amp;quot;:0,&amp;quot;octo_send_packet_rate&amp;quot;:0,&lt;br /&gt;
 &amp;quot;conferences_by_audio_senders&amp;quot;:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],&lt;br /&gt;
 &amp;quot;total_conferences_created&amp;quot;:0,&amp;quot;total_ice_failed&amp;quot;:0,&amp;quot;threads&amp;quot;:37,&amp;quot;videochannels&amp;quot;:0,&lt;br /&gt;
 &amp;quot;total_packets_received_octo&amp;quot;:0,&amp;quot;graceful_shutdown&amp;quot;:false,&amp;quot;octo_receive_packet_rate&amp;quot;:0,&lt;br /&gt;
 &amp;quot;total_bytes_received&amp;quot;:0,&amp;quot;rtp_loss&amp;quot;:0.0,&amp;quot;total_loss_controlled_participant_seconds&amp;quot;:0,&lt;br /&gt;
 &amp;quot;total_partially_failed_conferences&amp;quot;:0,&amp;quot;endpoints_sending_audio&amp;quot;:0,&amp;quot;total_bytes_sent&amp;quot;:0,&lt;br /&gt;
 &amp;quot;mucs_configured&amp;quot;:1,&amp;quot;total_failed_conferences&amp;quot;:0,&amp;quot;mucs_joined&amp;quot;:1}&lt;br /&gt;
Con esta respuesta, vemos que el resto de la &amp;lt;abbr&amp;gt;API&amp;lt;/abbr&amp;gt; responde y puede usarse para nuestro propósito.&lt;br /&gt;
&lt;br /&gt;
Para asegurarse de que se pueda acceder al punto final de las estadísticas mediante telegraf:&lt;br /&gt;
 ufw allow 8080/tcp&lt;br /&gt;
Configurar paneles en Grafana&lt;br /&gt;
&lt;br /&gt;
Abra Grafana y entre con su cuenta de administrador en el navegador: &amp;lt;nowiki&amp;gt;http://170.x.x.x:3000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Añadir fuente de datos.&lt;br /&gt;
&lt;br /&gt;
Agregaremos una fuente de datos InfluxDB y la configuraremos como predeterminada.&lt;br /&gt;
&lt;br /&gt;
*Nombre: InfluxDB&lt;br /&gt;
*Valor predeterminado: activado&lt;br /&gt;
*&amp;lt;abbr&amp;gt;URL&amp;lt;/abbr&amp;gt; HTTP: &amp;lt;nowiki&amp;gt;http://localhost:8086&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
*Acceso HTTP: Servidor (predeterminado)&lt;br /&gt;
*Base de datos: jitsi&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Image4.png|izquierda|749x749px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Importamos un tablero de los repositorios de grafana, en nuestro caso el Jitsi Metrics&lt;br /&gt;
[[Archivo:Image2.png|izquierda|538x538px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Podemos usar el id del dashboard (11969), o descargarlo en formato JSON y pegar el código (https://grafana.com/grafana/dashboards/11969)&lt;br /&gt;
&lt;br /&gt;
Vamos a Dashboards y elegimos JitsiMetrics&lt;br /&gt;
[[Archivo:Image3.png|izquierda|miniaturadeimagen|600x600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Si tenemos más de un videobridge podemos agregarlo al panel de grafana habilitando las estadísticas de colibri en cada videobridge, luego agregamos cada videobridge en la configuracion de telegraf en nuestro caso /etc/telegraf/telegraf.d/jitsi.conf&lt;br /&gt;
 ###############################################################################&lt;br /&gt;
 #   INPUTS                                     #&lt;br /&gt;
 ###############################################################################&lt;br /&gt;
 #SERVER PRINCIPAL&lt;br /&gt;
 [[inputs.http]]&lt;br /&gt;
 name_override = &amp;quot;jitsi_stats&amp;quot;&lt;br /&gt;
 urls = [&lt;br /&gt;
 &amp;quot;&amp;lt;nowiki&amp;gt;http://170.x.x.x:8080/colibri/stats&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
 ]&lt;br /&gt;
 data_format = &amp;quot;json&amp;quot;&lt;br /&gt;
 #videobridge2&lt;br /&gt;
 [[inputs.http]]&lt;br /&gt;
 name_override = &amp;quot;jitsi_vb2&amp;quot;&lt;br /&gt;
 urls = [&lt;br /&gt;
 &amp;quot;&amp;lt;nowiki&amp;gt;http://171.x.x.x:8080/colibri/stats&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
 ]&lt;br /&gt;
 data_format = &amp;quot;json&amp;quot;&lt;br /&gt;
 #videobridge3&lt;br /&gt;
 [[inputs.http]]&lt;br /&gt;
 name_override = &amp;quot;jitsi_vb3&amp;quot;&lt;br /&gt;
 urls = [&lt;br /&gt;
 &amp;quot;&amp;lt;nowiki&amp;gt;http://172.x.x.x:8080/colibri/stats&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
 ]&lt;br /&gt;
 data_format = &amp;quot;json&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Y por último personalizamos el dashboard jitsi metrics para que las consultas tomen los nuevos datos. En nuestro caso duplicamos los paneles que nos interesaban y agregamos las nuevas fuentes de datos (jitsi_vb2 y jitsi_vb3) y borramos los paneles que nos interesaban.&lt;br /&gt;
[[Archivo:Image1.png|izquierda|miniaturadeimagen|600x600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fuente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;https://community.jitsi.org/t/how-to-to-setup-grafana-dashboards-to-monitor-jitsi-my-comprehensive-tutorial-for-the-beginner/38696&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;https://grafana.com/docs/grafana/latest/getting-started/getting-started/&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mzigaran</name></author>
	</entry>
	<entry>
		<id>http://jitsiwiki.riu.edu.ar/index.php?title=Instalar_y_configurar_paneles_de_Grafana_para_monitorear_Jitsi&amp;diff=45</id>
		<title>Instalar y configurar paneles de Grafana para monitorear Jitsi</title>
		<link rel="alternate" type="text/html" href="http://jitsiwiki.riu.edu.ar/index.php?title=Instalar_y_configurar_paneles_de_Grafana_para_monitorear_Jitsi&amp;diff=45"/>
		<updated>2023-07-03T18:14:12Z</updated>

		<summary type="html">&lt;p&gt;Mzigaran: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Instalación realizada en ubuntu 18.04&lt;br /&gt;
&lt;br /&gt;
La idea es explicar brevemente los pasos para la instalación de un servidor “grafana” (170.x.x.x) que nos permita monitorear nuestra implementación de Jitsi.&lt;br /&gt;
&lt;br /&gt;
Paso 1: Instalar la base de datos (InfluxDB) para alojar los datos de los paneles&lt;br /&gt;
&lt;br /&gt;
Paso 2: Instalar Grafana para mostrar las estadísticas jitsi en los paneles&lt;br /&gt;
&lt;br /&gt;
Paso 3: Instalar el servicio (telegraf) para recopilar estadísticas y escribir en la base de datos (InfluxDB) Servidor: “jitsi” (177.x.x.x)&lt;br /&gt;
&lt;br /&gt;
Paso 4: Adaptar la configuración de Jitsi para exponer estadísticas&lt;br /&gt;
----Paso 1: instalar InfluxDB&lt;br /&gt;
 apt update &amp;amp;&amp;amp; apt install -y gnupg2 curl wget&lt;br /&gt;
 wget -qO- &amp;lt;nowiki&amp;gt;https://repos.influxdata.com/influxdb.key&amp;lt;/nowiki&amp;gt; | sudo apt-key add&lt;br /&gt;
 -echo &amp;quot;deb &amp;lt;nowiki&amp;gt;https://repos.influxdata.com/debian&amp;lt;/nowiki&amp;gt; buster stable&amp;quot; | sudo tee /etc/apt/sources.list.d/influxdb.list&lt;br /&gt;
 apt update &amp;amp;&amp;amp; apt install influxdb -y&lt;br /&gt;
 systemctl enable --now influxdb&lt;br /&gt;
 systemctl status influxdb&lt;br /&gt;
Si tiene un firewall (es decir, ufw) en este servidor, abrir el puerto para influxdb y grafana webserver:&lt;br /&gt;
 ufw allow 8086/tcp&lt;br /&gt;
 ufw allow 3000/tcp&lt;br /&gt;
Paso 2: Instalar Grafana para mostrar paneles de estadísticas&lt;br /&gt;
 curl &amp;lt;nowiki&amp;gt;https://packages.grafana.com/gpg.key&amp;lt;/nowiki&amp;gt; | sudo apt-key add -&lt;br /&gt;
 add-apt-repository &amp;quot;deb &amp;lt;nowiki&amp;gt;https://packages.grafana.com/oss/deb&amp;lt;/nowiki&amp;gt; stable main&amp;quot;&lt;br /&gt;
 apt update &amp;amp;&amp;amp; apt install grafana -y&lt;br /&gt;
 systemctl enable --now grafana-server&lt;br /&gt;
 systemctl status grafana-server&lt;br /&gt;
Paso 3: Instalar y configurar telegraf&lt;br /&gt;
 wget -qO- &amp;lt;nowiki&amp;gt;https://repos.influxdata.com/influxdb.key&amp;lt;/nowiki&amp;gt; | sudo apt-key add -&lt;br /&gt;
 echo &amp;quot;deb &amp;lt;nowiki&amp;gt;https://repos.influxdata.com/debian&amp;lt;/nowiki&amp;gt; buster stable&amp;quot; | sudo tee /etc/apt/sources.list.d/influxdb.list&lt;br /&gt;
 apt update &amp;amp;&amp;amp; apt install telegraf -y&lt;br /&gt;
 mv /etc/telegraf/telegraf.conf /etc/telegraf/telegraf.conf.original&lt;br /&gt;
 nano /etc/telegraf/telegraf.conf&lt;br /&gt;
Editar el archivo telegraf.conf:&lt;br /&gt;
 [global_tags]&lt;br /&gt;
 &lt;br /&gt;
 ###############################################################################&lt;br /&gt;
 #   GLOBAL                                     #&lt;br /&gt;
 ###############################################################################&lt;br /&gt;
 &lt;br /&gt;
 [agent]&lt;br /&gt;
     interval = &amp;quot;10s&amp;quot;&lt;br /&gt;
     debug = false&lt;br /&gt;
     hostname = &amp;quot;jitsi_host&amp;quot;&lt;br /&gt;
     round_interval = true&lt;br /&gt;
     flush_interval = &amp;quot;10s&amp;quot;&lt;br /&gt;
     flush_jitter = &amp;quot;0s&amp;quot;&lt;br /&gt;
     collection_jitter = &amp;quot;0s&amp;quot;&lt;br /&gt;
     metric_batch_size = 1000&lt;br /&gt;
     metric_buffer_limit = 10000&lt;br /&gt;
     quiet = false&lt;br /&gt;
     logfile = &amp;quot;&amp;quot;&lt;br /&gt;
     omit_hostname = false&lt;br /&gt;
Editar el archivo jitsi.conf:&lt;br /&gt;
 ###############################################################################&lt;br /&gt;
 #   INPUTS                                     #&lt;br /&gt;
 ###############################################################################&lt;br /&gt;
 &lt;br /&gt;
 [[inputs.http|inputs.http]]&lt;br /&gt;
     name_override = &amp;quot;jitsi_stats&amp;quot;&lt;br /&gt;
     urls = [&lt;br /&gt;
       &amp;quot;&amp;lt;nowiki&amp;gt;http://177.x.x.x:8080/colibri/stats&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
     ]&lt;br /&gt;
     data_format = &amp;quot;json&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 ###############################################################################&lt;br /&gt;
 #                                  OUTPUTS                                    #&lt;br /&gt;
 ###############################################################################&lt;br /&gt;
 &lt;br /&gt;
 [[outputs.influxdb|outputs.influxdb]]&lt;br /&gt;
     urls = [&amp;quot;&amp;lt;nowiki&amp;gt;http://localhost:8086&amp;lt;/nowiki&amp;gt;&amp;quot;]&lt;br /&gt;
     database = &amp;quot;jitsi&amp;quot;&lt;br /&gt;
     timeout = &amp;quot;0s&amp;quot;&lt;br /&gt;
     retention_policy = &amp;quot;&amp;quot;&lt;br /&gt;
Seteamos en el arranque el inicio de telegraf&lt;br /&gt;
 systemctl enable --now telegraf&lt;br /&gt;
 systemctl status telegraf&lt;br /&gt;
( no crearemos una base de datos ya que Telegraf creará nuestra base de datos si no encuentra una)&lt;br /&gt;
&lt;br /&gt;
Paso 4: Adaptar la configuración de Jitsi para que muestre las estadísticas&lt;br /&gt;
 nano /etc/jitsi/videobridge/config&lt;br /&gt;
configure las opciones de jvb :&lt;br /&gt;
 JVB_OPTS=&amp;quot;–apis=rest,xmpp&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 nano /etc/jitsi/videobridge/sip-communicator.properties&lt;br /&gt;
Acá se activan las estadísticas:&lt;br /&gt;
 org.jitsi.videobridge.ENABLE_STATISTICS=true&lt;br /&gt;
 &lt;br /&gt;
 org.jitsi.videobridge.STATISTICS_TRANSPORT=muc,colibri&lt;br /&gt;
Reiniciamos el videobridge&lt;br /&gt;
 service jitsi-videobridge restart&lt;br /&gt;
Dentro del servidor jitsi : debería responder con las estadísticas, que están en formato json.&lt;br /&gt;
&lt;br /&gt;
curl -v http://127.0.0.1:8080/colibri/stats&lt;br /&gt;
&lt;br /&gt;
Response:&lt;br /&gt;
 {&amp;quot;inactive_endpoints&amp;quot;:0,&amp;quot;inactive_conferences&amp;quot;:0,&amp;quot;total_ice_succeeded_relayed&amp;quot;:0,&lt;br /&gt;
 &amp;quot;total_loss_degraded_participant_seconds&amp;quot;:0,&amp;quot;bit_rate_download&amp;quot;:0,&amp;quot;muc_clients_connected&amp;quot;:1,&lt;br /&gt;
 &amp;quot;total_participants&amp;quot;:0,&amp;quot;total_packets_received&amp;quot;:0,&amp;quot;rtt_aggregate&amp;quot;:0.0,&amp;quot;packet_rate_upload&amp;quot;:0,&lt;br /&gt;
 &amp;quot;p2p_conferences&amp;quot;:0,&amp;quot;total_loss_limited_participant_seconds&amp;quot;:0,&amp;quot;octo_send_bitrate&amp;quot;:0,&lt;br /&gt;
 &amp;quot;total_dominant_speaker_changes&amp;quot;:0,&amp;quot;receive_only_endpoints&amp;quot;:0,&lt;br /&gt;
 &amp;quot;total_colibri_web_socket_messages_received&amp;quot;:0,&amp;quot;octo_receive_bitrate&amp;quot;:0,&lt;br /&gt;
 &amp;quot;loss_rate_upload&amp;quot;:0.0,&amp;quot;version&amp;quot;:&amp;quot;2.1.169-ga28eb88e&amp;quot;,&amp;quot;total_ice_succeeded&amp;quot;:0,&lt;br /&gt;
 &amp;quot;total_colibri_web_socket_messages_sent&amp;quot;:0,&amp;quot;total_bytes_sent_octo&amp;quot;:0,&lt;br /&gt;
 &amp;quot;total_data_channel_messages_received&amp;quot;:0,&amp;quot;loss_rate_download&amp;quot;:0.0,&lt;br /&gt;
 &amp;quot;total_conference_seconds&amp;quot;:0,&amp;quot;bit_rate_upload&amp;quot;:0,&amp;quot;total_conferences_completed&amp;quot;:0,&lt;br /&gt;
 &amp;quot;octo_conferences&amp;quot;:0,&amp;quot;num_eps_no_msg_transport_after_delay&amp;quot;:0,&amp;quot;endpoints_sending_video&amp;quot;:0,&lt;br /&gt;
 &amp;quot;packet_rate_download&amp;quot;:0,&amp;quot;muc_clients_configured&amp;quot;:1,&lt;br /&gt;
 &amp;quot;conference_sizes&amp;quot;:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],&amp;quot;total_packets_sent_octo&amp;quot;:0,&lt;br /&gt;
 &amp;quot;conferences_by_video_senders&amp;quot;:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],&amp;quot;videostreams&amp;quot;:0,&lt;br /&gt;
 &amp;quot;jitter_aggregate&amp;quot;:0.0,&amp;quot;total_ice_succeeded_tcp&amp;quot;:0,&amp;quot;octo_endpoints&amp;quot;:0,&lt;br /&gt;
 &amp;quot;current_timestamp&amp;quot;:&amp;quot;2020-04-17 23:14:38.468&amp;quot;,&amp;quot;total_packets_dropped_octo&amp;quot;:0,&amp;quot;conferences&amp;quot;:0,&lt;br /&gt;
 &amp;quot;participants&amp;quot;:0,&amp;quot;largest_conference&amp;quot;:0,&amp;quot;total_packets_sent&amp;quot;:0,&amp;quot;total_data_channel_messages_sent&amp;quot;:0,&lt;br /&gt;
 &amp;quot;total_bytes_received_octo&amp;quot;:0,&amp;quot;octo_send_packet_rate&amp;quot;:0,&lt;br /&gt;
 &amp;quot;conferences_by_audio_senders&amp;quot;:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],&lt;br /&gt;
 &amp;quot;total_conferences_created&amp;quot;:0,&amp;quot;total_ice_failed&amp;quot;:0,&amp;quot;threads&amp;quot;:37,&amp;quot;videochannels&amp;quot;:0,&lt;br /&gt;
 &amp;quot;total_packets_received_octo&amp;quot;:0,&amp;quot;graceful_shutdown&amp;quot;:false,&amp;quot;octo_receive_packet_rate&amp;quot;:0,&lt;br /&gt;
 &amp;quot;total_bytes_received&amp;quot;:0,&amp;quot;rtp_loss&amp;quot;:0.0,&amp;quot;total_loss_controlled_participant_seconds&amp;quot;:0,&lt;br /&gt;
 &amp;quot;total_partially_failed_conferences&amp;quot;:0,&amp;quot;endpoints_sending_audio&amp;quot;:0,&amp;quot;total_bytes_sent&amp;quot;:0,&lt;br /&gt;
 &amp;quot;mucs_configured&amp;quot;:1,&amp;quot;total_failed_conferences&amp;quot;:0,&amp;quot;mucs_joined&amp;quot;:1}&lt;br /&gt;
Con esta respuesta, vemos que el resto de la &amp;lt;abbr&amp;gt;API&amp;lt;/abbr&amp;gt; responde y puede usarse para nuestro propósito.&lt;br /&gt;
&lt;br /&gt;
Para asegurarse de que se pueda acceder al punto final de las estadísticas mediante telegraf:&lt;br /&gt;
 ufw allow 8080/tcp&lt;br /&gt;
Configurar paneles en Grafana&lt;br /&gt;
&lt;br /&gt;
Abra Grafana y entre con su cuenta de administrador en el navegador: &amp;lt;nowiki&amp;gt;http://170.x.x.x:3000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Añadir fuente de datos.&lt;br /&gt;
&lt;br /&gt;
Agregaremos una fuente de datos InfluxDB y la configuraremos como predeterminada.&lt;br /&gt;
&lt;br /&gt;
*Nombre: InfluxDB&lt;br /&gt;
*Valor predeterminado: activado&lt;br /&gt;
*&amp;lt;abbr&amp;gt;URL&amp;lt;/abbr&amp;gt; HTTP: &amp;lt;nowiki&amp;gt;http://localhost:8086&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
*Acceso HTTP: Servidor (predeterminado)&lt;br /&gt;
*Base de datos: jitsi&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Image4.png|izquierda|749x749px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Importamos un tablero de los repositorios de grafana, en nuestro caso el Jitsi Metrics&lt;br /&gt;
[[Archivo:Image2.png|izquierda|538x538px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Podemos usar el id del dashboard (11969), o descargarlo en formato JSON y pegar el código (https://grafana.com/grafana/dashboards/11969)&lt;br /&gt;
&lt;br /&gt;
Vamos a Dashboards y elegimos JitsiMetrics&lt;br /&gt;
[[Archivo:Image3.png|izquierda|miniaturadeimagen|600x600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Si tenemos más de un videobridge podemos agregarlo al panel de grafana habilitando las estadísticas de colibri en cada videobridge, luego agregamos cada videobridge en la configuracion de telegraf en nuestro caso /etc/telegraf/telegraf.d/jitsi.conf&lt;br /&gt;
 ###############################################################################&lt;br /&gt;
 #   INPUTS                                     #&lt;br /&gt;
 ###############################################################################&lt;br /&gt;
 #SERVER PRINCIPAL&lt;br /&gt;
 [[inputs.http|inputs.http]]&lt;br /&gt;
 name_override = &amp;quot;jitsi_stats&amp;quot;&lt;br /&gt;
 urls = [&lt;br /&gt;
 &amp;quot;&amp;lt;nowiki&amp;gt;http://170.x.x.x:8080/colibri/stats&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
 ]&lt;br /&gt;
 data_format = &amp;quot;json&amp;quot;&lt;br /&gt;
 #videobridge2&lt;br /&gt;
 [[inputs.http|inputs.http]]&lt;br /&gt;
 name_override = &amp;quot;jitsi_vb2&amp;quot;&lt;br /&gt;
 urls = [&lt;br /&gt;
 &amp;quot;&amp;lt;nowiki&amp;gt;http://171.x.x.x:8080/colibri/stats&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
 ]&lt;br /&gt;
 data_format = &amp;quot;json&amp;quot;&lt;br /&gt;
 #videobridge3&lt;br /&gt;
 [[inputs.http|inputs.http]]&lt;br /&gt;
 name_override = &amp;quot;jitsi_vb3&amp;quot;&lt;br /&gt;
 urls = [&lt;br /&gt;
 &amp;quot;&amp;lt;nowiki&amp;gt;http://172.x.x.x:8080/colibri/stats&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
 ]&lt;br /&gt;
 data_format = &amp;quot;json&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Y por último personalizamos el dashboard jitsi metrics para que las consultas tomen los nuevos datos. En nuestro caso duplicamos los paneles que nos interesaban y agregamos las nuevas fuentes de datos (jitsi_vb2 y jitsi_vb3) y borramos los paneles que nos interesaban.&lt;br /&gt;
[[Archivo:Image1.png|izquierda|miniaturadeimagen|600x600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fuente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;https://community.jitsi.org/t/how-to-to-setup-grafana-dashboards-to-monitor-jitsi-my-comprehensive-tutorial-for-the-beginner/38696&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;https://grafana.com/docs/grafana/latest/getting-started/getting-started/&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mzigaran</name></author>
	</entry>
	<entry>
		<id>http://jitsiwiki.riu.edu.ar/index.php?title=Archivo:Image4.png&amp;diff=44</id>
		<title>Archivo:Image4.png</title>
		<link rel="alternate" type="text/html" href="http://jitsiwiki.riu.edu.ar/index.php?title=Archivo:Image4.png&amp;diff=44"/>
		<updated>2023-07-03T18:01:40Z</updated>

		<summary type="html">&lt;p&gt;Mzigaran: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mzigaran</name></author>
	</entry>
	<entry>
		<id>http://jitsiwiki.riu.edu.ar/index.php?title=Archivo:Image2.png&amp;diff=43</id>
		<title>Archivo:Image2.png</title>
		<link rel="alternate" type="text/html" href="http://jitsiwiki.riu.edu.ar/index.php?title=Archivo:Image2.png&amp;diff=43"/>
		<updated>2023-07-03T18:01:33Z</updated>

		<summary type="html">&lt;p&gt;Mzigaran: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mzigaran</name></author>
	</entry>
	<entry>
		<id>http://jitsiwiki.riu.edu.ar/index.php?title=Archivo:Image1.png&amp;diff=42</id>
		<title>Archivo:Image1.png</title>
		<link rel="alternate" type="text/html" href="http://jitsiwiki.riu.edu.ar/index.php?title=Archivo:Image1.png&amp;diff=42"/>
		<updated>2023-07-03T18:01:25Z</updated>

		<summary type="html">&lt;p&gt;Mzigaran: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mzigaran</name></author>
	</entry>
	<entry>
		<id>http://jitsiwiki.riu.edu.ar/index.php?title=Archivo:Image3.png&amp;diff=41</id>
		<title>Archivo:Image3.png</title>
		<link rel="alternate" type="text/html" href="http://jitsiwiki.riu.edu.ar/index.php?title=Archivo:Image3.png&amp;diff=41"/>
		<updated>2023-07-03T18:00:58Z</updated>

		<summary type="html">&lt;p&gt;Mzigaran: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mzigaran</name></author>
	</entry>
	<entry>
		<id>http://jitsiwiki.riu.edu.ar/index.php?title=Template_VM_VMWare&amp;diff=40</id>
		<title>Template VM VMWare</title>
		<link rel="alternate" type="text/html" href="http://jitsiwiki.riu.edu.ar/index.php?title=Template_VM_VMWare&amp;diff=40"/>
		<updated>2023-07-03T17:57:03Z</updated>

		<summary type="html">&lt;p&gt;Mzigaran: Página creada con «* [https://cloud.riu.edu.ar/index.php/s/y9M6DeHrn9EgNBQ Jitsi Dominio Seguro] * [https://cloud.riu.edu.ar/index.php/s/3bLAYePoka3Pg8s Jitsi LDAP] * [https://cloud.riu.edu.ar/index.php/s/4MasFyasikJdjrG Jitsi VideoBridge] * [https://cloud.riu.edu.ar/index.php/s/d49XmwGsHCd4ptD Jibri]»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [https://cloud.riu.edu.ar/index.php/s/y9M6DeHrn9EgNBQ Jitsi Dominio Seguro]&lt;br /&gt;
* [https://cloud.riu.edu.ar/index.php/s/3bLAYePoka3Pg8s Jitsi LDAP]&lt;br /&gt;
* [https://cloud.riu.edu.ar/index.php/s/4MasFyasikJdjrG Jitsi VideoBridge]&lt;br /&gt;
* [https://cloud.riu.edu.ar/index.php/s/d49XmwGsHCd4ptD Jibri]&lt;/div&gt;</summary>
		<author><name>Mzigaran</name></author>
	</entry>
	<entry>
		<id>http://jitsiwiki.riu.edu.ar/index.php?title=Template_VM_Proxmox&amp;diff=39</id>
		<title>Template VM Proxmox</title>
		<link rel="alternate" type="text/html" href="http://jitsiwiki.riu.edu.ar/index.php?title=Template_VM_Proxmox&amp;diff=39"/>
		<updated>2023-07-03T17:55:12Z</updated>

		<summary type="html">&lt;p&gt;Mzigaran: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[Template VM Proxmoxs|Template VM Proxmox]]&lt;br /&gt;
&lt;br /&gt;
* [[Template VM VMWare]]&lt;/div&gt;</summary>
		<author><name>Mzigaran</name></author>
	</entry>
	<entry>
		<id>http://jitsiwiki.riu.edu.ar/index.php?title=Template_VM_Proxmoxs&amp;diff=38</id>
		<title>Template VM Proxmoxs</title>
		<link rel="alternate" type="text/html" href="http://jitsiwiki.riu.edu.ar/index.php?title=Template_VM_Proxmoxs&amp;diff=38"/>
		<updated>2023-07-03T17:53:25Z</updated>

		<summary type="html">&lt;p&gt;Mzigaran: Página creada con «* [https://cloud.riu.edu.ar/index.php/s/rPyaWmX2RECKnXn Jitsi Dominio Seguro] * [https://cloud.riu.edu.ar/index.php/s/TBntLtfGXf9d3MQ Jitsi LDAP] * [https://cloud.riu.edu.ar/index.php/s/ENwJgiTSoeJC7T7 Jitsi VideoBridge] * [https://cloud.riu.edu.ar/index.php/s/t2mbAJqBb4fnRT7 Jibri]»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [https://cloud.riu.edu.ar/index.php/s/rPyaWmX2RECKnXn Jitsi Dominio Seguro]&lt;br /&gt;
* [https://cloud.riu.edu.ar/index.php/s/TBntLtfGXf9d3MQ Jitsi LDAP]&lt;br /&gt;
* [https://cloud.riu.edu.ar/index.php/s/ENwJgiTSoeJC7T7 Jitsi VideoBridge]&lt;br /&gt;
* [https://cloud.riu.edu.ar/index.php/s/t2mbAJqBb4fnRT7 Jibri]&lt;/div&gt;</summary>
		<author><name>Mzigaran</name></author>
	</entry>
	<entry>
		<id>http://jitsiwiki.riu.edu.ar/index.php?title=Template_VM_Proxmox&amp;diff=37</id>
		<title>Template VM Proxmox</title>
		<link rel="alternate" type="text/html" href="http://jitsiwiki.riu.edu.ar/index.php?title=Template_VM_Proxmox&amp;diff=37"/>
		<updated>2023-07-03T17:49:57Z</updated>

		<summary type="html">&lt;p&gt;Mzigaran: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[Template VM Proxmoxs]]&lt;br /&gt;
&lt;br /&gt;
* [[Template VM VMWare]]&lt;/div&gt;</summary>
		<author><name>Mzigaran</name></author>
	</entry>
	<entry>
		<id>http://jitsiwiki.riu.edu.ar/index.php?title=Template_VM_Proxmox&amp;diff=36</id>
		<title>Template VM Proxmox</title>
		<link rel="alternate" type="text/html" href="http://jitsiwiki.riu.edu.ar/index.php?title=Template_VM_Proxmox&amp;diff=36"/>
		<updated>2023-07-03T17:49:26Z</updated>

		<summary type="html">&lt;p&gt;Mzigaran: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Template VM Proxmox]]&lt;br /&gt;
* [[Template VM VMWare]]&lt;/div&gt;</summary>
		<author><name>Mzigaran</name></author>
	</entry>
	<entry>
		<id>http://jitsiwiki.riu.edu.ar/index.php?title=P%C3%A1gina_principal&amp;diff=35</id>
		<title>Página principal</title>
		<link rel="alternate" type="text/html" href="http://jitsiwiki.riu.edu.ar/index.php?title=P%C3%A1gina_principal&amp;diff=35"/>
		<updated>2023-07-03T17:48:40Z</updated>

		<summary type="html">&lt;p&gt;Mzigaran: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== [[Despliegue de Jitsi con Docker]] ===&lt;br /&gt;
&lt;br /&gt;
=== [[Instalación de Servidor Jitsi-meet|Instalación de Jitsi sobre Debian 10]] ===&lt;br /&gt;
&lt;br /&gt;
=== [[Instalación de Servidor Jitsi con token|Instalación de Autenticación de Jitsi por token en Debian 9]] ===&lt;br /&gt;
&lt;br /&gt;
=== [[Template VM Proxmox|Templates Proxmox]] ===&lt;br /&gt;
&lt;br /&gt;
=== [[Template VM Proxmox|Templates VMware]] ===&lt;br /&gt;
&lt;br /&gt;
=== [[Monitoreo con Grafana]] ===&lt;br /&gt;
&lt;br /&gt;
=== [[Scrip de Instalación]] ===&lt;br /&gt;
&lt;br /&gt;
== Jitsiwiki.riu.edu.ar ==&lt;br /&gt;
&lt;br /&gt;
* [[Despliegue Docker]]&lt;br /&gt;
* [[Instalación de Servidor Jitsi con token]]&lt;br /&gt;
* [[Instalación de Servidor Jitsi-meet]]&lt;br /&gt;
* [[Instalar y configurar paneles de Grafana para monitorear Jitsi]]&lt;br /&gt;
* [[Script_instalación]]&lt;br /&gt;
* [[Template VM Proxmox|Templates VM Proxmox]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Primeros pasos ==&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Lista de ajustes de configuración]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ Preguntas frecuentes sobre MediaWiki]&lt;br /&gt;
* [https://lists.wikimedia.org/postorius/lists/mediawiki-announce.lists.wikimedia.org/ Lista de correo de anuncios de publicación de MediaWiki]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Traducir MediaWiki a tu idioma]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Aprende a combatir el spam en tu wiki]&lt;/div&gt;</summary>
		<author><name>Mzigaran</name></author>
	</entry>
	<entry>
		<id>http://jitsiwiki.riu.edu.ar/index.php?title=P%C3%A1gina_principal&amp;diff=34</id>
		<title>Página principal</title>
		<link rel="alternate" type="text/html" href="http://jitsiwiki.riu.edu.ar/index.php?title=P%C3%A1gina_principal&amp;diff=34"/>
		<updated>2023-07-03T17:48:03Z</updated>

		<summary type="html">&lt;p&gt;Mzigaran: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== [[Despliegue de Jitsi con Docker]] ===&lt;br /&gt;
&lt;br /&gt;
=== [[Instalación de Servidor Jitsi-meet|Instalación de Jitsi sobre Debian 10]] ===&lt;br /&gt;
&lt;br /&gt;
=== [[Instalación de Servidor Jitsi con token|Instalación de Autenticación de Jitsi por token en Debian 9]] ===&lt;br /&gt;
&lt;br /&gt;
=== [[Template VM Proxmox|Templates Proxmox]] ===&lt;br /&gt;
&lt;br /&gt;
=== [[Template VM Proxmox|Templates VMware]] ===&lt;br /&gt;
&lt;br /&gt;
=== [[Monitoreo con Grafana]] ===&lt;br /&gt;
&lt;br /&gt;
=== [[Scrip de Instalación]] ===&lt;br /&gt;
&lt;br /&gt;
== Jitsiwiki.riu.edu.ar ==&lt;br /&gt;
&lt;br /&gt;
* [[Despliegue Docker]]&lt;br /&gt;
* [[Instalación de Servidor Jitsi con token]]&lt;br /&gt;
* [[Instalación de Servidor Jitsi-meet]]&lt;br /&gt;
* [[Instalar y configurar paneles de Grafana para monitorear Jitsi]]&lt;br /&gt;
* [[Script_instalación]]&lt;br /&gt;
* [[Template VM Proxmox]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Primeros pasos ==&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Lista de ajustes de configuración]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ Preguntas frecuentes sobre MediaWiki]&lt;br /&gt;
* [https://lists.wikimedia.org/postorius/lists/mediawiki-announce.lists.wikimedia.org/ Lista de correo de anuncios de publicación de MediaWiki]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Traducir MediaWiki a tu idioma]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Aprende a combatir el spam en tu wiki]&lt;/div&gt;</summary>
		<author><name>Mzigaran</name></author>
	</entry>
	<entry>
		<id>http://jitsiwiki.riu.edu.ar/index.php?title=Instalaci%C3%B3n_de_Servidor_Jitsi_con_token&amp;diff=33</id>
		<title>Instalación de Servidor Jitsi con token</title>
		<link rel="alternate" type="text/html" href="http://jitsiwiki.riu.edu.ar/index.php?title=Instalaci%C3%B3n_de_Servidor_Jitsi_con_token&amp;diff=33"/>
		<updated>2023-07-03T17:46:54Z</updated>

		<summary type="html">&lt;p&gt;Mzigaran: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Por defecto, Jitsi Meet no viene disponible en los repositorios de Debian 9, para ello deberemos de añadir el repositorio oficial.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sobre debian 10 no funciona por que utiliza el paquete lua5.2 y la libreria luacrypt no compila.&#039;&#039;&#039;&lt;br /&gt;
 wget -qO - &amp;lt;nowiki&amp;gt;https://download.jitsi.org/jitsi-key.gpg.key&amp;lt;/nowiki&amp;gt; | apt-key add -&lt;br /&gt;
Añadimos el repositorio:&lt;br /&gt;
 sh -c &amp;quot;echo &#039;deb &amp;lt;nowiki&amp;gt;https://download.jitsi.org&amp;lt;/nowiki&amp;gt; stable/&#039;&amp;gt; /etc/apt/sources.list.d/jitsi.list&amp;quot;&lt;br /&gt;
Actualizamos los repositorios e instalamos el paquete necesario:&lt;br /&gt;
 apt update&lt;br /&gt;
 apt install jitsi-meet&lt;br /&gt;
La autenticacion por token necesita una version de prosody en particular, la instalamos:&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://packages.prosody.im/debian/pool/main/p/prosody-trunk/prosody-trunk_1nightly747-1~stretch_amd64.deb&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 dpkg -i prosody-trunk_1nightly747-1~stretch_amd64.deb&lt;br /&gt;
Instalamos el paquete de jitsi para token&lt;br /&gt;
 apt install jitsi-meet-tokens&lt;br /&gt;
Hay que asegurarse que al final del archivo /etc/prosody/prosody.cfg.lua contenga la siguiente linea&lt;br /&gt;
 Include &amp;quot;conf.d/*.cfg.lua&amp;quot;&lt;br /&gt;
Chequear que el cifrado de cliente a servidor no se aplica en el archivo /etc/prosody/prosody.cfg.lua&lt;br /&gt;
 c2s_require_encryption=false&lt;br /&gt;
Editamos el archivo /etc/prosody/conf.d/jitsi.unq.edu.ar.cfg.lua y nos aseguramos que la linea plugin_paths este descomentada, es decir que no tenga adelante –&lt;br /&gt;
 plugin_paths = { &amp;quot;/usr/share/jitsi-meet/prosody-plugins/&amp;quot; }&lt;br /&gt;
 &lt;br /&gt;
 -- domain mapper options, must at least have domain base set to use the mapper&lt;br /&gt;
 muc_mapper_domain_base = &amp;quot;jitsi.riu.edu.ar&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 turncredentials_secret = &amp;quot;pM5NU340JZ3S6dIr&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 turncredentials = {&lt;br /&gt;
   { type = &amp;quot;stun&amp;quot;, host = &amp;quot;jitsi.riu.edu.ar&amp;quot;, port = &amp;quot;4446&amp;quot; },&lt;br /&gt;
   { type = &amp;quot;turn&amp;quot;, host = &amp;quot;jitsi.riu.edu.ar&amp;quot;, port = &amp;quot;4446&amp;quot;, transport = &amp;quot;udp&amp;quot; },&lt;br /&gt;
   { type = &amp;quot;turns&amp;quot;, host = &amp;quot;jitsi.riu.edu.ar&amp;quot;, port = &amp;quot;443&amp;quot;, transport = &amp;quot;tcp&amp;quot; }&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 cross_domain_bosh = false;&lt;br /&gt;
 consider_bosh_secure = true;&lt;br /&gt;
 &lt;br /&gt;
 VirtualHost &amp;quot;jitsi.unq.edu.ar&amp;quot;&lt;br /&gt;
    -- enabled = false -- Remove this line to enable this host&lt;br /&gt;
         authentication = &amp;quot;token&amp;quot;&lt;br /&gt;
         app_id = &amp;quot;id-app&amp;quot;&lt;br /&gt;
         app_secret = &amp;quot;secreto&amp;quot;&lt;br /&gt;
         allow_empty_token = false&lt;br /&gt;
         -- Properties below are modified by jitsi-meet-tokens package config&lt;br /&gt;
         -- and authentication above is switched to &amp;quot;token&amp;quot;&lt;br /&gt;
         -- Assign this host a certificate for TLS, otherwise it would use the one&lt;br /&gt;
         -- set in the global section (if any).&lt;br /&gt;
         -- Note that old-style SSL on port 5223 only supports one certificate, and will always&lt;br /&gt;
         -- use the global one.&lt;br /&gt;
         ssl = {&lt;br /&gt;
                 key = &amp;quot;/etc/prosody/certs/jitsi.riu.edu.ar.key&amp;quot;;&lt;br /&gt;
                 certificate = &amp;quot;/etc/prosody/certs/jitsi.riu.edu.ar.crt&amp;quot;;&lt;br /&gt;
         }&lt;br /&gt;
         speakerstats_component = &amp;quot;speakerstats.jitsi.riu.edu.ar&amp;quot;&lt;br /&gt;
         conference_duration_component = &amp;quot;conferenceduration.jitsi.riu.edu.ar&amp;quot;&lt;br /&gt;
         -- we need bosh&lt;br /&gt;
         modules_enabled = {&lt;br /&gt;
             &amp;quot;bosh&amp;quot;;&lt;br /&gt;
             &amp;quot;pubsub&amp;quot;;&lt;br /&gt;
             &amp;quot;ping&amp;quot;; -- Enable mod_ping&lt;br /&gt;
             &amp;quot;speakerstats&amp;quot;;&lt;br /&gt;
             &amp;quot;turncredentials&amp;quot;;&lt;br /&gt;
             &amp;quot;conference_duration&amp;quot;;&lt;br /&gt;
             &amp;quot;presence_identity&amp;quot;; #Este parametro tiene que estar habilitado&lt;br /&gt;
         }&lt;br /&gt;
         c2s_require_encryption = false&lt;br /&gt;
 &lt;br /&gt;
 Component &amp;quot;conference.jitsi.riu.edu.ar&amp;quot; &amp;quot;muc&amp;quot;&lt;br /&gt;
     storage = &amp;quot;null&amp;quot;&lt;br /&gt;
     modules_enabled = {&lt;br /&gt;
         &amp;quot;muc_meeting_id&amp;quot;;&lt;br /&gt;
         &amp;quot;muc_domain_mapper&amp;quot;;&lt;br /&gt;
         &amp;quot;token_verification&amp;quot;; #Este parametro tiene que estar habilitado&lt;br /&gt;
     }&lt;br /&gt;
     admins = { &amp;quot;focus@auth.jitsi.riu.edu.ar&amp;quot; }&lt;br /&gt;
     muc_room_locking = false&lt;br /&gt;
     muc_room_default_public_jids = true&lt;br /&gt;
 &lt;br /&gt;
 -- internal muc component&lt;br /&gt;
 Component &amp;quot;internal.auth.jitsi.riu.edu.ar&amp;quot; &amp;quot;muc&amp;quot;&lt;br /&gt;
     storage = &amp;quot;null&amp;quot;&lt;br /&gt;
     modules_enabled = {&lt;br /&gt;
       &amp;quot;ping&amp;quot;;&lt;br /&gt;
     }&lt;br /&gt;
     admins = { &amp;quot;focus@auth.jitsi.riu.edu.ar&amp;quot;, &amp;quot;jvb@auth.jitsi.riu.edu.ar&amp;quot; }&lt;br /&gt;
 --    muc_room_locking = false&lt;br /&gt;
 --    muc_room_default_public_jids = true&lt;br /&gt;
 &lt;br /&gt;
 VirtualHost &amp;quot;auth.jitsi.riu.edu.ar&amp;quot;&lt;br /&gt;
     ssl = {&lt;br /&gt;
         key = &amp;quot;/etc/prosody/certs/auth.jitsi.riu.edu.ar.key&amp;quot;;&lt;br /&gt;
         certificate = &amp;quot;/etc/prosody/certs/auth.jitsi.riu.edu.ar.crt&amp;quot;;&lt;br /&gt;
     }&lt;br /&gt;
     authentication = &amp;quot;internal_plain&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 Component &amp;quot;focus.jitsi.riu.edu.ar&amp;quot;&lt;br /&gt;
     component_secret = &amp;quot;V9aZtBrm&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 Component &amp;quot;speakerstats.jitsi.riu.edu.ar&amp;quot; &amp;quot;speakerstats_component&amp;quot;&lt;br /&gt;
     muc_component = &amp;quot;conference.jitsi.riu.edu.ar&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 Component &amp;quot;conferenceduration.jitsi.riu.edu.ar&amp;quot; &amp;quot;conference_duration_component&amp;quot;&lt;br /&gt;
     muc_component = &amp;quot;conference.jitsi.riu.edu.ar&amp;quot;&lt;br /&gt;
Instalar los paquetes necesarios para que funcione la autenticación con token&lt;br /&gt;
 apt install libssl1.0-dev luarocks&lt;br /&gt;
 luarocks install basexx&lt;br /&gt;
 luarocks install luacrypto&lt;br /&gt;
 luarocks install lua-cjson&lt;br /&gt;
 luarocks install lbase64&lt;br /&gt;
 luarocks install luajwtjitsi&lt;br /&gt;
Reemplazar el archivo mod_posix.lua, de la siguiente manera&lt;br /&gt;
 cd /usr/lib/prosody/modules/&lt;br /&gt;
 rm mod_posix.lua&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/bjc/prosody/master/plugins/mod_posix.lua&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Reiniciamos prosody&lt;br /&gt;
 /etc/init.d/prosody restart&lt;br /&gt;
Luego generamos el token, para esto ingresamos a la pagina &amp;lt;nowiki&amp;gt;https://jwt.io/&amp;lt;/nowiki&amp;gt; y la completamos de la siguiente manera:&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;alg&amp;quot;: &amp;quot;HS256&amp;quot;,&lt;br /&gt;
   &amp;quot;typ&amp;quot;: &amp;quot;JWT&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;aud&amp;quot;: &amp;quot;jitsi&amp;quot;,&lt;br /&gt;
   &amp;quot;iss&amp;quot;: &amp;quot;app_id&amp;quot;,&lt;br /&gt;
   &amp;quot;sub&amp;quot;: &amp;quot;jitsi.unq.edu.ar&amp;quot;,&lt;br /&gt;
   &amp;quot;room&amp;quot;: &amp;quot;*&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 Reemplazamos &amp;quot;your-256-bit-secret&amp;quot; por el app_secret&lt;/div&gt;</summary>
		<author><name>Mzigaran</name></author>
	</entry>
	<entry>
		<id>http://jitsiwiki.riu.edu.ar/index.php?title=P%C3%A1gina_principal&amp;diff=32</id>
		<title>Página principal</title>
		<link rel="alternate" type="text/html" href="http://jitsiwiki.riu.edu.ar/index.php?title=P%C3%A1gina_principal&amp;diff=32"/>
		<updated>2023-07-03T17:45:21Z</updated>

		<summary type="html">&lt;p&gt;Mzigaran: /* Instalación de Autenticación de Jitsi por token en Debian 9 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== [[Despliegue de Jitsi con Docker]] ===&lt;br /&gt;
&lt;br /&gt;
=== [[Instalación de Servidor Jitsi-meet|Instalación de Jitsi sobre Debian 10]] ===&lt;br /&gt;
&lt;br /&gt;
=== [[Instalación de Servidor Jitsi con token|Instalación de Autenticación de Jitsi por token en Debian 9]] ===&lt;br /&gt;
&lt;br /&gt;
=== [[Templates Proxmox]] ===&lt;br /&gt;
&lt;br /&gt;
=== [[Templates VMware]] ===&lt;br /&gt;
&lt;br /&gt;
=== [[Monitoreo con Grafana]] ===&lt;br /&gt;
&lt;br /&gt;
=== [[Scrip de Instalación]] ===&lt;br /&gt;
&lt;br /&gt;
== Jitsiwiki.riu.edu.ar ==&lt;br /&gt;
&lt;br /&gt;
* [[Despliegue Docker]]&lt;br /&gt;
* [[Instalación de Servidor Jitsi con token]]&lt;br /&gt;
* [[Instalación de Servidor Jitsi-meet]]&lt;br /&gt;
* [[Instalar y configurar paneles de Grafana para monitorear Jitsi]]&lt;br /&gt;
* [[Script_instalación]]&lt;br /&gt;
* [[Template VM Proxmox]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Primeros pasos ==&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Lista de ajustes de configuración]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ Preguntas frecuentes sobre MediaWiki]&lt;br /&gt;
* [https://lists.wikimedia.org/postorius/lists/mediawiki-announce.lists.wikimedia.org/ Lista de correo de anuncios de publicación de MediaWiki]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Traducir MediaWiki a tu idioma]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Aprende a combatir el spam en tu wiki]&lt;/div&gt;</summary>
		<author><name>Mzigaran</name></author>
	</entry>
	<entry>
		<id>http://jitsiwiki.riu.edu.ar/index.php?title=Instalaci%C3%B3n_de_Servidor_Jitsi-meet&amp;diff=31</id>
		<title>Instalación de Servidor Jitsi-meet</title>
		<link rel="alternate" type="text/html" href="http://jitsiwiki.riu.edu.ar/index.php?title=Instalaci%C3%B3n_de_Servidor_Jitsi-meet&amp;diff=31"/>
		<updated>2023-07-03T16:24:25Z</updated>

		<summary type="html">&lt;p&gt;Mzigaran: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Instalación de Servidor web ==&lt;br /&gt;
Jitsi nos da la posibilidad de utilizar nginx o apache2&lt;br /&gt;
 apt install apt-transport-https&lt;br /&gt;
&lt;br /&gt;
=== instalacion de nginx ===&lt;br /&gt;
 apt install nginx&lt;br /&gt;
&lt;br /&gt;
=== instalacion de apache2 ===&lt;br /&gt;
 apt install apache2&lt;br /&gt;
&lt;br /&gt;
== Instalacion de jitsi-meet ==&lt;br /&gt;
Por defecto, Jitsi Meet no viene disponible en los repositorios de Debian 9, para ello deberemos de añadir el repositorio oficial:&lt;br /&gt;
 wget -qO - &amp;lt;nowiki&amp;gt;https://download.jitsi.org/jitsi-key.gpg.key&amp;lt;/nowiki&amp;gt; | apt-key add -&lt;br /&gt;
Añadimos el repositorio:&lt;br /&gt;
 sh -c &amp;quot;echo &#039;deb &amp;lt;nowiki&amp;gt;https://download.jitsi.org&amp;lt;/nowiki&amp;gt; stable/&#039;&amp;gt; /etc/apt/sources.list.d/jitsi.list&amp;quot;&lt;br /&gt;
Actualizamos los repositorios e instalamos el paquete necesario:&lt;br /&gt;
 apt update&lt;br /&gt;
 apt install jitsi-meet&lt;br /&gt;
Durante la instalación, tendremos que añadir nuestro hostname:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pantalla N°1&lt;br /&gt;
&lt;br /&gt;
En la siguiente pantalla podemos elegir, entre usar un certificado genérico o usar nuestros propios certificados, en el caso de usar los genéricos mas adelante se puede usar un script que viene con la aplicacion para generar certificados Let&#039;s Encrypt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pantalla N°2&lt;br /&gt;
&lt;br /&gt;
Accediendo a Jitsi Ahora tenemos Jitsi instalando. Así que si abrimos el navegador y escribimos https://jitsi.midominio.com deberemos de poder acceder y ver lo siguiente:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pantalla N°3&lt;br /&gt;
&lt;br /&gt;
pd: Jitsi tiene una aplicación para celulares, para poder usar la misma hay agregar una cadena de certificados en el servidor web, si dejamos la configuración del servidor web que genera jitsi por defecto la aplicación del celular no va a funcionar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Parámetros a configurar:&lt;br /&gt;
&lt;br /&gt;
- Editamos el archivo /usr/share/jitsi-meet/interface_config.js&lt;br /&gt;
&lt;br /&gt;
DEFAULT_REMOTE_DISPLAY_NAME: &#039;Usuario Anónimo&#039;,&lt;br /&gt;
&lt;br /&gt;
DEFAULT_LOCAL_DISPLAY_NAME: &#039;Yo&#039;,&lt;br /&gt;
&lt;br /&gt;
SHOW_JITSI_WATERMARK: true,&lt;br /&gt;
&lt;br /&gt;
JITSI_WATERMARK_LINK: &#039;http://www.riu.edu.ar&amp;lt;nowiki/&amp;gt;&#039;,&lt;br /&gt;
&lt;br /&gt;
APP_NAME: &#039;Video Conferencia RIU&#039;,&lt;br /&gt;
&lt;br /&gt;
NATIVE_APP_NAME: &#039;Vídeo Conferencia RIU&#039;,&lt;br /&gt;
&lt;br /&gt;
- Los siguientes parámetros no son necesarios modificar, pero mejoran el rendimiento de la aplicación, cuando hay mas de 15 usuarios conectados:&lt;br /&gt;
&lt;br /&gt;
DISABLE_FOCUS_INDICATOR: true,&lt;br /&gt;
&lt;br /&gt;
DISABLE_DOMINANT_SPEAKER_INDICATOR: true,&lt;br /&gt;
&lt;br /&gt;
Editamos el archivo /usr/share/jitsi-meet/css/all.css&lt;br /&gt;
&lt;br /&gt;
En este archivo podemos cambiar la marca de agua, buscamos watermark.png y lo reemplazamos por nuestro logo.&lt;br /&gt;
&lt;br /&gt;
Editamos el archivo /etc/jitsi/meet/jitsi.midominio.edu.ar-config.js&lt;br /&gt;
&lt;br /&gt;
Este parámetro obliga a los usuarios que ingresen a una sala a identificarse&lt;br /&gt;
&lt;br /&gt;
requireDisplayName: true,&lt;br /&gt;
&lt;br /&gt;
En este parámetro se selecciona el idioma por defecto&lt;br /&gt;
&lt;br /&gt;
defaultLanguage: &#039;es&#039;,&lt;br /&gt;
&lt;br /&gt;
Habilitar IPv6&lt;br /&gt;
&lt;br /&gt;
useIPv6: true,&lt;br /&gt;
&lt;br /&gt;
Enviar mensaje a los usuarios:&lt;br /&gt;
&lt;br /&gt;
noticeMessage: &#039;El servicio va a entrar en mantenimiento el Lunes 27 de Abril de 2020&#039;,&lt;br /&gt;
&lt;br /&gt;
En este archivo también se puede modificar parámetros para mejorar el rendimiento:&lt;br /&gt;
&lt;br /&gt;
disableAudioLevels: true,&lt;br /&gt;
&lt;br /&gt;
constraints: {&lt;br /&gt;
     video: {\\&lt;br /&gt;
         aspectRatio: 16 / 9,\\&lt;br /&gt;
         height: {\\&lt;br /&gt;
             ideal: 240,\\&lt;br /&gt;
             max: 480,\\&lt;br /&gt;
             min: 180\\&lt;br /&gt;
         }\\&lt;br /&gt;
     }\\&lt;br /&gt;
 },\\&lt;br /&gt;
&lt;br /&gt;
== Dominio Seguro ==&lt;br /&gt;
Jitsi por defecto permite que cualquier persona cree una sala para una video conferencia, para evitar esto, es posible permitir solo usuarios autenticados para crear nuevas salas de conferencias. Cada vez que se va a crear una nueva sala, Jitsi Meet solicitará el nombre de usuario y la contraseña. Una vez creada la sala, otros podrán unirse desde un dominio anónimo. Esto es lo que debe configurarse:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Habilitar la autenticación en nuestro dominio principal:&#039;&#039;&#039;&lt;br /&gt;
 VirtualHost &amp;quot;jitsi.riu.edu.ar&amp;quot;&lt;br /&gt;
     authentication = &amp;quot;internal_plain&amp;quot;&lt;br /&gt;
&#039;&#039;&#039;Agregue un nuevo VirtualHost con un método de inicio de sesión anónimo para los invitados:&#039;&#039;&#039;&lt;br /&gt;
 VirtualHost &amp;quot;guest.jitsi.riu.edu.ar&amp;quot;&lt;br /&gt;
     authentication = &amp;quot;anonymous&amp;quot;&lt;br /&gt;
     c2s_require_encryption = false&lt;br /&gt;
(Tenga en cuenta que guest.jitsi.midominio.com es interno de jitsi, y no necesita (y no debe) crear un registro &amp;lt;abbr&amp;gt;DNS&amp;lt;/abbr&amp;gt; para él, ni generar un certificado SSL / TLS, ni realizar ninguna configuración de servidor web. )&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Editar el archivo /etc/jitsi/meet/jitsi.riu.edu.ar-config.js&#039;&#039;&#039;&lt;br /&gt;
 var config = {&lt;br /&gt;
     hosts: {&lt;br /&gt;
    domain: &#039;jitsi.riu.edu.ar&#039;,&lt;br /&gt;
             anonymousdomain: &#039;guest.jitsi.riu.edu.ar&#039;,&lt;br /&gt;
             ...&lt;br /&gt;
         },&lt;br /&gt;
         ...&lt;br /&gt;
 }&lt;br /&gt;
&#039;&#039;&#039;Al ejecutar Jicofo, especifique su dominio principal en una propiedad de configuración adicional. Jicofo aceptará solicitudes de asignación de conferencias solo del dominio autenticado.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Agregar una nueva linea en el archivo &#039;&#039;&#039;/etc/jitsi/jicofo/sip-communicator.properties&#039;&#039;&#039;:&lt;br /&gt;
 org.jitsi.jicofo.auth.URL=&amp;lt;nowiki&amp;gt;XMPP:jitsi.riu.edu.ar&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Crear los usuarios que van a poder crear salas de video conferencia&#039;&#039;&#039;&lt;br /&gt;
 prosodyctl register &amp;lt;username&amp;gt; jitsi.riu.edu.ar &amp;lt;password&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Reinicio los servicios&#039;&#039;&#039;&lt;br /&gt;
 systemctl restart prosody&lt;br /&gt;
 systemctl restart jicofo&lt;br /&gt;
&lt;br /&gt;
= Balanceo de carga =&lt;br /&gt;
Una instalación por defecto soporta hasta 3 vídeo conferencias simultaneas con 60 participantes, en caso que se deseen hacer mas VC simultaneas hay que agregar un videobridge mas. Por cada videobridge que le agrego a una instancia de jitsi le permito hacer 3 VC simultaneas mas.&lt;br /&gt;
&lt;br /&gt;
== Servidor con jitsi-meet ==&lt;br /&gt;
Para poder realizar esto se necesita otro servidor con Debian9 y en este se va a instalar el videobridge extra.&lt;br /&gt;
&lt;br /&gt;
hay que habilitar las estadísticas de PubSub en el videobridge del jitsi para esto editamos el archivo &#039;&#039;&#039;/etc/jitsi/videobridge/sip-communicator.properties&#039;&#039;&#039; y agregamos las siguientes lineas:&lt;br /&gt;
 org.jitsi.videobridge.ENABLE_STATISTICS=true&lt;br /&gt;
 org.jitsi.videobridge.STATISTICS_TRANSPORT=pubsub&lt;br /&gt;
 org.jitsi.videobridge.PUBSUB_SERVICE=jitsi.riu.edu.ar&lt;br /&gt;
 org.jitsi.videobridge.PUBSUB_NODE=sharedStatsNode&lt;br /&gt;
Editamos el archivo &#039;&#039;&#039;/etc/jitsi/videobridge/config&#039;&#039;&#039; y modificamos el siguiente parametro:&lt;br /&gt;
 JVB_HOSTNAME=jitsi.riu.edu.ar&lt;br /&gt;
Luego editamos el archivo &#039;&#039;&#039;/etc/prosody/conf.d/jitsi.riu.edu.ar.cfg.lua&#039;&#039;&#039; y agrego las siguientes lineass dentro de &#039;&#039;&#039;VirtualHost “jitsi.midominio.com”&#039;&#039;&#039;&lt;br /&gt;
 admins = {&lt;br /&gt;
    &amp;quot;jitsi-videobridge.jitsi.riu.edu.ar&amp;quot;,&lt;br /&gt;
                 &amp;quot;videobridge2.jitsi.riu.edu.ar&amp;quot;,&lt;br /&gt;
         }&lt;br /&gt;
 &lt;br /&gt;
 Component &amp;quot;jitsi-videobridge.jitsi.riu.edu.ar&amp;quot;&lt;br /&gt;
     component_secret = &amp;quot;lVNL#Ne@&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 Component &amp;quot;videobridge2.jitsi.riu.edu.ar&amp;quot;&lt;br /&gt;
     component_secret = &amp;quot;6a0l6ale&amp;quot;    #Esta contraseña la sacamos de /etc/jitsi/videobridge/config del segundo debian9&lt;br /&gt;
Habilitamos para que el servicio prosody atienda en una IP.&lt;br /&gt;
 component_ports = { 5347 }&lt;br /&gt;
 component_interface = &amp;quot;xxx.xxx.xxx.xxx&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Nuevo servidor con jitsi-videobridge ==&lt;br /&gt;
En el nuevo servidor debian9 instalamos el paque jitsi-videobridge. para ello deberemos de añadir el repositorio oficial:&lt;br /&gt;
 wget -qO - &amp;lt;nowiki&amp;gt;https://download.jitsi.org/jitsi-key.gpg.key&amp;lt;/nowiki&amp;gt; | apt-key add -&lt;br /&gt;
Añadimos el repositorio:&lt;br /&gt;
 sh -c &amp;quot;echo &#039;deb &amp;lt;nowiki&amp;gt;https://download.jitsi.org&amp;lt;/nowiki&amp;gt; stable/&#039;&amp;gt; /etc/apt/sources.list.d/jitsi.list&amp;quot;&lt;br /&gt;
Actualizamos los repositorios e instalamos el paquete necesario:&lt;br /&gt;
 apt update&lt;br /&gt;
 apt install jitsi-videobridge&lt;br /&gt;
Editamos el archivo &#039;&#039;&#039;/etc/jitsi/videobridge/config&#039;&#039;&#039; y modificamos los siguientes parametros:&lt;br /&gt;
 JVB_HOSTNAME=jitsi.midominio.com&lt;br /&gt;
 JVB_HOST=jitsi.midominio.com&lt;br /&gt;
 JVB_OPTS=&amp;quot;--apis=rest,xmpp --subdomain=videobridge2&amp;quot;&lt;br /&gt;
Luego editamos el archivo &#039;&#039;&#039;/etc/jitsi/videobridge/sip-communicator.properties&#039;&#039;&#039; y agregamos las siguientes lineas:&lt;br /&gt;
 org.jitsi.videobridge.AUTHORIZED_SOURCE_REGEXP=focus@auth.jitsi.riu.edu.ar/.*&lt;br /&gt;
 org.jitsi.videobridge.ENABLE_STATISTICS=true&lt;br /&gt;
 org.jitsi.videobridge.STATISTICS_TRANSPORT=pubsub&lt;br /&gt;
 org.jitsi.videobridge.PUBSUB_SERVICE=jitsi.riu.edu.ar&lt;br /&gt;
 org.jitsi.videobridge.PUBSUB_NODE=sharedStatsNode&lt;br /&gt;
&lt;br /&gt;
= Habilitar Live Streaming and Record =&lt;br /&gt;
&lt;br /&gt;
== SERVIDOR JIBRI ==&lt;br /&gt;
Instalamos la ultima version del paquete linux-image&lt;br /&gt;
 apt install linux-image-4.9.0-12-amd64&lt;br /&gt;
Habilitamos los modulos ALSA loopback y nos aseguramos que carguen en el inicio:&lt;br /&gt;
 echo &amp;quot;snd-aloop&amp;quot;&amp;gt;&amp;gt; /etc/modules&lt;br /&gt;
 modprobe snd-aloop&lt;br /&gt;
Chequeamos que estén funcionando:&lt;br /&gt;
 lsmod | grep snd_aloop&lt;br /&gt;
Jibri requiere una instalación ffmpeg relativamente moderna con captura x11 compilada. Agregamos los repositorios de multimedia &#039;&#039;&#039;deb http://www.deb-multimedia.org stretch main contrib non-free&#039;&#039;&#039; Para poder instalar desde estos repositorios hay que instalar la firma&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://www.deb-multimedia.org/pool/main/d/deb-multimedia-keyring/deb-multimedia-keyring_2016.8.1_all.deb&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 dpkg -i deb-multimedia-keyring_2016.8.1_all.deb&lt;br /&gt;
Ahora actualziamos e instalamos el paquete ffmpeg&lt;br /&gt;
 apt update&lt;br /&gt;
 apt install ffmpeg&lt;br /&gt;
&lt;br /&gt;
=== Google Chrome stable &amp;amp; Chromedriver ===&lt;br /&gt;
Se debe usar la última versión estable de Google Chrome.&lt;br /&gt;
 apt install curl&lt;br /&gt;
 curl -sS -o - &amp;lt;nowiki&amp;gt;https://dl-ssl.google.com/linux/linux_signing_key.pub&amp;lt;/nowiki&amp;gt; | apt-key add&lt;br /&gt;
 echo &amp;quot;deb [arch=amd64] &amp;lt;nowiki&amp;gt;http://dl.google.com/linux/chrome/deb/&amp;lt;/nowiki&amp;gt; stable main&amp;quot;&amp;gt; /etc/apt/sources.list.d/google-chrome.list&lt;br /&gt;
 apt update&lt;br /&gt;
 apt install google-chrome-stable&lt;br /&gt;
Agregue el archivo de políticas administradas de Chrome y establezca CommandLineFlagSecurityWarningsEnabled en falso. Ocultará advertencias en Chrome. Puedes configurarlo así:&lt;br /&gt;
 mkdir -p /etc/opt/chrome/policies/managed&lt;br /&gt;
 echo &#039;{ &amp;quot;CommandLineFlagSecurityWarningsEnabled&amp;quot;: false }&#039;&amp;gt;&amp;gt;/etc/opt/chrome/policies/managed/managed_policies.json&lt;br /&gt;
Chromedriver también es necesario y puede instalarse así:&lt;br /&gt;
 CHROME_DRIVER_VERSION=`curl -sS chromedriver.storage.googleapis.com/LATEST_RELEASE`&lt;br /&gt;
 wget -N &amp;lt;nowiki&amp;gt;http://chromedriver.storage.googleapis.com/$CHROME_DRIVER_VERSION/chromedriver_linux64.zip&amp;lt;/nowiki&amp;gt; -P ~/&lt;br /&gt;
 unzip ~/chromedriver_linux64.zip -d ~/&lt;br /&gt;
 rm ~/chromedriver_linux64.zip&lt;br /&gt;
 sudo mv -f ~/chromedriver /usr/local/bin/chromedriver&lt;br /&gt;
 sudo chown root:root /usr/local/bin/chromedriver&lt;br /&gt;
 sudo chmod 0755 /usr/local/bin/chromedriver&lt;br /&gt;
&lt;br /&gt;
=== Herramientas varias necesarias ===&lt;br /&gt;
Instalación de paquetes necesarios:&lt;br /&gt;
 apt install default-jre-headless ffmpeg curl alsa-utils icewm xdotool xserver-xorg-input-void xserver-xorg-video-dummy&lt;br /&gt;
&lt;br /&gt;
=== Instalación y configuración de Jibri ===&lt;br /&gt;
 apt install jibri&lt;br /&gt;
&lt;br /&gt;
=== Archivo de Configuración ===&lt;br /&gt;
Editar el archivos config.json (ubicado por defecto en /etc/jitsi/jibri/config.json)&lt;br /&gt;
 {&lt;br /&gt;
     &amp;quot;recording_directory&amp;quot;:&amp;quot;/tmp/recordings&amp;quot;,&lt;br /&gt;
     &amp;quot;finalize_recording_script_path&amp;quot;: &amp;quot;/path/to/finalize_recording.sh&amp;quot;,&lt;br /&gt;
     &amp;quot;xmpp_environments&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
             &amp;quot;name&amp;quot;: &amp;quot;prod environment&amp;quot;,&lt;br /&gt;
             &amp;quot;xmpp_server_hosts&amp;quot;: [&lt;br /&gt;
                 &amp;quot;jitsi.riu.edu.ar&amp;quot;&lt;br /&gt;
             ],&lt;br /&gt;
             &amp;quot;xmpp_domain&amp;quot;: &amp;quot;jitsi.riu.edu.ar&amp;quot;,&lt;br /&gt;
             &amp;quot;control_login&amp;quot;: {&lt;br /&gt;
                 &amp;quot;domain&amp;quot;: &amp;quot;auth.jitsi.riu.edu.ar&amp;quot;,&lt;br /&gt;
                 &amp;quot;username&amp;quot;: &amp;quot;jibri&amp;quot;,&lt;br /&gt;
                 &amp;quot;password&amp;quot;: &amp;quot;123456&amp;quot;&lt;br /&gt;
             },&lt;br /&gt;
             &amp;quot;control_muc&amp;quot;: {&lt;br /&gt;
                 &amp;quot;domain&amp;quot;: &amp;quot;internal.auth.jitsi.riu.edu.ar&amp;quot;,&lt;br /&gt;
                 &amp;quot;room_name&amp;quot;: &amp;quot;JibriBrewery&amp;quot;,&lt;br /&gt;
                 &amp;quot;nickname&amp;quot;: &amp;quot;jibri-nickname&amp;quot;&lt;br /&gt;
             },&lt;br /&gt;
             &amp;quot;call_login&amp;quot;: {&lt;br /&gt;
                 &amp;quot;domain&amp;quot;: &amp;quot;recorder.jitsi.riu.edu.ar&amp;quot;,&lt;br /&gt;
                 &amp;quot;username&amp;quot;: &amp;quot;recorder&amp;quot;,&lt;br /&gt;
                 &amp;quot;password&amp;quot;: &amp;quot;123456&amp;quot;&lt;br /&gt;
             },&lt;br /&gt;
             &amp;quot;room_jid_domain_string_to_strip_from_start&amp;quot;: &amp;quot;conference.&amp;quot;,&lt;br /&gt;
             &amp;quot;usage_timeout&amp;quot;: &amp;quot;0&amp;quot;&lt;br /&gt;
         }&lt;br /&gt;
     ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== SERVIDOR JITSI ==&lt;br /&gt;
&lt;br /&gt;
=== Modificar jicofo ===&lt;br /&gt;
Editar el archivo /etc/jitsi/jicofo/sip-communicator.properties y agregar las siguientes lineas:&lt;br /&gt;
 org.jitsi.jicofo.jibri.BREWERY=JibriBrewery@internal.auth.jitsi.riu.edu.ar&lt;br /&gt;
 org.jitsi.jicofo.jibri.PENDING_TIMEOUT=90&lt;br /&gt;
Editamos el archivo /etc/prosody/conf.d/jitsi.midominio.com.cfg.lua y agregamos lo siguiente:&lt;br /&gt;
 VirtualHost &amp;quot;recorder.jitsi.riu.edu.ar&amp;quot;&lt;br /&gt;
     modules_enabled = {&lt;br /&gt;
    &amp;quot;ping&amp;quot;;&lt;br /&gt;
     }&lt;br /&gt;
     authentication = &amp;quot;internal_plain&amp;quot;&lt;br /&gt;
Creo las dos cuentas que va a utilizar jibri, las contraseñas que voy a utilizar son las mismas que puse en el archivo /etc/jitsi/jibri/config.json&lt;br /&gt;
 prosodyctl register jibri auth.jitsi.riu.edu.ar 123456&lt;br /&gt;
 prosodyctl register recorder recorder.jitsi.riu.edu.ar 123456&lt;br /&gt;
&lt;br /&gt;
=== Modificamos JITSI-MEET ===&lt;br /&gt;
editamos el archivo /etc/jitsi/meet/jitsi.midominio.com.config.js&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;fileRecordingsEnabled: true,&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&#039;&#039;liveStreamingEnabled: true,&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;hiddenDomain: &#039;recorder.jitsi.riu.edu.ar&#039;,&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Autenticación LDAP =&lt;br /&gt;
Jitsi por defecto permite que cualquier persona cree una sala para una video conferencia, para evitar esto, es posible permitir solo usuarios autenticados para crear nuevas salas de conferencias. Cada vez que se va a crear una nueva sala, Jitsi Meet solicitará el nombre de usuario y la contraseña. Una vez creada la sala, otros podrán unirse desde un dominio anónimo.&lt;br /&gt;
&lt;br /&gt;
Primero instalamos los módulos necesarios:&lt;br /&gt;
 apt install prosody-modules lua-ldap&lt;br /&gt;
&#039;&#039;&#039;Creamos el archivo /etc/prosody/conf.avail/ldap.cfg.lua y dentro del mismo ponemos lo siguiente:&#039;&#039;&#039;&lt;br /&gt;
 -- &amp;lt;nowiki&amp;gt;https://modules.prosody.im/mod_lib_ldap.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 -- &amp;lt;nowiki&amp;gt;https://modules.prosody.im/mod_auth_ldap2.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 authentication = &#039;ldap2&#039;&lt;br /&gt;
 &lt;br /&gt;
 ldap = {&lt;br /&gt;
     hostname = &#039;ldap.riu.edu.ar&#039;,&lt;br /&gt;
     bind_dn = &#039;cn=admin,dc=riu,dc=edu,dc=ar&#039;,&lt;br /&gt;
     bind_password = &#039;Contraseña&#039;,&lt;br /&gt;
     use_tls = true,&lt;br /&gt;
     user = {&lt;br /&gt;
    usernamefield = &#039;uid&#039;,&lt;br /&gt;
         basedn = &#039;dc=riu,dc=edu,dc=ar&#039;,&lt;br /&gt;
         filter = &#039;(objectClass=*)&#039;,&lt;br /&gt;
     -- admin?&lt;br /&gt;
         namefield = &#039;cn&#039;,&lt;br /&gt;
     },&lt;br /&gt;
 }&lt;br /&gt;
&#039;&#039;&#039;Creo un link de la configuración al directorio config&#039;&#039;&#039;&lt;br /&gt;
 ln -sf /etc/prosody/conf.avail/ldap.cfg.lua /etc/prosody/conf.d/&lt;br /&gt;
&#039;&#039;&#039;Habilitar la autenticación en nuestro dominio principal:&#039;&#039;&#039;&lt;br /&gt;
 VirtualHost &amp;quot;jitsi.riu.edu.ar&amp;quot;&lt;br /&gt;
     authentication = &amp;quot;ldap2&amp;quot;&lt;br /&gt;
&#039;&#039;&#039;Agregue un nuevo VirtualHost con un método de inicio de sesión anónimo para los invitados:&#039;&#039;&#039;&lt;br /&gt;
 VirtualHost &amp;quot;guest.jitsi.riu.edu.ar&amp;quot;&lt;br /&gt;
     authentication = &amp;quot;anonymous&amp;quot;&lt;br /&gt;
     c2s_require_encryption = false&lt;br /&gt;
(Tenga en cuenta que guest.jitsi.midominio.com es interno de jitsi, y no necesita (y no debe) crear un registro &amp;lt;abbr&amp;gt;DNS&amp;lt;/abbr&amp;gt; para él, ni generar un certificado SSL / TLS, ni realizar ninguna configuración de servidor web. )&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Editar el archivo /etc/jitsi/meet/jitsi.midominio.com-config.js&#039;&#039;&#039;&lt;br /&gt;
 var config = {&lt;br /&gt;
     hosts: {&lt;br /&gt;
    domain: &#039;jitsi.riu.edu.ar&#039;,&lt;br /&gt;
             anonymousdomain: &#039;guest.jitsi.riu.edu.ar&#039;,&lt;br /&gt;
             ...&lt;br /&gt;
         },&lt;br /&gt;
         ...&lt;br /&gt;
 }&lt;br /&gt;
&#039;&#039;&#039;Al ejecutar Jicofo, especifique su dominio principal en una propiedad de configuración adicional. Jicofo aceptará solicitudes de asignación de conferencias solo del dominio autenticado.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Agregar una nueva linea en el archivo &#039;&#039;&#039;/etc/jitsi/jicofo/sip-communicator.properties&#039;&#039;&#039;:&lt;br /&gt;
 org.jitsi.jicofo.auth.URL=&amp;lt;nowiki&amp;gt;XMPP:jitsi.riu.edu.ar&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mzigaran</name></author>
	</entry>
	<entry>
		<id>http://jitsiwiki.riu.edu.ar/index.php?title=P%C3%A1gina_principal&amp;diff=30</id>
		<title>Página principal</title>
		<link rel="alternate" type="text/html" href="http://jitsiwiki.riu.edu.ar/index.php?title=P%C3%A1gina_principal&amp;diff=30"/>
		<updated>2023-07-03T16:07:45Z</updated>

		<summary type="html">&lt;p&gt;Mzigaran: /* Instalación de Jitsi sobre Debian 10 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== [[Despliegue de Jitsi con Docker]] ===&lt;br /&gt;
&lt;br /&gt;
=== [[Instalación de Servidor Jitsi-meet|Instalación de Jitsi sobre Debian 10]] ===&lt;br /&gt;
&lt;br /&gt;
=== [[Instalación de Autenticación de Jitsi por token en Debian 9]] ===&lt;br /&gt;
&lt;br /&gt;
=== [[Templates Proxmox]] ===&lt;br /&gt;
&lt;br /&gt;
=== [[Templates VMware]] ===&lt;br /&gt;
&lt;br /&gt;
=== [[Monitoreo con Grafana]] ===&lt;br /&gt;
&lt;br /&gt;
=== [[Scrip de Instalación]] ===&lt;br /&gt;
&lt;br /&gt;
== Jitsiwiki.riu.edu.ar ==&lt;br /&gt;
&lt;br /&gt;
* [[Despliegue Docker]]&lt;br /&gt;
* [[Instalación de Servidor Jitsi con token]]&lt;br /&gt;
* [[Instalación de Servidor Jitsi-meet]]&lt;br /&gt;
* [[Instalar y configurar paneles de Grafana para monitorear Jitsi]]&lt;br /&gt;
* [[Script_instalación]]&lt;br /&gt;
* [[Template VM Proxmox]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Primeros pasos ==&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Lista de ajustes de configuración]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ Preguntas frecuentes sobre MediaWiki]&lt;br /&gt;
* [https://lists.wikimedia.org/postorius/lists/mediawiki-announce.lists.wikimedia.org/ Lista de correo de anuncios de publicación de MediaWiki]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Traducir MediaWiki a tu idioma]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Aprende a combatir el spam en tu wiki]&lt;/div&gt;</summary>
		<author><name>Mzigaran</name></author>
	</entry>
	<entry>
		<id>http://jitsiwiki.riu.edu.ar/index.php?title=Despliegue_de_Jitsi_con_Docker&amp;diff=29</id>
		<title>Despliegue de Jitsi con Docker</title>
		<link rel="alternate" type="text/html" href="http://jitsiwiki.riu.edu.ar/index.php?title=Despliegue_de_Jitsi_con_Docker&amp;diff=29"/>
		<updated>2023-07-03T16:06:21Z</updated>

		<summary type="html">&lt;p&gt;Mzigaran: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;El primer paso es el despliegue del nodo maestro: [[Despliegue de nodo maestro Jitsi con soporte para escalamiento vía docker|Despliegue de nodo maestro Jitsi con soporte para escalamiento vía Docker]]&lt;br /&gt;
&lt;br /&gt;
Durante el despliegue se deben modificar algunas variables, aquí las más importantes: Variables de entorno&lt;br /&gt;
&lt;br /&gt;
El segundo paso es el [[Despliegue de nodo Jitsi Videobridge con Docker|despliegue de nodos bridge]]&lt;br /&gt;
&lt;br /&gt;
[[En los hosts que corren vídeo bridges|Optimizaciones sugeridas por la comunidad y por los desarrolladores de Jitsi]]&lt;br /&gt;
&lt;br /&gt;
Por defecto, Jitsi es un servicio abierto. Esto quiere decir que cualquier persona en internet puede crear una sala propia o unirse a una en nuestra instancia. Claramente es una desventaja en un contexto de recursos limitados y orientados para el uso específico de la UUNN. Afortunadamente, Jitsi puede integrarse con sistemas de autenticación propios, de manera de limitar la creación de salas y opcionalmente, el acceso a las mismas. Existen varias formas de lograr esto:&lt;br /&gt;
&lt;br /&gt;
* Autenticación y autorización interna&lt;br /&gt;
* Autenticación y autorización por LDAP&lt;br /&gt;
* [[Autenticación de usuarios y protección de conferencias con JWT|Autenticación por JSON Web Tokens (JWT)]]&lt;/div&gt;</summary>
		<author><name>Mzigaran</name></author>
	</entry>
	<entry>
		<id>http://jitsiwiki.riu.edu.ar/index.php?title=Autenticaci%C3%B3n_de_usuarios_y_protecci%C3%B3n_de_conferencias_con_JWT&amp;diff=28</id>
		<title>Autenticación de usuarios y protección de conferencias con JWT</title>
		<link rel="alternate" type="text/html" href="http://jitsiwiki.riu.edu.ar/index.php?title=Autenticaci%C3%B3n_de_usuarios_y_protecci%C3%B3n_de_conferencias_con_JWT&amp;diff=28"/>
		<updated>2023-07-03T16:05:50Z</updated>

		<summary type="html">&lt;p&gt;Mzigaran: Página creada con «Mediante el uso de tokens, Jitsi confía en un proveedor externo de la autenticación de los usuarios. De esta manera es posible delegar la autenticación a una aplicación propia. Tomaremos como caso de ejemplo la integración con una Intranet de una Universidad en la cual sus Docentes tienen que iniciar sesión con usuario y contraseña. Internamente ese par puede validarse a su vez con LDAP, Active Directory, una base de datos propia o cualquier mecanismo imaginabl…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mediante el uso de tokens, Jitsi confía en un proveedor externo de la autenticación de los usuarios. De esta manera es posible delegar la autenticación a una aplicación propia. Tomaremos como caso de ejemplo la integración con una Intranet de una Universidad en la cual sus Docentes tienen que iniciar sesión con usuario y contraseña. Internamente ese par puede validarse a su vez con LDAP, Active Directory, una base de datos propia o cualquier mecanismo imaginable, es irrelevante para JWT. El caso contempla los siguientes requerimientos básicos:&lt;br /&gt;
&lt;br /&gt;
* Se debe crear un módulo dentro de la Intranet que permita a los usuarios, crear conferencias en Jitsi en las cuales serán moderadores.&lt;br /&gt;
* Los usuarios que accedan por fuera de la Intranet no podrán crear conferencias. Sólo podrán participar en conferencias creadas a través de la Intranet.&lt;br /&gt;
&lt;br /&gt;
La interacción típica se da como sigue:&lt;br /&gt;
&lt;br /&gt;
# Una Docente accede al sitio web de la Intranet. Ingresa nombre de usuario y contraseña.&lt;br /&gt;
# Internamente la Intranet valida las credenciales con su proveedor de identidad preferido, si la identidad es válida, carga la sesión de la aplicación Intranet para el usuario que pertenece a la Docente.&lt;br /&gt;
# La Docente ingresa a un módulo de gestión de conferencias Jitsi, desarrollado dentro de la Intranet para este propósito. Indica el nombre de la conferencia que quiere crear, por ejemplo “clase1” y presiona “crear conferencia”.&lt;br /&gt;
# Internamente, la Intranet toma los datos de la sesión de usuario y genera un token JWT.&lt;br /&gt;
# Con el token generado, la Intranet le informa una url que deberá utilizar la Docente para ingresar a la conferencia como creadora y moderadora. La url tendrá el formato: https://hostname-jitsi/clase1?jwt=&amp;lt;token&amp;gt; donde &amp;lt;token&amp;gt; será el valor del token generado en el paso anterior.&lt;br /&gt;
# Por su parte, la Docente deberá informar la url a sus invitados con el formato https://hostname-jitsi/clase1 .&lt;br /&gt;
# Cuando la Docente ingrese a la conferencia en Jitsi, dependiendo de la información contenida en el token, ingresará con sus datos precargados, como su nombre completo, su e-mail, su foto de perfil (avatar), etc.&lt;br /&gt;
&lt;br /&gt;
==== Configuración ====&lt;br /&gt;
Para que Jitsi acepte tokens JWT generados de esta manera se debe configurar el archivo de .env del [[Despliegue de nodo maestro Jitsi con soporte para escalamiento vía docker|despliegue del nodo-maestro]] con las siguientes variables:&lt;br /&gt;
 # habilitamos la autenticacion&lt;br /&gt;
 ENABLE_AUTH=1&lt;br /&gt;
 # permitimos que ingresen invitados&lt;br /&gt;
 ENABLE_GUESTS=1&lt;br /&gt;
 # autenticamos con tokens JWT&lt;br /&gt;
 AUTH_TYPE=jwt&lt;br /&gt;
 # establecemos el nombre de nuestra aplicación que generará los tokens (nuestra intranet)&lt;br /&gt;
 JWT_APP_ID=mi_intranet&lt;br /&gt;
 # establecemos el secreto de 256 bits que compartiremos con la aplicación intranet&lt;br /&gt;
 JWT_APP_SECRET=012345678901234567890123456789012&lt;br /&gt;
 # permito que usuarios sin jwt token entren a las salas creadas por usuarios con jwt token&lt;br /&gt;
 JWT_ALLOW_EMPTY=0&lt;br /&gt;
&#039;&#039;&#039;Importante:&#039;&#039;&#039; si ya se está ejecutando la instancia de jitsi en el nodo maestro, recordar que al haber modificado el archivo .env, es necesario regenerar la configuración a mano de todos los componentes. Por lo tanto, se recomienda &#039;&#039;&#039;realizar un backup&#039;&#039;&#039; de los contenidos de ~/.jitsi-meet-cfg/{web/letsencrypt,transcripts,prosody,jicofo,jvb,jigasi,jibri} para luego poder replicar los cambios realizados.&lt;br /&gt;
&lt;br /&gt;
Se deberá entonces, ejecutar:&lt;br /&gt;
 rm -R ~/.jitsi-meet-cfg/*&lt;br /&gt;
 mkdir -p ~/.jitsi-meet-cfg/{web/letsencrypt,transcripts,prosody,jicofo,jvb,jigasi,jibri}&lt;br /&gt;
 docker-compose up -d&lt;br /&gt;
De esta manera, Jitsi ahora requerirá un JWT para la creación de conferencias.&lt;br /&gt;
&lt;br /&gt;
==== Estructura del token JWT ====&lt;br /&gt;
El token modelo (su payload) es el siguiente:&lt;br /&gt;
 {&lt;br /&gt;
 &amp;quot;iss&amp;quot; : &amp;quot;mi_intranet&amp;quot;,&lt;br /&gt;
 &amp;quot;room&amp;quot; : &amp;quot;*&amp;quot;,&lt;br /&gt;
 &amp;quot;exp&amp;quot; : 1596239022,&lt;br /&gt;
 &amp;quot;sub&amp;quot;: &amp;quot;meet.jitsi&amp;quot;,&lt;br /&gt;
 &amp;quot;aud&amp;quot;: &amp;quot;mi_intranet&amp;quot;,&lt;br /&gt;
 &amp;quot;context&amp;quot; : {&lt;br /&gt;
    &amp;quot;user&amp;quot;: {&lt;br /&gt;
       &amp;quot;group&amp;quot;: &amp;quot;Docente&amp;quot;,&lt;br /&gt;
       &amp;quot;id&amp;quot; : &amp;quot;aperez@miuniversidad.edu.ar&amp;quot;,&lt;br /&gt;
       &amp;quot;name&amp;quot; : &amp;quot;Ana Pérez&amp;quot;,&lt;br /&gt;
       &amp;quot;avatar&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;https://api.adorable.io/avatars/285/abott@adorable.png&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
      }          &lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Campo&lt;br /&gt;
!Descripción&lt;br /&gt;
!Valor recomendado&lt;br /&gt;
|-&lt;br /&gt;
|iss&lt;br /&gt;
|nombre de la aplicación&lt;br /&gt;
|el mismo que declara Jitsi en su configuración (APP_ID). Ej: mi_intranet&lt;br /&gt;
|-&lt;br /&gt;
|room&lt;br /&gt;
|nombre de la sala que puede crear el usuario o “*” si puede crear cualquier nombre&lt;br /&gt;
|nombre de sala si se quiere ser restrictivo o si la intranet generará el nombre de la sala. Si no, *&lt;br /&gt;
|-&lt;br /&gt;
|exp&lt;br /&gt;
|fecha de expiración del token expresado en segundos desde 1970-01-01T00:00:00Z UTC&lt;br /&gt;
|cualquier valor posterior al momento de creación del token&lt;br /&gt;
|-&lt;br /&gt;
|sub&lt;br /&gt;
|nombre de dominio interno&lt;br /&gt;
|meet.jitsi (siempre ya que depende del dns interno de Docker)&lt;br /&gt;
|-&lt;br /&gt;
|aud&lt;br /&gt;
|nombre de la aplicación que consume el servicio&lt;br /&gt;
|el mismo valor que iss&lt;br /&gt;
|-&lt;br /&gt;
|context&lt;br /&gt;
|objeto que utiliza jitsi para determinar valores del contexto&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[context.]user&lt;br /&gt;
|objeto que utiliza jitsi para determinar valores del usuario en el contexto&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[context.]user.].group&lt;br /&gt;
|nombre del grupo al que pertenece el usuario, sirve para estadísticas&lt;br /&gt;
|la dependencia donde ejerce el usuario (instituto, facultad, secretaría, etc). Puede dejarse vacío&lt;br /&gt;
|-&lt;br /&gt;
|[[context.]user.].id&lt;br /&gt;
|identificador único del usuario en el sistema de autenticación&lt;br /&gt;
|el e-mail institucional o el legajo de personal, etc&lt;br /&gt;
|-&lt;br /&gt;
|[[context.]user.].name&lt;br /&gt;
|nombre visible de la persona&lt;br /&gt;
|el nombre completo y el apellido tal cual figura en los demás sistemas&lt;br /&gt;
|-&lt;br /&gt;
|[[context.]user.].avatar&lt;br /&gt;
|url del avatar (imagen representativa del usuario)&lt;br /&gt;
|url pública a la foto de perfil (pequeña) o el logo de la institución&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Generación del token JWT ====&lt;br /&gt;
Como se describió anteriormente, el trabajo de la generación de los tokens JWT será a cargo de nuestra aplicación propia, en el ejemplo, será la Intranet de la Universidad. Básicamente los tokens JWT se distribuyen con una protección basada en criptografía. Aquí entra en juego el “secreto” establecido en la variable JWT_APP_SECRET de nuestro servicio Jitsi. Si bien no es un proceso complejo, lo mejor es nunca hacer nuestra propia criptografía y en su lugar utilizar librerías probadas. En nuestro caso, dependiendo del lenguaje de programación y las tecnologías utilizadas en el desarrollo de la aplicación Intranet, se deberá buscar una librería para generar tokens JWT que:&lt;br /&gt;
&lt;br /&gt;
* Permita modificar y agregar campos del payload.&lt;br /&gt;
* Permita seleccionar el algoritmo para firmar o encriptar (HS256 por defecto).&lt;br /&gt;
* Sea del lado del servidor, que corra en el backend.&lt;br /&gt;
* No exponga la clave secreta.&lt;br /&gt;
&lt;br /&gt;
El proceso para generar tokens, puede probarse fácilmente en https://jwt.io/&lt;br /&gt;
&lt;br /&gt;
- Verificar que el header esté como sigue:&lt;br /&gt;
 {&lt;br /&gt;
 &amp;quot;alg&amp;quot;: &amp;quot;HS256&amp;quot;,&lt;br /&gt;
 &amp;quot;typ&amp;quot;: &amp;quot;JWT&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
- Ingresar el payload como se describe en “Estructura del token JWT” - Ingresar la clave secreta de JWT_APP_SECRET en “Verify signature” Al finalizar, sobre el panel titulado “Encoded” estará el valor del token que se encuentra codificado en base64 por norma, el cual podrá utilizarse en nuestra instalación jitsi. Para ello se deberá ingresar a la conferencia establecida en el campo “room” del payload, agregando a la url el parámetro jwt, seguido del valor del token. El formato es el siguiente:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;https://HOST_JITSI/VALOR_CAMPO_ROOM?jwt=VALOR_TOKEN&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Si todo salió bien, se habrá ingresado a la conferencia como moderador y con datos como el nombre y el avatar (si se establecieron) cargados en la UI.&lt;/div&gt;</summary>
		<author><name>Mzigaran</name></author>
	</entry>
	<entry>
		<id>http://jitsiwiki.riu.edu.ar/index.php?title=En_los_hosts_que_corren_v%C3%ADdeo_bridges&amp;diff=27</id>
		<title>En los hosts que corren vídeo bridges</title>
		<link rel="alternate" type="text/html" href="http://jitsiwiki.riu.edu.ar/index.php?title=En_los_hosts_que_corren_v%C3%ADdeo_bridges&amp;diff=27"/>
		<updated>2023-07-03T16:01:10Z</updated>

		<summary type="html">&lt;p&gt;Mzigaran: Página creada con «- Cambiar los valores relacionados a buffers de recepción, especialmente para UDP. Ejecutar  sysctl -w net.core.netdev_max_backlog=100000  sysctl -w net.core.rmem_max=10485760 Estos parámetros se perderán en el reinicio. Los valores pueden establecerse como fijos según el sistema operativo. En Debian basta con modificar los valores en /etc/sysctl.conf.  - Cambiar los límites de archivos y threads máximos. Editando /etc/systemd/system.conf con lo siguiente:  # li…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;- Cambiar los valores relacionados a buffers de recepción, especialmente para UDP. Ejecutar&lt;br /&gt;
 sysctl -w net.core.netdev_max_backlog=100000&lt;br /&gt;
 sysctl -w net.core.rmem_max=10485760&lt;br /&gt;
Estos parámetros se perderán en el reinicio. Los valores pueden establecerse como fijos según el sistema operativo. En Debian basta con modificar los valores en /etc/sysctl.conf.&lt;br /&gt;
&lt;br /&gt;
- Cambiar los límites de archivos y threads máximos. Editando /etc/systemd/system.conf con lo siguiente:&lt;br /&gt;
 # limites para jitsi videobridge, segun: &amp;lt;nowiki&amp;gt;https://github.com/jitsi/jitsi-meet/blob/master/doc/quick-install.md#systemd-details&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 DefaultLimitNOFILE=65000&lt;br /&gt;
 DefaultLimitNPROC=65000&lt;br /&gt;
 DefaultTasksMax=65000&lt;br /&gt;
- Modificar la asignación máxima de RAM del videobridge. Se logra, estableciendo la variable de entorno del host VIDEOBRIDGE_MAX_MEMORY con el valor de megabytes (por ej &#039;export VIDEOBRIDGE_MAX_MEMORY=2048m&#039;). Esto se puede hacer de las siguientes formas:&lt;br /&gt;
&lt;br /&gt;
* Previo a llamar a &#039;docker-compose up&#039; (export VIDEOBRIDGE_MAX_MEMORY=2048m);&lt;br /&gt;
* Se puede declarar en el .env (sugerido);&lt;br /&gt;
* Se puede establecer en el docker-compose.yml bajo el environment del servicio jvb.&lt;br /&gt;
&lt;br /&gt;
Por defecto el videobridge arranca con 3072m.&lt;br /&gt;
&lt;br /&gt;
=== En el componente web ===&lt;br /&gt;
- Se baja la resolución máxima y se declara ideal una resolución intermedia entre 480 y 240.&lt;br /&gt;
&lt;br /&gt;
En config.js agregar:&lt;br /&gt;
 constraints: {&lt;br /&gt;
          video: {&lt;br /&gt;
              height: {&lt;br /&gt;
                  ideal: 360,&lt;br /&gt;
                  max: 480,&lt;br /&gt;
                  min: 240&lt;br /&gt;
              }&lt;br /&gt;
          }&lt;br /&gt;
     },&lt;br /&gt;
- Activar la función de layer suspensión en config.js (https://jitsi.org/blog/new-off-stage-layer-suppression-feature/)&lt;br /&gt;
 enableLayerSuspension: true,&lt;br /&gt;
- Activar la función channelLastN (https://github.com/jitsi/jitsi-videobridge/blob/master/doc/last-n.md)&lt;br /&gt;
 channelLastN: 2,&lt;br /&gt;
El valor 2 de este ejemplo puede establecerse en otro número. En ese caso permitirá que sólo se transmitan los streams del orador actual y el último anterior. Esto ahorra ancho de banda y cpu.&lt;br /&gt;
&lt;br /&gt;
- Sugerir a los usuarios que utilicen Google Chrome, Chromium y la App movil. Jitsi aprovecha muchas optimizaciones de WebRTC que están disponibles en estos agentes. Si bien Firefox está en la lista de navegadores soportados, al momento no cuenta con soporte para algunas tecnologías, como por ejemplo simulcast.&lt;br /&gt;
&lt;br /&gt;
- Desactivar la medición de niveles de audio en config.js&lt;br /&gt;
 disableAudioLevels: true,&lt;br /&gt;
Esto puede ayudar sobre todo del lado del cliente, a expensas de contar con menos controles automáticos para la calidad de audio.&lt;br /&gt;
&lt;br /&gt;
- Desactivar algunos componentes visuales, modificando en interface_config.js&lt;br /&gt;
 SET_FILMSTRIP_ENABLED: false,&lt;br /&gt;
 DISABLE_FOCUS_INDICATOR: true,&lt;br /&gt;
 DISABLE_DOMINANT_SPEAKER_INDICATOR: true,&lt;/div&gt;</summary>
		<author><name>Mzigaran</name></author>
	</entry>
	<entry>
		<id>http://jitsiwiki.riu.edu.ar/index.php?title=Despliegue_de_nodo_Jitsi_Videobridge_con_Docker&amp;diff=26</id>
		<title>Despliegue de nodo Jitsi Videobridge con Docker</title>
		<link rel="alternate" type="text/html" href="http://jitsiwiki.riu.edu.ar/index.php?title=Despliegue_de_nodo_Jitsi_Videobridge_con_Docker&amp;diff=26"/>
		<updated>2023-07-03T15:55:31Z</updated>

		<summary type="html">&lt;p&gt;Mzigaran: Página creada con «Este documento detalla los pasos para agregar un nuevo Videobridge, de manera de escalar horizontalmente nuestro despligue de Jitsi Meet. Recordemos el esquema propuesto: 720x720px Con estos pasos se podrán agregar tantos Videobridges como se desee, sólo siendo necesario cambiar el identificador con el que cada instancia se registra en el nodo-maes…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Este documento detalla los pasos para agregar un nuevo Videobridge, de manera de escalar horizontalmente nuestro despligue de Jitsi Meet. Recordemos el esquema [[Despliegue de nodo maestro Jitsi con soporte para escalamiento vía docker|propuesto]]:&lt;br /&gt;
[[Archivo:Esquema deploy.png|izquierda|720x720px]]&lt;br /&gt;
Con estos pasos se podrán agregar tantos Videobridges como se desee, sólo siendo necesario cambiar el identificador con el que cada instancia se registra en el nodo-maestro.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Requerimientos ===&lt;br /&gt;
&lt;br /&gt;
* Linux soportado por Docker. Recomendado Debian Stretch o Ubuntu (ver lista de soportados en: https://docs.docker.com).&lt;br /&gt;
* Docker instalado según (https://docs.docker.com/engine/install/debian/) - elegir la distro correcta -.&lt;br /&gt;
* Docker Compose instalado según (https://docs.docker.com/compose/install/) (no usar versiones provistas por el S.O)&lt;br /&gt;
* Comando git para hacer el pull del proyecto.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Atención&#039;&#039;&#039;: si se utiliza Debian Buster, tener en cuenta que usa nftables en lugar de iptables, por lo cual hay que configurar iptables-legacy con el comando “update-alternatives –set iptables /usr/sbin/iptables-legacy”. Más información en: https://wiki.debian.org/nftables&lt;br /&gt;
&lt;br /&gt;
En la red, el host elegido para hacer de bridge deberá tener una ip pública forwardeada con los siguientes puertos:&lt;br /&gt;
&lt;br /&gt;
* 10000 udp&lt;br /&gt;
&lt;br /&gt;
Además, el host deberá residir en la misma red que el nodo-maestro. Si bien se pueden hacer configuraciones más complejas, esta solución está limitada a eso.&lt;br /&gt;
&lt;br /&gt;
=== Procedimiento ===&lt;br /&gt;
- Iniciar sesión como root&lt;br /&gt;
&lt;br /&gt;
- Moverse aun directorio donde se descargar el paquete&lt;br /&gt;
&lt;br /&gt;
- Ejecutar&lt;br /&gt;
 git clone &amp;lt;nowiki&amp;gt;https://github.com/jitsi/docker-jitsi-meet&amp;lt;/nowiki&amp;gt; &amp;amp;&amp;amp; cd docker-jitsi-meet&lt;br /&gt;
- Copiar el archivo environment (.env) del nodo maestro (servidor principal jitsi) en el directorio creado anteriormente docker-jitsi-meet&lt;br /&gt;
&lt;br /&gt;
- Crear las carpetas del host en donde se guardarán las configuraciones de los diferentes componentes para ser montadas por los contenedores docker. Ejecutando:&lt;br /&gt;
 mkdir -p ~/.jitsi-meet-cfg/jvb&lt;br /&gt;
&#039;&#039;&#039;Continuar con estas instrucciones propias de nuestra solución&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
- Copiar al directorio docker-jitsi-meet el archivo [[docker-compose-bridge.rtf]] y renombrarlo a docker-compose.yml&lt;br /&gt;
&lt;br /&gt;
- Arrancar la solución por primera vez para que genere los archivos de configuración a partir del entorno definido en “.env” ([[Variable de entorno para despliegue de Jitsi con Docker|ver variables]]).&lt;br /&gt;
&lt;br /&gt;
- Ejecutar&lt;br /&gt;
 docker-compose up&lt;br /&gt;
y luego de que arranque todo (se verán algunos errores y excepciones) presionar ctrl+c para cortar la ejecución.&lt;br /&gt;
&lt;br /&gt;
- Editar el archivo ~/.jitsi-meet-cfg/jvb/sip-communicator.properties y modificar:&lt;br /&gt;
 org.jitsi.videobridge.xmpp.user.shard.HOSTNAME= aquí poner la ip LAN del nodo maestro.&lt;br /&gt;
 org.jitsi.videobridge.xmpp.user.shard.MUC_NICKNAME= aquí poner un nombre único entre todos los videobridges, por ej: &amp;quot;videobridge2&amp;quot;.&lt;br /&gt;
- Replicar las líneas del archivo ~/.jitsi-meet-cfg/jvb/sip-communicator.properties del nodo-maestro&lt;br /&gt;
 org.jitsi.videobridge.SINGLE_PORT_HARVESTER_PORT=10000&lt;br /&gt;
 org.jitsi.videobridge.DISABLE_TCP_HARVESTER=true&lt;br /&gt;
 org.jitsi.videobridge.TCP_HARVESTER_PORT=4443&lt;br /&gt;
 org.ice4j.ice.harvest.STUN_MAPPING_HARVESTER_ADDRESSES=meet-jit-si-turnrelay.jitsi.net:443&lt;br /&gt;
- Poner el password correcto en la línea:&lt;br /&gt;
 org.jitsi.videobridge.xmpp.user.shard.PASSWORD= aquí copiar el valor del mismo archivo alojado en el nodo-maestro&lt;br /&gt;
- Iniciar el servicio en background con:&lt;br /&gt;
 docker-compose up -d &lt;br /&gt;
si todo salió bien se verán líneas en el log como la siguiente:&lt;br /&gt;
 jvb_1  | Apr 16, 2020 9:12:07 PM org.jitsi.utils.logging2.LoggerImpl log&lt;br /&gt;
 jvb_1  | INFO: Performed a successful health check in 25ms. Sticky failure: false&lt;br /&gt;
- Por último, ingresar a la url del servicio y comenzar a realizar conferencias. A medida que se van sumando conferencias, se podrá notar el tráfico en puerto 10000 de todos los videobridges disponibles.&lt;/div&gt;</summary>
		<author><name>Mzigaran</name></author>
	</entry>
	<entry>
		<id>http://jitsiwiki.riu.edu.ar/index.php?title=Despliegue_de_nodo_maestro_Jitsi_con_soporte_para_escalamiento_v%C3%ADa_docker&amp;diff=25</id>
		<title>Despliegue de nodo maestro Jitsi con soporte para escalamiento vía docker</title>
		<link rel="alternate" type="text/html" href="http://jitsiwiki.riu.edu.ar/index.php?title=Despliegue_de_nodo_maestro_Jitsi_con_soporte_para_escalamiento_v%C3%ADa_docker&amp;diff=25"/>
		<updated>2023-07-03T15:42:05Z</updated>

		<summary type="html">&lt;p&gt;Mzigaran: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;El objetivo de este manual es documentar los pasos para el despliegue de Jitsi de acuerdo a un esquema de escalamiento horizontal de su componente principal: el Video Bridge. Si bien la solución Docker ofrecida en https://github.com/jitsi/docker-jitsi-meet funciona bien, pueden surgir varios inconvenientes a la hora de implementarla, por lo cual se trata de brindar una receta que funcione desde cero hasta puesta en funcionamiento en poco tiempo.&lt;br /&gt;
&lt;br /&gt;
El esquema de deploy básico que apuntamos es el siguiente:&lt;br /&gt;
[[Archivo:Esquema deploy.png|izquierda|773x773px]]&lt;br /&gt;
&lt;br /&gt;
Nuestro deploy varía del propuesto oficialmente en dos aspectos:&lt;br /&gt;
* Se pueden agregar más Videobridges en otros hosts (el docker-compose provisto no lo permite por defecto).&lt;br /&gt;
* Gestionamos el acceso a la web a través de un load balancer, router y terminador SSL llamado Traefik (https://containo.us/traefik/). Le quitamos la responsabilidad al contenedor web de administrar sus certificados SSL.&lt;br /&gt;
&lt;br /&gt;
== Despliegue del Nodo Maestro ==&lt;br /&gt;
Como se muestra en el esquema de despliegue, este nodo puede puede ofrecer el servicio por si solo, sin escalamiento de videobridges.&lt;br /&gt;
&lt;br /&gt;
=== Requerimientos ===&lt;br /&gt;
Aparte de los requerimientos de hardware oficiales del proyecto, para un deploy en un solo servidor, se requiere instalar en el host:&lt;br /&gt;
&lt;br /&gt;
* Linux soportado por Docker. Recomendado Debian Stretch o Ubuntu (ver lista de soportados en: https://docs.docker.com)&lt;br /&gt;
* Docker instalado según (https://docs.docker.com/engine/install/debian/) - elegir la distro correcta -.&lt;br /&gt;
* Docker Compose instalado según (https://docs.docker.com/compose/install/) (no usar versiones provistas por el S.O)&lt;br /&gt;
* Comando git para hacer el pull del proyecto.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Atención:&#039;&#039;&#039; si se utiliza Debian Buster, tener en cuenta que usa nftables en lugar de iptables, por lo cual hay que configurar iptables-legacy con el comando “update-alternatives –set iptables /usr/sbin/iptables-legacy”. Más información en: https://wiki.debian.org/nftables&lt;br /&gt;
&lt;br /&gt;
En la red, el host elegido deberá tener una ip pública con forwards a los siguientes puertos:&lt;br /&gt;
&lt;br /&gt;
* 443 tcp&lt;br /&gt;
* 80 tcp&lt;br /&gt;
* 10000 udp&lt;br /&gt;
&lt;br /&gt;
=== Procedimiento ===&lt;br /&gt;
Iniciar sesión como root&lt;br /&gt;
&lt;br /&gt;
Tomando las instrucciones de: https://github.com/jitsi/docker-jitsi-meet#quick-start&lt;br /&gt;
&lt;br /&gt;
- Moverse a un directorio donde se descargará el paquete por ej: /root/ y ejecutar:&lt;br /&gt;
 git clone &amp;lt;nowiki&amp;gt;https://github.com/jitsi/docker-jitsi-meet&amp;lt;/nowiki&amp;gt; &amp;amp;&amp;amp; cd docker-jitsi-meet&lt;br /&gt;
- Copiar el template de environment y modificarlo según las características del entorno propio (ver más adelante)&lt;br /&gt;
 cp env.example .env&lt;br /&gt;
- Crear passwords para el archivo .env con el script provisto&lt;br /&gt;
 ./gen-passwords.sh&lt;br /&gt;
- Crear las carpetas del host en donde se guardarán las configuraciones de los diferentes componentes para ser montadas por los contenedores docker (por defecto en /root)&lt;br /&gt;
 mkdir -p ~/.jitsi-meet-cfg/{web/letsencrypt,transcripts,prosody,jicofo,jvb,jigasi,jibri}&lt;br /&gt;
&#039;&#039;&#039;Continuar con estas instrucciones propias de nuestra solución&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
- Crear el archivo de almacenamiento de claves de Let&#039;s Encrypt y protegerlo. (Traefik no arranca si no tiene permisos 600).&lt;br /&gt;
 touch /root/jitsi-acme.json&lt;br /&gt;
 chmod 600 /root/jitsi-acme.json&lt;br /&gt;
- Copiar al directorio docker-jitsi-meet el archivo [[docker-compose.rtf]], renombrarlo a “docker-compose.yml” y modificar lo siguiente:&lt;br /&gt;
 &amp;quot;--certificatesResolvers.jitsi-acme-resolver.acme.caServer=&amp;lt;nowiki&amp;gt;https://acme-staging-v02.api.letsencrypt.org/directory&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
- Reemplazar la url con el CA Server de producción de Let´s encrypt según https://letsencrypt.org/docs/acme-protocol-updates/ . Al momento de redacción es: https://acme-v02.api.letsencrypt.org/directory . Por defecto se provee la dirección del entorno staging.&lt;br /&gt;
 &amp;quot;--certificatesResolvers.jitsi-acme-resolver.acme.email=MAIL_WEBMASTER&amp;quot;&lt;br /&gt;
- Reemplazar MAIL_WEBMASTER por una dirección donde recibir notificaciones de let´s encrypt. Se recomienda una dirección real y de acceso periódico.&lt;br /&gt;
 &amp;quot;traefik.http.routers.jitsi-router.rule=Host(`HOSTNAME`)&amp;quot;&lt;br /&gt;
- Reemplazar HOSTNAME con el hostname de la &amp;lt;abbr&amp;gt;URL&amp;lt;/abbr&amp;gt; destinada al servicio jitsi.&lt;br /&gt;
&lt;br /&gt;
- Arrancar la solución por primera vez para que genere los archivos de configuración a partir del entorno definido en “.env” ([[Variable de entorno para despliegue de Jitsi con Docker|ver variables]]).&lt;br /&gt;
&lt;br /&gt;
- Ejecutar&lt;br /&gt;
 docker-compose up&lt;br /&gt;
y luego de que arranque todo correctamente (ingresar a la url al cabo de un par de minutos) presionar ctrl+c para cortar la ejecución.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;Moverse a ~/.jitsi-meet-cfg/web y reemplazar el archivo config.js por el provisto, que contiene algunas optimizaciones.&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A partir de este momento se pueden modificar los archivos de configuración de todos los componentes ya que se habrán generado todos los archivos en sus respectivos directorios. Es de especial atención la configuración del componente web, en el cual pueden aplicarse varias optiimizaciones. Los archivos en cuestión son ~/.jitsi-meet-cfg/web/config.js y ~/.jitsi-meet-cfg/web/interface.config.js . Una modificación sugerida es configurar el idioma por defecto para que sea Español. Para ello editar en ~/.jitsi-meet-cfg/web/config.js lo siguiente:&lt;br /&gt;
 defaultLanguage: &#039;es&#039;&lt;br /&gt;
- Iniciar el servicio en background ejecutando&lt;br /&gt;
 docker-compose up -d&lt;br /&gt;
- Por último, ingresar a la url&lt;br /&gt;
&lt;br /&gt;
https://HOSTNAME&lt;br /&gt;
&lt;br /&gt;
Si todo salió bien, el sistema estará operativo y podrán iniciarse conferencias.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Importante:&#039;&#039;&#039; cada vez que se modifique el archivo .env, es necesario regenerar la configuración a mano de todos los componentes. Por lo tanto, se recomienda llevar una bitácora de los cambios realizados en los contenidos de ~/.jitsi-meet-cfg/{web/letsencrypt,transcripts,prosody,jicofo,jvb,jigasi,jibri} para luego poder replicar los cambios realizados tras sucesivos cambios del .env.&lt;/div&gt;</summary>
		<author><name>Mzigaran</name></author>
	</entry>
	<entry>
		<id>http://jitsiwiki.riu.edu.ar/index.php?title=Despliegue_de_nodo_maestro_Jitsi_con_soporte_para_escalamiento_v%C3%ADa_docker&amp;diff=24</id>
		<title>Despliegue de nodo maestro Jitsi con soporte para escalamiento vía docker</title>
		<link rel="alternate" type="text/html" href="http://jitsiwiki.riu.edu.ar/index.php?title=Despliegue_de_nodo_maestro_Jitsi_con_soporte_para_escalamiento_v%C3%ADa_docker&amp;diff=24"/>
		<updated>2023-07-03T15:41:25Z</updated>

		<summary type="html">&lt;p&gt;Mzigaran: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;El objetivo de este manual es documentar los pasos para el despliegue de Jitsi de acuerdo a un esquema de escalamiento horizontal de su componente principal: el Video Bridge. Si bien la solución Docker ofrecida en https://github.com/jitsi/docker-jitsi-meet funciona bien, pueden surgir varios inconvenientes a la hora de implementarla, por lo cual se trata de brindar una receta que funcione desde cero hasta puesta en funcionamiento en poco tiempo.&lt;br /&gt;
&lt;br /&gt;
El esquema de deploy básico que apuntamos es el siguiente:&lt;br /&gt;
[[Archivo:Esquema deploy.png|izquierda|773x773px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nuestro deploy varía del propuesto oficialmente en dos aspectos:&lt;br /&gt;
&lt;br /&gt;
* Se pueden agregar más Videobridges en otros hosts (el docker-compose provisto no lo permite por defecto).&lt;br /&gt;
* Gestionamos el acceso a la web a través de un load balancer, router y terminador SSL llamado Traefik (https://containo.us/traefik/). Le quitamos la responsabilidad al contenedor web de administrar sus certificados SSL.&lt;br /&gt;
&lt;br /&gt;
== Despliegue del Nodo Maestro ==&lt;br /&gt;
Como se muestra en el esquema de despliegue, este nodo puede puede ofrecer el servicio por si solo, sin escalamiento de videobridges.&lt;br /&gt;
&lt;br /&gt;
=== Requerimientos ===&lt;br /&gt;
Aparte de los requerimientos de hardware oficiales del proyecto, para un deploy en un solo servidor, se requiere instalar en el host:&lt;br /&gt;
&lt;br /&gt;
* Linux soportado por Docker. Recomendado Debian Stretch o Ubuntu (ver lista de soportados en: https://docs.docker.com)&lt;br /&gt;
* Docker instalado según (https://docs.docker.com/engine/install/debian/) - elegir la distro correcta -.&lt;br /&gt;
* Docker Compose instalado según (https://docs.docker.com/compose/install/) (no usar versiones provistas por el S.O)&lt;br /&gt;
* Comando git para hacer el pull del proyecto.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Atención:&#039;&#039;&#039; si se utiliza Debian Buster, tener en cuenta que usa nftables en lugar de iptables, por lo cual hay que configurar iptables-legacy con el comando “update-alternatives –set iptables /usr/sbin/iptables-legacy”. Más información en: https://wiki.debian.org/nftables&lt;br /&gt;
&lt;br /&gt;
En la red, el host elegido deberá tener una ip pública con forwards a los siguientes puertos:&lt;br /&gt;
&lt;br /&gt;
* 443 tcp&lt;br /&gt;
* 80 tcp&lt;br /&gt;
* 10000 udp&lt;br /&gt;
&lt;br /&gt;
=== Procedimiento ===&lt;br /&gt;
Iniciar sesión como root&lt;br /&gt;
&lt;br /&gt;
Tomando las instrucciones de: https://github.com/jitsi/docker-jitsi-meet#quick-start&lt;br /&gt;
&lt;br /&gt;
- Moverse a un directorio donde se descargará el paquete por ej: /root/ y ejecutar:&lt;br /&gt;
 git clone &amp;lt;nowiki&amp;gt;https://github.com/jitsi/docker-jitsi-meet&amp;lt;/nowiki&amp;gt; &amp;amp;&amp;amp; cd docker-jitsi-meet&lt;br /&gt;
- Copiar el template de environment y modificarlo según las características del entorno propio (ver más adelante)&lt;br /&gt;
 cp env.example .env&lt;br /&gt;
- Crear passwords para el archivo .env con el script provisto&lt;br /&gt;
 ./gen-passwords.sh&lt;br /&gt;
- Crear las carpetas del host en donde se guardarán las configuraciones de los diferentes componentes para ser montadas por los contenedores docker (por defecto en /root)&lt;br /&gt;
 mkdir -p ~/.jitsi-meet-cfg/{web/letsencrypt,transcripts,prosody,jicofo,jvb,jigasi,jibri}&lt;br /&gt;
&#039;&#039;&#039;Continuar con estas instrucciones propias de nuestra solución&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
- Crear el archivo de almacenamiento de claves de Let&#039;s Encrypt y protegerlo. (Traefik no arranca si no tiene permisos 600).&lt;br /&gt;
 touch /root/jitsi-acme.json&lt;br /&gt;
 chmod 600 /root/jitsi-acme.json&lt;br /&gt;
- Copiar al directorio docker-jitsi-meet el archivo [[docker-compose.rtf]], renombrarlo a “docker-compose.yml” y modificar lo siguiente:&lt;br /&gt;
 &amp;quot;--certificatesResolvers.jitsi-acme-resolver.acme.caServer=&amp;lt;nowiki&amp;gt;https://acme-staging-v02.api.letsencrypt.org/directory&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
- Reemplazar la url con el CA Server de producción de Let´s encrypt según https://letsencrypt.org/docs/acme-protocol-updates/ . Al momento de redacción es: https://acme-v02.api.letsencrypt.org/directory . Por defecto se provee la dirección del entorno staging.&lt;br /&gt;
 &amp;quot;--certificatesResolvers.jitsi-acme-resolver.acme.email=MAIL_WEBMASTER&amp;quot;&lt;br /&gt;
- Reemplazar MAIL_WEBMASTER por una dirección donde recibir notificaciones de let´s encrypt. Se recomienda una dirección real y de acceso periódico.&lt;br /&gt;
 &amp;quot;traefik.http.routers.jitsi-router.rule=Host(`HOSTNAME`)&amp;quot;&lt;br /&gt;
- Reemplazar HOSTNAME con el hostname de la &amp;lt;abbr&amp;gt;URL&amp;lt;/abbr&amp;gt; destinada al servicio jitsi.&lt;br /&gt;
&lt;br /&gt;
- Arrancar la solución por primera vez para que genere los archivos de configuración a partir del entorno definido en “.env” ([[Variable de entorno para despliegue de Jitsi con Docker|ver variables]]).&lt;br /&gt;
&lt;br /&gt;
- Ejecutar&lt;br /&gt;
 docker-compose up&lt;br /&gt;
y luego de que arranque todo correctamente (ingresar a la url al cabo de un par de minutos) presionar ctrl+c para cortar la ejecución.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;Moverse a ~/.jitsi-meet-cfg/web y reemplazar el archivo config.js por el provisto, que contiene algunas optimizaciones.&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A partir de este momento se pueden modificar los archivos de configuración de todos los componentes ya que se habrán generado todos los archivos en sus respectivos directorios. Es de especial atención la configuración del componente web, en el cual pueden aplicarse varias optiimizaciones. Los archivos en cuestión son ~/.jitsi-meet-cfg/web/config.js y ~/.jitsi-meet-cfg/web/interface.config.js . Una modificación sugerida es configurar el idioma por defecto para que sea Español. Para ello editar en ~/.jitsi-meet-cfg/web/config.js lo siguiente:&lt;br /&gt;
 defaultLanguage: &#039;es&#039;&lt;br /&gt;
- Iniciar el servicio en background ejecutando&lt;br /&gt;
 docker-compose up -d&lt;br /&gt;
- Por último, ingresar a la url&lt;br /&gt;
&lt;br /&gt;
https://HOSTNAME&lt;br /&gt;
&lt;br /&gt;
Si todo salió bien, el sistema estará operativo y podrán iniciarse conferencias.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Importante:&#039;&#039;&#039; cada vez que se modifique el archivo .env, es necesario regenerar la configuración a mano de todos los componentes. Por lo tanto, se recomienda llevar una bitácora de los cambios realizados en los contenidos de ~/.jitsi-meet-cfg/{web/letsencrypt,transcripts,prosody,jicofo,jvb,jigasi,jibri} para luego poder replicar los cambios realizados tras sucesivos cambios del .env.&lt;/div&gt;</summary>
		<author><name>Mzigaran</name></author>
	</entry>
	<entry>
		<id>http://jitsiwiki.riu.edu.ar/index.php?title=Despliegue_de_nodo_maestro_Jitsi_con_soporte_para_escalamiento_v%C3%ADa_docker&amp;diff=23</id>
		<title>Despliegue de nodo maestro Jitsi con soporte para escalamiento vía docker</title>
		<link rel="alternate" type="text/html" href="http://jitsiwiki.riu.edu.ar/index.php?title=Despliegue_de_nodo_maestro_Jitsi_con_soporte_para_escalamiento_v%C3%ADa_docker&amp;diff=23"/>
		<updated>2023-07-03T15:41:02Z</updated>

		<summary type="html">&lt;p&gt;Mzigaran: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;El objetivo de este manual es documentar los pasos para el despliegue de Jitsi de acuerdo a un esquema de escalamiento horizontal de su componente principal: el Video Bridge. Si bien la solución Docker ofrecida en https://github.com/jitsi/docker-jitsi-meet funciona bien, pueden surgir varios inconvenientes a la hora de implementarla, por lo cual se trata de brindar una receta que funcione desde cero hasta puesta en funcionamiento en poco tiempo.&lt;br /&gt;
&lt;br /&gt;
El esquema de deploy básico que apuntamos es el siguiente:&lt;br /&gt;
[[Archivo:Esquema deploy.png|izquierda|773x773px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nuestro deploy varía del propuesto oficialmente en dos aspectos:&lt;br /&gt;
&lt;br /&gt;
* Se pueden agregar más Videobridges en otros hosts (el docker-compose provisto no lo permite por defecto).&lt;br /&gt;
* Gestionamos el acceso a la web a través de un load balancer, router y terminador SSL llamado Traefik (https://containo.us/traefik/). Le quitamos la responsabilidad al contenedor web de administrar sus certificados SSL.&lt;br /&gt;
&lt;br /&gt;
== Despliegue del Nodo Maestro ==&lt;br /&gt;
Como se muestra en el esquema de despliegue, este nodo puede puede ofrecer el servicio por si solo, sin escalamiento de videobridges.&lt;br /&gt;
&lt;br /&gt;
=== Requerimientos ===&lt;br /&gt;
Aparte de los requerimientos de hardware oficiales del proyecto, para un deploy en un solo servidor, se requiere instalar en el host:&lt;br /&gt;
&lt;br /&gt;
* Linux soportado por Docker. Recomendado Debian Stretch o Ubuntu (ver lista de soportados en: https://docs.docker.com)&lt;br /&gt;
* Docker instalado según (https://docs.docker.com/engine/install/debian/) - elegir la distro correcta -.&lt;br /&gt;
* Docker Compose instalado según (https://docs.docker.com/compose/install/) (no usar versiones provistas por el S.O)&lt;br /&gt;
* Comando git para hacer el pull del proyecto.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Atención:&#039;&#039;&#039; si se utiliza Debian Buster, tener en cuenta que usa nftables en lugar de iptables, por lo cual hay que configurar iptables-legacy con el comando “update-alternatives –set iptables /usr/sbin/iptables-legacy”. Más información en: https://wiki.debian.org/nftables&lt;br /&gt;
&lt;br /&gt;
En la red, el host elegido deberá tener una ip pública con forwards a los siguientes puertos:&lt;br /&gt;
&lt;br /&gt;
* 443 tcp&lt;br /&gt;
* 80 tcp&lt;br /&gt;
* 10000 udp&lt;br /&gt;
&lt;br /&gt;
=== Procedimiento ===&lt;br /&gt;
Iniciar sesión como root&lt;br /&gt;
&lt;br /&gt;
Tomando las instrucciones de: https://github.com/jitsi/docker-jitsi-meet#quick-start&lt;br /&gt;
&lt;br /&gt;
- Moverse a un directorio donde se descargará el paquete por ej: /root/ y ejecutar:&lt;br /&gt;
 git clone &amp;lt;nowiki&amp;gt;https://github.com/jitsi/docker-jitsi-meet&amp;lt;/nowiki&amp;gt; &amp;amp;&amp;amp; cd docker-jitsi-meet&lt;br /&gt;
- Copiar el template de environment y modificarlo según las características del entorno propio (ver más adelante)&lt;br /&gt;
 cp env.example .env&lt;br /&gt;
- Crear passwords para el archivo .env con el script provisto&lt;br /&gt;
 ./gen-passwords.sh&lt;br /&gt;
- Crear las carpetas del host en donde se guardarán las configuraciones de los diferentes componentes para ser montadas por los contenedores docker (por defecto en /root)&lt;br /&gt;
 mkdir -p ~/.jitsi-meet-cfg/{web/letsencrypt,transcripts,prosody,jicofo,jvb,jigasi,jibri}&lt;br /&gt;
&#039;&#039;&#039;Continuar con estas instrucciones propias de nuestra solución&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
- Crear el archivo de almacenamiento de claves de Let&#039;s Encrypt y protegerlo. (Traefik no arranca si no tiene permisos 600).&lt;br /&gt;
 touch /root/jitsi-acme.json&lt;br /&gt;
 chmod 600 /root/jitsi-acme.json&lt;br /&gt;
- Copiar al directorio docker-jitsi-meet el archivo [[docker-compose.rtf]], renombrarlo a “docker-compose.yml” y modificar lo siguiente:&lt;br /&gt;
 &amp;quot;--certificatesResolvers.jitsi-acme-resolver.acme.caServer=&amp;lt;nowiki&amp;gt;https://acme-staging-v02.api.letsencrypt.org/directory&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
- Reemplazar la url con el CA Server de producción de Let´s encrypt según https://letsencrypt.org/docs/acme-protocol-updates/ . Al momento de redacción es: https://acme-v02.api.letsencrypt.org/directory . Por defecto se provee la dirección del entorno staging.&lt;br /&gt;
 &amp;quot;--certificatesResolvers.jitsi-acme-resolver.acme.email=MAIL_WEBMASTER&amp;quot;&lt;br /&gt;
- Reemplazar MAIL_WEBMASTER por una dirección donde recibir notificaciones de let´s encrypt. Se recomienda una dirección real y de acceso periódico.&lt;br /&gt;
 &amp;quot;traefik.http.routers.jitsi-router.rule=Host(`HOSTNAME`)&amp;quot;&lt;br /&gt;
- Reemplazar HOSTNAME con el hostname de la &amp;lt;abbr&amp;gt;URL&amp;lt;/abbr&amp;gt; destinada al servicio jitsi.&lt;br /&gt;
&lt;br /&gt;
- Arrancar la solución por primera vez para que genere los archivos de configuración a partir del entorno definido en “.env” ([[Variable de entorno para despliegue de Jitsi con Docker|ver variables]]).&lt;br /&gt;
&lt;br /&gt;
- Ejecutar&lt;br /&gt;
 docker-compose up&lt;br /&gt;
y luego de que arranque todo correctamente (ingresar a la url al cabo de un par de minutos) presionar ctrl+c para cortar la ejecución.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;Moverse a ~/.jitsi-meet-cfg/web y reemplazar el archivo config.js por el provisto, que contiene algunas optimizaciones.&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A partir de este momento se pueden modificar los archivos de configuración de todos los componentes ya que se habrán generado todos los archivos en sus respectivos directorios. Es de especial atención la configuración del componente web, en el cual pueden aplicarse varias optiimizaciones. Los archivos en cuestión son ~/.jitsi-meet-cfg/web/config.js y ~/.jitsi-meet-cfg/web/interface.config.js . Una modificación sugerida es configurar el idioma por defecto para que sea Español. Para ello editar en ~/.jitsi-meet-cfg/web/config.js lo siguiente:&lt;br /&gt;
 defaultLanguage: &#039;es&#039;&lt;br /&gt;
- Iniciar el servicio en background ejecutando&lt;br /&gt;
 docker-compose up -d&lt;br /&gt;
- Por último, ingresar a la url&lt;br /&gt;
&lt;br /&gt;
https://HOSTNAME&lt;br /&gt;
&lt;br /&gt;
Si todo salió bien, el sistema estará operativo y podrán iniciarse conferencias.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Importante:&#039;&#039;&#039; cada vez que se modifique el archivo .env, es necesario regenerar la configuración a mano de todos los componentes. Por lo tanto, se recomienda llevar una bitácora de los cambios realizados en los contenidos de ~/.jitsi-meet-cfg/{web/letsencrypt,transcripts,prosody,jicofo,jvb,jigasi,jibri} para luego poder replicar los cambios realizados tras sucesivos cambios del .env.&lt;/div&gt;</summary>
		<author><name>Mzigaran</name></author>
	</entry>
	<entry>
		<id>http://jitsiwiki.riu.edu.ar/index.php?title=Despliegue_de_nodo_maestro_Jitsi_con_soporte_para_escalamiento_v%C3%ADa_docker&amp;diff=22</id>
		<title>Despliegue de nodo maestro Jitsi con soporte para escalamiento vía docker</title>
		<link rel="alternate" type="text/html" href="http://jitsiwiki.riu.edu.ar/index.php?title=Despliegue_de_nodo_maestro_Jitsi_con_soporte_para_escalamiento_v%C3%ADa_docker&amp;diff=22"/>
		<updated>2023-07-03T15:38:10Z</updated>

		<summary type="html">&lt;p&gt;Mzigaran: Página creada con «El objetivo de este manual es documentar los pasos para el despliegue de Jitsi de acuerdo a un esquema de escalamiento horizontal de su componente principal: el Video Bridge. Si bien la solución Docker ofrecida en https://github.com/jitsi/docker-jitsi-meet funciona bien, pueden surgir varios inconvenientes a la hora de implementarla, por lo cual se trata de brindar una receta que funcione desde cero hasta puesta en funcionamiento en poco tiempo.  El esquema de deploy…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;El objetivo de este manual es documentar los pasos para el despliegue de Jitsi de acuerdo a un esquema de escalamiento horizontal de su componente principal: el Video Bridge. Si bien la solución Docker ofrecida en https://github.com/jitsi/docker-jitsi-meet funciona bien, pueden surgir varios inconvenientes a la hora de implementarla, por lo cual se trata de brindar una receta que funcione desde cero hasta puesta en funcionamiento en poco tiempo.&lt;br /&gt;
&lt;br /&gt;
El esquema de deploy básico que apuntamos es el siguiente:&lt;br /&gt;
[[Archivo:Esquema deploy.png|izquierda|773x773px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nuestro deploy varía del propuesto oficialmente en dos aspectos:&lt;br /&gt;
&lt;br /&gt;
* Se pueden agregar más Videobridges en otros hosts (el docker-compose provisto no lo permite por defecto).&lt;br /&gt;
* Gestionamos el acceso a la web a través de un load balancer, router y terminador SSL llamado Traefik (https://containo.us/traefik/). Le quitamos la responsabilidad al contenedor web de administrar sus certificados SSL.&lt;br /&gt;
&lt;br /&gt;
== Despliegue del Nodo Maestro ==&lt;br /&gt;
Como se muestra en el esquema de despliegue, este nodo puede puede ofrecer el servicio por si solo, sin escalamiento de videobridges.&lt;br /&gt;
&lt;br /&gt;
=== Requerimientos ===&lt;br /&gt;
Aparte de los requerimientos de hardware oficiales del proyecto, para un deploy en un solo servidor, se requiere instalar en el host:&lt;br /&gt;
&lt;br /&gt;
* Linux soportado por Docker. Recomendado Debian Stretch o Ubuntu (ver lista de soportados en: https://docs.docker.com)&lt;br /&gt;
* Docker instalado según (https://docs.docker.com/engine/install/debian/) - elegir la distro correcta -.&lt;br /&gt;
* Docker Compose instalado según (https://docs.docker.com/compose/install/) (no usar versiones provistas por el S.O)&lt;br /&gt;
* Comando git para hacer el pull del proyecto.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Atención:&#039;&#039;&#039; si se utiliza Debian Buster, tener en cuenta que usa nftables en lugar de iptables, por lo cual hay que configurar iptables-legacy con el comando “update-alternatives –set iptables /usr/sbin/iptables-legacy”. Más información en: https://wiki.debian.org/nftables&lt;br /&gt;
&lt;br /&gt;
En la red, el host elegido deberá tener una ip pública con forwards a los siguientes puertos:&lt;br /&gt;
&lt;br /&gt;
* 443 tcp&lt;br /&gt;
* 80 tcp&lt;br /&gt;
* 10000 udp&lt;br /&gt;
&lt;br /&gt;
=== Procedimiento ===&lt;br /&gt;
Iniciar sesión como root&lt;br /&gt;
&lt;br /&gt;
Tomando las instrucciones de: https://github.com/jitsi/docker-jitsi-meet#quick-start&lt;br /&gt;
&lt;br /&gt;
- Moverse a un directorio donde se descargará el paquete por ej: /root/ y ejecutar:&lt;br /&gt;
 git clone &amp;lt;nowiki&amp;gt;https://github.com/jitsi/docker-jitsi-meet&amp;lt;/nowiki&amp;gt; &amp;amp;&amp;amp; cd docker-jitsi-meet&lt;br /&gt;
- Copiar el template de environment y modificarlo según las características del entorno propio (ver más adelante)&lt;br /&gt;
 cp env.example .env&lt;br /&gt;
- Crear passwords para el archivo .env con el script provisto&lt;br /&gt;
 ./gen-passwords.sh&lt;br /&gt;
- Crear las carpetas del host en donde se guardarán las configuraciones de los diferentes componentes para ser montadas por los contenedores docker (por defecto en /root)&lt;br /&gt;
 mkdir -p ~/.jitsi-meet-cfg/{web/letsencrypt,transcripts,prosody,jicofo,jvb,jigasi,jibri}&lt;br /&gt;
&#039;&#039;&#039;Continuar con estas instrucciones propias de nuestra solución&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
- Crear el archivo de almacenamiento de claves de Let&#039;s Encrypt y protegerlo. (Traefik no arranca si no tiene permisos 600).&lt;br /&gt;
 touch /root/jitsi-acme.json&lt;br /&gt;
 chmod 600 /root/jitsi-acme.json&lt;br /&gt;
- Copiar al directorio docker-jitsi-meet el archivo [[docker-compose.rtf]], renombrarlo a “docker-compose.yml” y modificar lo siguiente:&lt;br /&gt;
 &amp;quot;--certificatesResolvers.jitsi-acme-resolver.acme.caServer=&amp;lt;nowiki&amp;gt;https://acme-staging-v02.api.letsencrypt.org/directory&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
- Reemplazar la url con el CA Server de producción de Let´s encrypt según https://letsencrypt.org/docs/acme-protocol-updates/ . Al momento de redacción es: https://acme-v02.api.letsencrypt.org/directory . Por defecto se provee la dirección del entorno staging.&lt;br /&gt;
 &amp;quot;--certificatesResolvers.jitsi-acme-resolver.acme.email=MAIL_WEBMASTER&amp;quot;&lt;br /&gt;
- Reemplazar MAIL_WEBMASTER por una dirección donde recibir notificaciones de let´s encrypt. Se recomienda una dirección real y de acceso periódico.&lt;br /&gt;
 &amp;quot;traefik.http.routers.jitsi-router.rule=Host(`HOSTNAME`)&amp;quot;&lt;br /&gt;
- Reemplazar HOSTNAME con el hostname de la &amp;lt;abbr&amp;gt;URL&amp;lt;/abbr&amp;gt; destinada al servicio jitsi.&lt;br /&gt;
&lt;br /&gt;
- Arrancar la solución por primera vez para que genere los archivos de configuración a partir del entorno definido en “.env” ([[Variable de entorno para despliegue de Jitsi con Docker|ver variables]]).&lt;br /&gt;
&lt;br /&gt;
- Ejecutar&lt;br /&gt;
 docker-compose up&lt;br /&gt;
y luego de que arranque todo correctamente (ingresar a la url al cabo de un par de minutos) presionar ctrl+c para cortar la ejecución.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;Moverse a ~/.jitsi-meet-cfg/web y reemplazar el archivo config.js por el provisto, que contiene algunas optimizaciones.&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A partir de este momento se pueden modificar los archivos de configuración de todos los componentes ya que se habrán generado todos los archivos en sus respectivos directorios. Es de especial atención la configuración del componente web, en el cual pueden aplicarse varias optiimizaciones. Los archivos en cuestión son ~/.jitsi-meet-cfg/web/config.js y ~/.jitsi-meet-cfg/web/interface.config.js . Una modificación sugerida es configurar el idioma por defecto para que sea Español. Para ello editar en ~/.jitsi-meet-cfg/web/config.js lo siguiente:&lt;br /&gt;
 defaultLanguage: &#039;es&#039;&lt;br /&gt;
- Iniciar el servicio en background ejecutando&lt;br /&gt;
 docker-compose up -d&lt;br /&gt;
- Por último, ingresar a la url&lt;br /&gt;
&lt;br /&gt;
https://HOSTNAME&lt;br /&gt;
&lt;br /&gt;
Si todo salió bien, el sistema estará operativo y podrán iniciarse conferencias.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Importante:&#039;&#039;&#039; cada vez que se modifique el archivo .env, es necesario regenerar la configuración a mano de todos los componentes. Por lo tanto, se recomienda llevar una bitácora de los cambios realizados en los contenidos de ~/.jitsi-meet-cfg/{web/letsencrypt,transcripts,prosody,jicofo,jvb,jigasi,jibri} para luego poder replicar los cambios realizados tras sucesivos cambios del .env.&lt;/div&gt;</summary>
		<author><name>Mzigaran</name></author>
	</entry>
	<entry>
		<id>http://jitsiwiki.riu.edu.ar/index.php?title=Variable_de_entorno_para_despliegue_de_Jitsi_con_Docker&amp;diff=21</id>
		<title>Variable de entorno para despliegue de Jitsi con Docker</title>
		<link rel="alternate" type="text/html" href="http://jitsiwiki.riu.edu.ar/index.php?title=Variable_de_entorno_para_despliegue_de_Jitsi_con_Docker&amp;diff=21"/>
		<updated>2023-07-03T15:36:16Z</updated>

		<summary type="html">&lt;p&gt;Mzigaran: Página creada con «El archivo .env contiene variables de entorno que le permiten a los contenedores generar archivos de configuración. Es muy &amp;#039;&amp;#039;&amp;#039;IMPORTANTE&amp;#039;&amp;#039;&amp;#039; saber que cada vez que se modifica el archivo .env, deberán &amp;#039;&amp;#039;&amp;#039;eliminarse&amp;#039;&amp;#039;&amp;#039; los directorios de configuración creados con “mkdir -p ~/.jitsi-meet-cfg/{web/letsencrypt,transcripts,prosody,jicofo,jvb,jigasi,jibri}” previo a ejecutarse docker-compose nuevamente.  Existen algunas variables muy importantes para esta solución qu…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;El archivo .env contiene variables de entorno que le permiten a los contenedores generar archivos de configuración. Es muy &#039;&#039;&#039;IMPORTANTE&#039;&#039;&#039; saber que cada vez que se modifica el archivo .env, deberán &#039;&#039;&#039;eliminarse&#039;&#039;&#039; los directorios de configuración creados con “mkdir -p ~/.jitsi-meet-cfg/{web/letsencrypt,transcripts,prosody,jicofo,jvb,jigasi,jibri}” previo a ejecutarse docker-compose nuevamente.&lt;br /&gt;
&lt;br /&gt;
Existen algunas variables muy importantes para esta solución que no deben dejarse en valores por defecto:&lt;br /&gt;
&lt;br /&gt;
* TZ es el timezone, conviene setearlo en America/Argentina/Buenos_Aires&lt;br /&gt;
* PUBLIC_&amp;lt;abbr&amp;gt;URL&amp;lt;/abbr&amp;gt; es la url con https en donde se publicará el servicio. Es importante declararla con https y que el servicio funcione.&lt;br /&gt;
* DOCKER_HOST_ADDRESS es la ip &amp;lt;abbr&amp;gt;LAN&amp;lt;/abbr&amp;gt; de la interfaz del host a la cual se le hizo el forward de puertos (ver requerimientos).&lt;br /&gt;
* ENABLE_LETSENCRYPT=0 le indica al servicio que no habilite letsencrypt, ya que de eso se encarga traefik.&lt;br /&gt;
* DISABLE_HTTPS=1 le indica al servicio que no habilite https, ya que traefik se encarga de esto.&lt;br /&gt;
* #ENABLE_HTTP_REDIRECT=1 por defecto no habilitamos el http redirect a https, se puede configurar en traefik (por defecto apagado).&lt;/div&gt;</summary>
		<author><name>Mzigaran</name></author>
	</entry>
	<entry>
		<id>http://jitsiwiki.riu.edu.ar/index.php?title=Archivo:Esquema_deploy.png&amp;diff=20</id>
		<title>Archivo:Esquema deploy.png</title>
		<link rel="alternate" type="text/html" href="http://jitsiwiki.riu.edu.ar/index.php?title=Archivo:Esquema_deploy.png&amp;diff=20"/>
		<updated>2023-07-03T15:17:15Z</updated>

		<summary type="html">&lt;p&gt;Mzigaran: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mzigaran</name></author>
	</entry>
	<entry>
		<id>http://jitsiwiki.riu.edu.ar/index.php?title=Despliegue_de_nodo_maestro_Jitsi_con_soporte_para_escalamiento_v%C3%ADa_Docker&amp;diff=19</id>
		<title>Despliegue de nodo maestro Jitsi con soporte para escalamiento vía Docker</title>
		<link rel="alternate" type="text/html" href="http://jitsiwiki.riu.edu.ar/index.php?title=Despliegue_de_nodo_maestro_Jitsi_con_soporte_para_escalamiento_v%C3%ADa_Docker&amp;diff=19"/>
		<updated>2023-07-03T15:15:35Z</updated>

		<summary type="html">&lt;p&gt;Mzigaran: Página blanqueada&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mzigaran</name></author>
	</entry>
	<entry>
		<id>http://jitsiwiki.riu.edu.ar/index.php?title=Despliegue_de_Jitsi_con_Docker&amp;diff=18</id>
		<title>Despliegue de Jitsi con Docker</title>
		<link rel="alternate" type="text/html" href="http://jitsiwiki.riu.edu.ar/index.php?title=Despliegue_de_Jitsi_con_Docker&amp;diff=18"/>
		<updated>2023-07-03T15:08:54Z</updated>

		<summary type="html">&lt;p&gt;Mzigaran: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;El primer paso es el despliegue del nodo maestro: [[Despliegue de nodo maestro Jitsi con soporte para escalamiento vía Docker]]&lt;br /&gt;
&lt;br /&gt;
Durante el despliegue se deben modificar algunas variables, aquí las más importantes: Variables de entorno&lt;br /&gt;
&lt;br /&gt;
El segundo paso es el despliegue de nodos bridge&lt;br /&gt;
&lt;br /&gt;
Optimizaciones sugeridas por la comunidad y por los desarrolladores de Jitsi&lt;br /&gt;
&lt;br /&gt;
Por defecto, Jitsi es un servicio abierto. Esto quiere decir que cualquier persona en internet puede crear una sala propia o unirse a una en nuestra instancia. Claramente es una desventaja en un contexto de recursos limitados y orientados para el uso específico de la UUNN. Afortunadamente, Jitsi puede integrarse con sistemas de autenticación propios, de manera de limitar la creación de salas y opcionalmente, el acceso a las mismas. Existen varias formas de lograr esto:&lt;br /&gt;
&lt;br /&gt;
* [[Autenticación y autorización interna]]&lt;br /&gt;
* [[Autenticación y autorización por LDAP]]&lt;br /&gt;
* [[Autenticación por JSON Web Tokens (JWT)]]&lt;/div&gt;</summary>
		<author><name>Mzigaran</name></author>
	</entry>
	<entry>
		<id>http://jitsiwiki.riu.edu.ar/index.php?title=Despliegue_de_nodo_maestro_Jitsi_con_soporte_para_escalamiento_v%C3%ADa_Docker&amp;diff=17</id>
		<title>Despliegue de nodo maestro Jitsi con soporte para escalamiento vía Docker</title>
		<link rel="alternate" type="text/html" href="http://jitsiwiki.riu.edu.ar/index.php?title=Despliegue_de_nodo_maestro_Jitsi_con_soporte_para_escalamiento_v%C3%ADa_Docker&amp;diff=17"/>
		<updated>2023-07-03T14:42:31Z</updated>

		<summary type="html">&lt;p&gt;Mzigaran: Página creada con «El objetivo de este manual es documentar los pasos para el despliegue de Jitsi de acuerdo a un esquema de escalamiento horizontal de su componente principal: el Video Bridge. Si bien la solución Docker ofrecida en &amp;lt;nowiki&amp;gt;https://github.com/jitsi/docker-jitsi-meet&amp;lt;/nowiki&amp;gt; funciona bien, pueden surgir varios inconvenientes a la hora de implementarla, por lo cual se trata de brindar una receta que funcione desde cero hasta puesta en funcionamiento en poco tiempo.  El…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;El objetivo de este manual es documentar los pasos para el despliegue de Jitsi de acuerdo a un esquema de escalamiento horizontal de su componente principal: el Video Bridge. Si bien la solución Docker ofrecida en &amp;lt;nowiki&amp;gt;https://github.com/jitsi/docker-jitsi-meet&amp;lt;/nowiki&amp;gt; funciona bien, pueden surgir varios inconvenientes a la hora de implementarla, por lo cual se trata de brindar una receta que funcione desde cero hasta puesta en funcionamiento en poco tiempo.&lt;br /&gt;
&lt;br /&gt;
El esquema de deploy básico que apuntamos es el siguiente:&lt;br /&gt;
&lt;br /&gt;
Nuestro deploy varía del propuesto oficialmente en dos aspectos:&lt;br /&gt;
&lt;br /&gt;
* Se pueden agregar más Videobridges en otros hosts (el docker-compose provisto no lo permite por defecto).&lt;br /&gt;
* Gestionamos el acceso a la web a través de un load balancer, router y terminador SSL llamado Traefik (&amp;lt;nowiki&amp;gt;https://containo.us/traefik/&amp;lt;/nowiki&amp;gt;). Le quitamos la responsabilidad al contenedor web de administrar sus certificados SSL.&lt;br /&gt;
&lt;br /&gt;
== Despliegue del Nodo Maestro ==&lt;br /&gt;
Como se muestra en el esquema de despliegue, este nodo puede puede ofrecer el servicio por si solo, sin escalamiento de videobridges.&lt;br /&gt;
&lt;br /&gt;
=== Requerimientos ===&lt;br /&gt;
Aparte de los requerimientos de hardware oficiales del proyecto, para un deploy en un solo servidor, se requiere instalar en el host:&lt;br /&gt;
&lt;br /&gt;
* Linux soportado por Docker. Recomendado Debian Stretch o Ubuntu (ver lista de soportados en: &amp;lt;nowiki&amp;gt;https://docs.docker.com&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
* Docker instalado según (&amp;lt;nowiki&amp;gt;https://docs.docker.com/engine/install/debian/&amp;lt;/nowiki&amp;gt;) - elegir la distro correcta -.&lt;br /&gt;
* Docker Compose instalado según (&amp;lt;nowiki&amp;gt;https://docs.docker.com/compose/install/&amp;lt;/nowiki&amp;gt;) (no usar versiones provistas por el S.O)&lt;br /&gt;
* Comando git para hacer el pull del proyecto.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Atención:&#039;&#039;&#039; si se utiliza Debian Buster, tener en cuenta que usa nftables en lugar de iptables, por lo cual hay que configurar iptables-legacy con el comando “update-alternatives –set iptables /usr/sbin/iptables-legacy”. Más información en: &amp;lt;nowiki&amp;gt;https://wiki.debian.org/nftables&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En la red, el host elegido deberá tener una ip pública con forwards a los siguientes puertos:&lt;br /&gt;
&lt;br /&gt;
* 443 tcp&lt;br /&gt;
* 80 tcp&lt;br /&gt;
* 10000 udp&lt;br /&gt;
&lt;br /&gt;
=== Procedimiento ===&lt;br /&gt;
Iniciar sesión como root&lt;br /&gt;
&lt;br /&gt;
Tomando las instrucciones de: &amp;lt;nowiki&amp;gt;https://github.com/jitsi/docker-jitsi-meet#quick-start&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Moverse a un directorio donde se descargará el paquete por ej: /root/ y ejecutar:&lt;br /&gt;
 git clone &amp;lt;nowiki&amp;gt;https://github.com/jitsi/docker-jitsi-meet&amp;lt;/nowiki&amp;gt; &amp;amp;&amp;amp; cd docker-jitsi-meet&lt;br /&gt;
- Copiar el template de environment y modificarlo según las características del entorno propio (ver más adelante)&lt;br /&gt;
 cp env.example .env&lt;br /&gt;
- Crear passwords para el archivo .env con el script provisto&lt;br /&gt;
 ./gen-passwords.sh&lt;br /&gt;
- Crear las carpetas del host en donde se guardarán las configuraciones de los diferentes componentes para ser montadas por los contenedores docker (por defecto en /root)&lt;br /&gt;
 mkdir -p ~/.jitsi-meet-cfg/{web/letsencrypt,transcripts,prosody,jicofo,jvb,jigasi,jibri}&lt;br /&gt;
&#039;&#039;&#039;Continuar con estas instrucciones propias de nuestra solución&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
- Crear el archivo de almacenamiento de claves de Let&#039;s Encrypt y protegerlo. (Traefik no arranca si no tiene permisos 600).&lt;br /&gt;
 touch /root/jitsi-acme.json&lt;br /&gt;
 chmod 600 /root/jitsi-acme.json&lt;br /&gt;
- Copiar al directorio docker-jitsi-meet el archivo docker-compose.rtf, renombrarlo a “docker-compose.yml” y modificar lo siguiente:&lt;br /&gt;
 &amp;quot;--certificatesResolvers.jitsi-acme-resolver.acme.caServer=&amp;lt;nowiki&amp;gt;https://acme-staging-v02.api.letsencrypt.org/directory&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
- Reemplazar la url con el CA Server de producción de Let´s encrypt según &amp;lt;nowiki&amp;gt;https://letsencrypt.org/docs/acme-protocol-updates/&amp;lt;/nowiki&amp;gt; . Al momento de redacción es: &amp;lt;nowiki&amp;gt;https://acme-v02.api.letsencrypt.org/directory&amp;lt;/nowiki&amp;gt; . Por defecto se provee la dirección del entorno staging.&lt;br /&gt;
 &amp;quot;--certificatesResolvers.jitsi-acme-resolver.acme.email=MAIL_WEBMASTER&amp;quot;&lt;br /&gt;
- Reemplazar MAIL_WEBMASTER por una dirección donde recibir notificaciones de let´s encrypt. Se recomienda una dirección real y de acceso periódico.&lt;br /&gt;
 &amp;quot;traefik.http.routers.jitsi-router.rule=Host(`HOSTNAME`)&amp;quot;&lt;br /&gt;
- Reemplazar HOSTNAME con el hostname de la &amp;lt;abbr&amp;gt;URL&amp;lt;/abbr&amp;gt; destinada al servicio jitsi.&lt;br /&gt;
&lt;br /&gt;
- Arrancar la solución por primera vez para que genere los archivos de configuración a partir del entorno definido en “.env” (ver variables).&lt;br /&gt;
&lt;br /&gt;
- Ejecutar&lt;br /&gt;
 docker-compose up&lt;br /&gt;
y luego de que arranque todo correctamente (ingresar a la url al cabo de un par de minutos) presionar ctrl+c para cortar la ejecución.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;Moverse a ~/.jitsi-meet-cfg/web y reemplazar el archivo config.js por el provisto, que contiene algunas optimizaciones.&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A partir de este momento se pueden modificar los archivos de configuración de todos los componentes ya que se habrán generado todos los archivos en sus respectivos directorios. Es de especial atención la configuración del componente web, en el cual pueden aplicarse varias optiimizaciones. Los archivos en cuestión son ~/.jitsi-meet-cfg/web/config.js y ~/.jitsi-meet-cfg/web/interface.config.js . Una modificación sugerida es configurar el idioma por defecto para que sea Español. Para ello editar en ~/.jitsi-meet-cfg/web/config.js lo siguiente:&lt;br /&gt;
 defaultLanguage: &#039;es&#039;&lt;br /&gt;
- Iniciar el servicio en background ejecutando&lt;br /&gt;
 docker-compose up -d&lt;br /&gt;
- Por último, ingresar a la url&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;https://HOSTNAME&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si todo salió bien, el sistema estará operativo y podrán iniciarse conferencias.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Importante:&#039;&#039;&#039; cada vez que se modifique el archivo .env, es necesario regenerar la configuración a mano de todos los componentes. Por lo tanto, se recomienda llevar una bitácora de los cambios realizados en los contenidos de ~/.jitsi-meet-cfg/{web/letsencrypt,transcripts,prosody,jicofo,jvb,jigasi,jibri} para luego poder replicar los cambios realizados tras sucesivos cambios del .env.&lt;/div&gt;</summary>
		<author><name>Mzigaran</name></author>
	</entry>
	<entry>
		<id>http://jitsiwiki.riu.edu.ar/index.php?title=Template_VM_Proxmox&amp;diff=16</id>
		<title>Template VM Proxmox</title>
		<link rel="alternate" type="text/html" href="http://jitsiwiki.riu.edu.ar/index.php?title=Template_VM_Proxmox&amp;diff=16"/>
		<updated>2023-06-29T19:53:36Z</updated>

		<summary type="html">&lt;p&gt;Mzigaran: Página creada con «* Template VM Proxmox * Template VM VMWare»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[Template VM Proxmox]]&lt;br /&gt;
* [[Template VM VMWare]]&lt;/div&gt;</summary>
		<author><name>Mzigaran</name></author>
	</entry>
	<entry>
		<id>http://jitsiwiki.riu.edu.ar/index.php?title=Script_instalaci%C3%B3n&amp;diff=15</id>
		<title>Script instalación</title>
		<link rel="alternate" type="text/html" href="http://jitsiwiki.riu.edu.ar/index.php?title=Script_instalaci%C3%B3n&amp;diff=15"/>
		<updated>2023-06-29T19:52:53Z</updated>

		<summary type="html">&lt;p&gt;Mzigaran: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[script_instalación]]&lt;br /&gt;
*&lt;/div&gt;</summary>
		<author><name>Mzigaran</name></author>
	</entry>
	<entry>
		<id>http://jitsiwiki.riu.edu.ar/index.php?title=Script_instalaci%C3%B3n&amp;diff=14</id>
		<title>Script instalación</title>
		<link rel="alternate" type="text/html" href="http://jitsiwiki.riu.edu.ar/index.php?title=Script_instalaci%C3%B3n&amp;diff=14"/>
		<updated>2023-06-29T19:52:25Z</updated>

		<summary type="html">&lt;p&gt;Mzigaran: Página creada con «* script_instalación»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[script_instalación]]&lt;/div&gt;</summary>
		<author><name>Mzigaran</name></author>
	</entry>
	<entry>
		<id>http://jitsiwiki.riu.edu.ar/index.php?title=Instalar_y_configurar_paneles_de_Grafana_para_monitorear_Jitsi&amp;diff=13</id>
		<title>Instalar y configurar paneles de Grafana para monitorear Jitsi</title>
		<link rel="alternate" type="text/html" href="http://jitsiwiki.riu.edu.ar/index.php?title=Instalar_y_configurar_paneles_de_Grafana_para_monitorear_Jitsi&amp;diff=13"/>
		<updated>2023-06-29T19:51:54Z</updated>

		<summary type="html">&lt;p&gt;Mzigaran: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[Instalar y configurar panels de Grafana para monitorear Jitsi]]&lt;/div&gt;</summary>
		<author><name>Mzigaran</name></author>
	</entry>
	<entry>
		<id>http://jitsiwiki.riu.edu.ar/index.php?title=Instalar_y_configurar_paneles_de_Grafana_para_monitorear_Jitsi&amp;diff=12</id>
		<title>Instalar y configurar paneles de Grafana para monitorear Jitsi</title>
		<link rel="alternate" type="text/html" href="http://jitsiwiki.riu.edu.ar/index.php?title=Instalar_y_configurar_paneles_de_Grafana_para_monitorear_Jitsi&amp;diff=12"/>
		<updated>2023-06-29T19:50:27Z</updated>

		<summary type="html">&lt;p&gt;Mzigaran: Página creada con «* instalar y configurar paneles de Grafana para monitorear Jitsi»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[instalar y configurar paneles de Grafana para monitorear Jitsi]]&lt;/div&gt;</summary>
		<author><name>Mzigaran</name></author>
	</entry>
	<entry>
		<id>http://jitsiwiki.riu.edu.ar/index.php?title=Instalaci%C3%B3n_de_Servidor_Jitsi-meet&amp;diff=11</id>
		<title>Instalación de Servidor Jitsi-meet</title>
		<link rel="alternate" type="text/html" href="http://jitsiwiki.riu.edu.ar/index.php?title=Instalaci%C3%B3n_de_Servidor_Jitsi-meet&amp;diff=11"/>
		<updated>2023-06-29T19:49:53Z</updated>

		<summary type="html">&lt;p&gt;Mzigaran: Página creada con «* Instalación de Servidor Jitsi-meet»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[Instalación de Servidor Jitsi-meet]]&lt;/div&gt;</summary>
		<author><name>Mzigaran</name></author>
	</entry>
	<entry>
		<id>http://jitsiwiki.riu.edu.ar/index.php?title=Instalaci%C3%B3n_de_Servidor_Jitsi_con_token&amp;diff=10</id>
		<title>Instalación de Servidor Jitsi con token</title>
		<link rel="alternate" type="text/html" href="http://jitsiwiki.riu.edu.ar/index.php?title=Instalaci%C3%B3n_de_Servidor_Jitsi_con_token&amp;diff=10"/>
		<updated>2023-06-29T19:49:24Z</updated>

		<summary type="html">&lt;p&gt;Mzigaran: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[Instalación de Servidor con jitsi con token]]&lt;/div&gt;</summary>
		<author><name>Mzigaran</name></author>
	</entry>
	<entry>
		<id>http://jitsiwiki.riu.edu.ar/index.php?title=Instalaci%C3%B3n_de_Servidor_Jitsi_con_token&amp;diff=9</id>
		<title>Instalación de Servidor Jitsi con token</title>
		<link rel="alternate" type="text/html" href="http://jitsiwiki.riu.edu.ar/index.php?title=Instalaci%C3%B3n_de_Servidor_Jitsi_con_token&amp;diff=9"/>
		<updated>2023-06-29T19:48:16Z</updated>

		<summary type="html">&lt;p&gt;Mzigaran: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[Instalación de Servidor Jitsi-meet]]&lt;/div&gt;</summary>
		<author><name>Mzigaran</name></author>
	</entry>
	<entry>
		<id>http://jitsiwiki.riu.edu.ar/index.php?title=Instalaci%C3%B3n_de_Servidor_Jitsi_con_token&amp;diff=8</id>
		<title>Instalación de Servidor Jitsi con token</title>
		<link rel="alternate" type="text/html" href="http://jitsiwiki.riu.edu.ar/index.php?title=Instalaci%C3%B3n_de_Servidor_Jitsi_con_token&amp;diff=8"/>
		<updated>2023-06-29T19:48:05Z</updated>

		<summary type="html">&lt;p&gt;Mzigaran: Página creada con «* Instalación de Servidor Jitsi-meet»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Instalación de Servidor Jitsi-meet&lt;/div&gt;</summary>
		<author><name>Mzigaran</name></author>
	</entry>
	<entry>
		<id>http://jitsiwiki.riu.edu.ar/index.php?title=Despliegue_de_Jitsi_con_Docker&amp;diff=7</id>
		<title>Despliegue de Jitsi con Docker</title>
		<link rel="alternate" type="text/html" href="http://jitsiwiki.riu.edu.ar/index.php?title=Despliegue_de_Jitsi_con_Docker&amp;diff=7"/>
		<updated>2023-06-29T19:23:01Z</updated>

		<summary type="html">&lt;p&gt;Mzigaran: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;El primer paso es el despliegue del nodo maestro: Despliegue de nodo maestro Jitsi con soporte para escalamiento vía Docker&lt;br /&gt;
&lt;br /&gt;
Durante el despliegue se deben modificar algunas variables, aquí las más importantes: Variables de entorno&lt;br /&gt;
&lt;br /&gt;
El segundo paso es el despliegue de nodos bridge&lt;br /&gt;
&lt;br /&gt;
Optimizaciones sugeridas por la comunidad y por los desarrolladores de Jitsi&lt;br /&gt;
&lt;br /&gt;
Por defecto, Jitsi es un servicio abierto. Esto quiere decir que cualquier persona en internet puede crear una sala propia o unirse a una en nuestra instancia. Claramente es una desventaja en un contexto de recursos limitados y orientados para el uso específico de la UUNN. Afortunadamente, Jitsi puede integrarse con sistemas de autenticación propios, de manera de limitar la creación de salas y opcionalmente, el acceso a las mismas. Existen varias formas de lograr esto:&lt;br /&gt;
&lt;br /&gt;
* [[Autenticación y autorización interna]]&lt;br /&gt;
* [[Autenticación y autorización por LDAP]]&lt;br /&gt;
* [[Autenticación por JSON Web Tokens (JWT)]]&lt;/div&gt;</summary>
		<author><name>Mzigaran</name></author>
	</entry>
	<entry>
		<id>http://jitsiwiki.riu.edu.ar/index.php?title=Despliegue_de_Jitsi_con_Docker&amp;diff=6</id>
		<title>Despliegue de Jitsi con Docker</title>
		<link rel="alternate" type="text/html" href="http://jitsiwiki.riu.edu.ar/index.php?title=Despliegue_de_Jitsi_con_Docker&amp;diff=6"/>
		<updated>2023-06-29T19:20:11Z</updated>

		<summary type="html">&lt;p&gt;Mzigaran: Página blanqueada&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mzigaran</name></author>
	</entry>
	<entry>
		<id>http://jitsiwiki.riu.edu.ar/index.php?title=Despliegue_Docker&amp;diff=5</id>
		<title>Despliegue Docker</title>
		<link rel="alternate" type="text/html" href="http://jitsiwiki.riu.edu.ar/index.php?title=Despliegue_Docker&amp;diff=5"/>
		<updated>2023-06-29T19:19:52Z</updated>

		<summary type="html">&lt;p&gt;Mzigaran: Página creada con «* Despliegue de nodo Jitsi Videobridge con Docker * Despliegue de Jitsi con Docker * Despliegue de nodo maestro Jitsi con soporte para escalamiento vía docker * Autenticación de usuarios y protección de conferencias con JWT * En los hosts que corren vídeo bridges * Variable de entorno para despliegue de Jitsi con Docker»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[Despliegue de nodo Jitsi Videobridge con Docker]]&lt;br /&gt;
* [[Despliegue de Jitsi con Docker]]&lt;br /&gt;
* [[Despliegue de nodo maestro Jitsi con soporte para escalamiento vía docker]]&lt;br /&gt;
* [[Autenticación de usuarios y protección de conferencias con JWT]]&lt;br /&gt;
* [[En los hosts que corren vídeo bridges]]&lt;br /&gt;
* [[Variable de entorno para despliegue de Jitsi con Docker]]&lt;/div&gt;</summary>
		<author><name>Mzigaran</name></author>
	</entry>
	<entry>
		<id>http://jitsiwiki.riu.edu.ar/index.php?title=P%C3%A1gina_principal&amp;diff=4</id>
		<title>Página principal</title>
		<link rel="alternate" type="text/html" href="http://jitsiwiki.riu.edu.ar/index.php?title=P%C3%A1gina_principal&amp;diff=4"/>
		<updated>2023-06-29T19:11:11Z</updated>

		<summary type="html">&lt;p&gt;Mzigaran: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== [[Despliegue de Jitsi con Docker]] ===&lt;br /&gt;
&lt;br /&gt;
=== [[Instalación de Jitsi sobre Debian 10]] ===&lt;br /&gt;
&lt;br /&gt;
=== [[Instalación de Autenticación de Jitsi por token en Debian 9]] ===&lt;br /&gt;
&lt;br /&gt;
=== [[Templates Proxmox]] ===&lt;br /&gt;
&lt;br /&gt;
=== [[Templates VMware]] ===&lt;br /&gt;
&lt;br /&gt;
=== [[Monitoreo con Grafana]] ===&lt;br /&gt;
&lt;br /&gt;
=== [[Scrip de Instalación]] ===&lt;br /&gt;
&lt;br /&gt;
== Jitsiwiki.riu.edu.ar ==&lt;br /&gt;
&lt;br /&gt;
* [[Despliegue Docker]]&lt;br /&gt;
* [[Instalación de Servidor Jitsi con token]]&lt;br /&gt;
* [[Instalación de Servidor Jitsi-meet]]&lt;br /&gt;
* [[Instalar y configurar paneles de Grafana para monitorear Jitsi]]&lt;br /&gt;
* [[Script_instalación]]&lt;br /&gt;
* [[Template VM Proxmox]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Primeros pasos ==&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Lista de ajustes de configuración]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ Preguntas frecuentes sobre MediaWiki]&lt;br /&gt;
* [https://lists.wikimedia.org/postorius/lists/mediawiki-announce.lists.wikimedia.org/ Lista de correo de anuncios de publicación de MediaWiki]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Traducir MediaWiki a tu idioma]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Aprende a combatir el spam en tu wiki]&lt;/div&gt;</summary>
		<author><name>Mzigaran</name></author>
	</entry>
	<entry>
		<id>http://jitsiwiki.riu.edu.ar/index.php?title=Despliegue_de_Jitsi_con_Docker&amp;diff=3</id>
		<title>Despliegue de Jitsi con Docker</title>
		<link rel="alternate" type="text/html" href="http://jitsiwiki.riu.edu.ar/index.php?title=Despliegue_de_Jitsi_con_Docker&amp;diff=3"/>
		<updated>2023-06-29T19:08:36Z</updated>

		<summary type="html">&lt;p&gt;Mzigaran: Página creada con «* Despliegue de nodo Jitsi Videobridge con Docker * Despliegue de Jitsi con Docker * Despliegue de nodo maestro Jitsi con soporte para escalamiento vía docker * Autenticación de usuarios y protección de conferencias con JWT * En los hosts que corren vídeo bridges * Variable de entorno para despliegue de Jitsi con Docker»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[Despliegue de nodo Jitsi Videobridge con Docker]]&lt;br /&gt;
* [[Despliegue de Jitsi con Docker]]&lt;br /&gt;
* [[Despliegue de nodo maestro Jitsi con soporte para escalamiento vía docker]]&lt;br /&gt;
* [[Autenticación de usuarios y protección de conferencias con JWT]]&lt;br /&gt;
* [[En los hosts que corren vídeo bridges]]&lt;br /&gt;
* [[Variable de entorno para despliegue de Jitsi con Docker]]&lt;/div&gt;</summary>
		<author><name>Mzigaran</name></author>
	</entry>
</feed>