
Installare un server Matrix: guida pratica per creare la propria rete di comunicazione
Con la crescente attenzione verso privacy, controllo dei dati e indipendenza dalle grandi piattaforme, sempre più sviluppatori, aziende e comunità stanno valutando la possibilità di installare un server Matrix autonomo. Grazie alla natura open source del protocollo, chiunque può creare il proprio nodo della rete e partecipare alla federazione globale.
Il progetto di riferimento per creare un server Matrix è Synapse, sviluppato dalla comunità Matrix. Il codice e la documentazione ufficiale sono disponibili sul sito del progetto:
https://matrix.org
Synapse è il software che implementa il protocollo Matrix e gestisce utenti, stanze di chat, federazione con altri server e la distribuzione degli eventi.
I requisiti di base
Per installare un server Matrix sono necessari alcuni elementi fondamentali:
-
un server Linux (generalmente Ubuntu o Debian)
-
un dominio Internet
-
accesso come amministratore (root)
-
una porta pubblica HTTPS
-
almeno 2 GB di RAM per installazioni leggere
Il dominio è importante perché in Matrix l’identità degli utenti è legata al nome del server. Un utente registrato sul proprio server avrà un identificativo come:
@utente:tuodominio.it
Installazione del server Synapse
Su sistemi Ubuntu o Debian l’installazione può essere eseguita tramite il repository ufficiale Matrix.
Prima si aggiunge la chiave del repository:
sudo apt install -y lsb-release wget apt-transport-https
sudo wget -O /usr/share/keyrings/matrix-org-archive-keyring.gpg https://packages.matrix.org/debian/matrix-org-archive-keyring.gpg
Poi si aggiunge il repository:
echo "deb [signed-by=/usr/share/keyrings/matrix-org-archive-keyring.gpg] https://packages.matrix.org/debian/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/matrix-org.list
Infine si installa Synapse:
sudo apt update
sudo apt install matrix-synapse-py3
Durante l’installazione il sistema chiederà il nome del server (server name) che normalmente corrisponde al dominio principale.
Configurazione del server
La configurazione principale si trova nel file:
/etc/matrix-synapse/homeserver.yaml
Qui è possibile definire:
-
porte di ascolto
-
parametri di federazione
-
database
-
registrazione utenti
-
sicurezza
Per piccoli server il database SQLite integrato può essere sufficiente. Per installazioni più grandi si utilizza generalmente PostgreSQL.
Configurazione HTTPS e reverse proxy
Matrix richiede connessioni sicure HTTPS per la federazione.
Di solito si utilizza un reverse proxy come Nginx o Apache davanti a Synapse.
Esempio con Nginx:
server {
listen 443 ssl;
server_name tuodominio.it;
location / {
proxy_pass http://localhost:8008;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
}
}
Il certificato TLS può essere ottenuto facilmente con Let’s Encrypt.
Server discovery (.well-known)
Per permettere agli altri server Matrix di trovare il nodo corretto è consigliato configurare il file:
https://tuodominio.it/.well-known/matrix/server
contenente:
{
"m.server": "matrix.tuodominio.it:443"
}
Questo consente alla rete Matrix di individuare automaticamente il server che gestisce il dominio.
Creare il primo utente
Una volta avviato Synapse si può creare il primo account amministratore:
register_new_matrix_user -c /etc/matrix-synapse/homeserver.yaml http://localhost:8008
Il comando chiederà:
-
username
-
password
-
se l’utente deve essere amministratore
Collegare un client: Element
Dopo aver creato il server, gli utenti possono connettersi tramite client compatibili con Matrix. Il più diffuso è Element, disponibile per:
-
web
-
desktop
-
Android
-
iOS
Il progetto ufficiale è disponibile qui:
Durante il login è sufficiente indicare il server Matrix personale invece di utilizzare uno pubblico.
Federazione con la rete Matrix
Una volta online, il server può comunicare con gli altri nodi della rete Matrix se la federazione è abilitata nella configurazione.
Questo permette agli utenti di:
-
entrare in stanze ospitate su altri server
-
chattare con utenti di domini diversi
-
partecipare alla rete globale Matrix
Se invece si vuole una rete privata, la federazione può essere limitata o disabilitata completamente.
Manutenzione e scalabilità
Per piccoli gruppi o comunità, un singolo server può essere sufficiente. Tuttavia, Matrix è progettato per scalare:
-
database PostgreSQL
-
caching Redis
-
worker process distribuiti
-
bilanciamento del carico
Molte aziende utilizzano Matrix proprio perché permette di costruire infrastrutture di comunicazione completamente autonome.
Una piattaforma di comunicazione indipendente
Installare un server Matrix significa trasformarsi da semplice utente di una piattaforma a operatore della propria infrastruttura di comunicazione.
Questo approccio, simile a quello dell’email o del web, permette a comunità, aziende e sviluppatori di costruire sistemi di messaggistica indipendenti, interoperabili e federati.
In un ecosistema digitale dominato da servizi centralizzati, Matrix rappresenta una delle architetture più interessanti per riportare il controllo delle comunicazioni direttamente nelle mani degli utenti e delle organizzazioni.







