bglug.it/content/posts/2020-03-14-jitsi-docker.md
2024-04-09 23:12:57 +02:00

6.5 KiB
Raw Blame History

title author type date excerpt url classic-editor-remember categories
Videoconferenza con jitsi-meet e docker paspo post 2020-03-13T23:41:14+00:00 Come creare un servizio di videoconferenza con jitsi-meet e docker /2020/03/14/jitsi-docker/
classic-editor
Documentazione
In evidenza
Software

In questo periodo in cui la pandemia globale di COVID-19 ci ricorda quanto siamo fragili, le Persone riescono comunque a sorprenderci per la loro solidarietà: si moltiplicano infatti iniziative come questa, in cui grandi aziende offrono gratuitamente alcuni servizi per semplificare la vita a chi sia obbligato a restare a casa.

Possiamo cogliere questoccasione per rispondere alla crescente domanda di servizi di video conferenza online: in questa lista, infatti, ci sono anche aziende che offrono virtual machines idonee allo scopo.

Vediamo come configurare una virtual machine appena creata per avere un servizio di videoconferenza personalizzato, gratuito e open-source, grazie a jitsi.

Requisiti

  • Una virtual machine linux, raggiungibile da internet, con accesso di root. In questo caso verrà considerata una VM basata su debian/ubuntu.
  • (opzionale ma fortemente raccomandato) un record DNS che punti allindirizzo IP di questa virtual machine. Esempio: jitsi.miodominio.com

Installazione

Prima di tutto bisogna accedere alla nostra virtual machine. A seconda del fornitore, potremmo avere accesso direttamente con lutente root o con un utente diverso, ma con privilegi amministrativi.
Nel primo caso, accediamo con:
ssh root@123.456.789.123<br />
Dove con “123.456.789.123” si intende lindirizzo IP della virtual machine.
Nel secondo caso, dopo esserci loggati, apriamo una shell di root, in modo da semplificare il resto del tutorial:
ssh utente@123.456.789.123<br /> $ sudo -i<br /> [sudo] password di utente:<br /> #<br />
Il comando “sudo -i” permette agli utenti abilitati di ottenere una shell di root, dopo aver inserito la propria password.

Installare docker

Fare riferimento a questo link per istruzioni dettagliate su come installare docker. Qui di seguito sono riportate le istruzioni per linstallazione su Debian.
`# apt-get install <br /> apt-transport-https <br /> ca-certificates <br /> curl <br /> gnupg2 <br /> software-properties-common

curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -

add-apt-repository <br />

"deb [arch=amd64] https://download.docker.com/linux/debian <br /> $(lsb_release -cs) <br /> stable"

apt-get update

apt-get install docker-ce docker-ce-cli containerd.io

`

Installare docker-compose

Anche in questo caso, cè una guida più esauriente sul sito ufficiale.
`# curl -L "https://github.com/docker/compose/releases/download/1.25.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

chmod +x /usr/local/bin/docker-compose

`

Installazione

Prima di tutto, ci serve git:
# apt install git<br />
Ora possiamo clonare il repository sul nostro server:
# git clone https://github.com/jitsi/docker-jitsi-meet.git /srv/jitsi<br />
Otteniamo la configurazione di default:
# cp /srv/jitzi/env.example /srv/jitsi/.env<br />
Prima di ritoccare la configurazione, se vogliamo utilizzare LetsEncrypt, dobbiamo fare una verifica: controlliamo che il nostro record DNS punti effettivamente allindirizzo IP della virtual machine.
`# host jitsi.miodominio.com
jitsi.miodominio.com has address 123.456.789.123

ip a

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:bb:8b:fc brd ff:ff:ff:ff:ff:ff
inet 123.456.789.123/24 brd 123.456.789.255 scope global dynamic enp0s3
valid_lft 85711sec preferred_lft 85711sec
inet6 fe80::a00:27ff:febb:8bfc/64 scope link
valid_lft forever preferred_lft forever
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
link/ether 02:42:54:b7:8b:7a brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
valid_lft forever preferred_lft forever
Ovviamente i dati qui sopra sono solo un esempio, ma dovrebbero bastare a rendere l&#8217;idea: il primo comando ci dice come &#8220;risolve&#8221; jitsi.miodominio.com, mentre il secondo elenca gli indirizzi IP di tutte le interfacce di rete. Gli indirizzi IP devono coincidere. Ora passiamo a ritoccare il file di configurazione (potete usare l&#8217;editor che preferite, ovviamente): # nano /srv/jitsi/.env
`

Modificate in questo modo se NON UTILIZZATE Lets Encrypt:
HTTP_PORT=80<br /> HTTPS_PORT=443<br /> TZ=Europe/Rome<br /> PUBLIC_URL="https://123.456.789.123"<br /> DOCKER_HOST_ADDRESS=123.456.789.123<br /> ENABLE_HTTP_REDIRECT=1<br />

Viceversa, se UTILIZZATE Lets Encrypt:
HTTP_PORT=80<br /> HTTPS_PORT=443<br /> TZ=Europe/Rome<br /> PUBLIC_URL="https://jitsi.miodominio.com"<br /> DOCKER_HOST_ADDRESS=123.456.789.123<br /> ENABLE_LETSENCRYPT=1<br /> LETSENCRYPT_DOMAIN=jitsi.miodominio.com<br /> LETSENCRYPT_EMAIL=email@miodominio.com<br /> ENABLE_HTTP_REDIRECT=1<br />
Chiaramente lemail indicata deve essere unemail valida.

Ora possiamo far partire il servizio:
# cd /srv/jitsi ; docker-compose up -d

Il servizio sarà raggiungibile allURL “https://123.456.789.123” con un certificato autofirmato; se invece avete abilitato Lets Encrypt, sarà raggiungibile allURL “https://jitsi.miodominio.com”.
Da qui potete creare quante “stanze” volete, senza bisogno di nessun account: basta inoltrare il link ai destinatari.