Premessa: questa guida è stata scritta partendo dagli appunti di una persona con limitatissime capacità tecnico-informatiche la quale ha voluto provare a vedere se era davvero così alla portata di tutti.
Quindi il riferimento è al caso specifico di installazione su VPS con Ubuntu.
Per prima cosa devi avere un dominio che supporti i sottodomini, lo puoi acquistare su un qualunque provider. Poi devi procurarti un server virtuale (VPS) con Linux. Per fornire il servizio ad un gruppo ristretto di utenti come la propria famiglia o un’associazione di piccole dimensioni sarà sufficiente un VPS con 1Gb di RAM.
Le seguenti istruzioni provengono da Snikket quick-start guide a cui si rimanda per ulteriori informazioni e casistiche differenti.
DNS
Cerca l’ip del tuo server dal suo pannello di controllo. Questo ip va aggiunto nei DNS del tuo dominio. Su alcuni provider c’è scritto “Zone DNS”.


Ricorda di aggiungere tutti e tre i sottodomini.
Se non intendi utilizzare il sottodominio chat.example.com ma direttamente example.com lo puoi fare, prestando attenzione a modificare i passaggi relativi a queste impostazioni, quindi i sottodomini saranno groups.example.com ecc.
Nota: Nel pannello di controllo di alcuni fornitori i TTL sono espressi in minuti, 300 = 5 min.
Ora connettiti col terminale utilizzando il comando
alla richiesta Are you sure you want to continue connecting (yes/no/\[fingerprint\])? Rispondi Yes e incolla la pwd, che non si vedrà. Sei entrato come amministratore, aggiorna il server con
e
Docker
Adesso devi installare Docker, è propedeutico all’installazione di Snikket. Segui le istruzioni su Install Docker Engine on Ubuntu o quella riferita alla tua distro. Io ho seguito il primo metodo elencato, quindi i comandi sono:
Se l’ultimo comando dovesse restituire un errore completare l’installazione con:
In seguito installa Docker-compose con questi comandi:
Nota: le più recenti versioni di Docker comprendono anche la funzione compose, quindi non è più necessario installarlo separatamente.
In questo caso il comando non sarà
ma
Snikket
Bene, ora crea la cartella di configurazione:
entraci:
e stando nella stessa cartella scarica il file:
Sempre qui crea il file di configurazione usando vim o nano (come nell’esempio):
e copiaci dentro questi valori:
Ovviamente modificando con i tuoi valori Salva il file e dai questo comando:
Hai fatto!
Ora devi creare il tuo profilo amministrativo con cui puoi entrare da browser nel tuo chat.dominio.it con la parola d’ordine che ti viene suggerita. Il comando per crearlo è
Ti viene generato un link utilizzabile una sola volta. Tutti gli altri utenti li puoi creare dal tuo pannello di controllo una volta eseguito l’accesso.

Porte
Perché Snikket funzioni devi aprire le porte del server virtuale descritte qui: snikket-server/docs/advanced/firewall.md at master · snikket-im/snikket-server
La porta 22 permette l’accesso al VPS quindi potresti pensare di migliorare la sicurezza abilitando l’accesso solo con chiave.
Quindi il riferimento è al caso specifico di installazione su VPS con Ubuntu.
Per prima cosa devi avere un dominio che supporti i sottodomini, lo puoi acquistare su un qualunque provider. Poi devi procurarti un server virtuale (VPS) con Linux. Per fornire il servizio ad un gruppo ristretto di utenti come la propria famiglia o un’associazione di piccole dimensioni sarà sufficiente un VPS con 1Gb di RAM.
Le seguenti istruzioni provengono da Snikket quick-start guide a cui si rimanda per ulteriori informazioni e casistiche differenti.
DNS
Cerca l’ip del tuo server dal suo pannello di controllo. Questo ip va aggiunto nei DNS del tuo dominio. Su alcuni provider c’è scritto “Zone DNS”.


Ricorda di aggiungere tutti e tre i sottodomini.
Se non intendi utilizzare il sottodominio chat.example.com ma direttamente example.com lo puoi fare, prestando attenzione a modificare i passaggi relativi a queste impostazioni, quindi i sottodomini saranno groups.example.com ecc.
Nota: Nel pannello di controllo di alcuni fornitori i TTL sono espressi in minuti, 300 = 5 min.
Ora connettiti col terminale utilizzando il comando
Bash:
ssh root@il.tuo.ip
alla richiesta Are you sure you want to continue connecting (yes/no/\[fingerprint\])? Rispondi Yes e incolla la pwd, che non si vedrà. Sei entrato come amministratore, aggiorna il server con
Bash:
sudo apt update
e
Bash:
sudo apt upgrade
Docker
Adesso devi installare Docker, è propedeutico all’installazione di Snikket. Segui le istruzioni su Install Docker Engine on Ubuntu o quella riferita alla tua distro. Io ho seguito il primo metodo elencato, quindi i comandi sono:
Bash:
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
Bash:
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg]
https://download.docker.com/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Bash:
sudo apt update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin
docker-compose-plugin
Se l’ultimo comando dovesse restituire un errore completare l’installazione con:
Bash:
sudo apt install docker.io
In seguito installa Docker-compose con questi comandi:
Bash:
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod a+x /usr/local/bin/docker-compose
Nota: le più recenti versioni di Docker comprendono anche la funzione compose, quindi non è più necessario installarlo separatamente.
In questo caso il comando non sarà
Codice:
docker-compose
Codice:
docker compose
Snikket
Bene, ora crea la cartella di configurazione:
Bash:
sudo mkdir /etc/snikket
entraci:
Bash:
cd /etc/snikket
e stando nella stessa cartella scarica il file:
Bash:
sudo curl -o docker-compose.yml https://snikket.org/service/resources/docker-compose.beta.yml
Sempre qui crea il file di configurazione usando vim o nano (come nell’esempio):
Bash:
sudo nano /etc/snikket/snikket.conf
e copiaci dentro questi valori:
Codice:
# The primary domain of your Snikket instance
SNIKKET_DOMAIN=chat.example.com
# An email address where the admin can be contacted
# (also used to register your Let's Encrypt account to obtain certificates)
SNIKKET_ADMIN_EMAIL=you@example.com
Ovviamente modificando con i tuoi valori Salva il file e dai questo comando:
Bash:
sudo docker-compose up -d
Hai fatto!
Ora devi creare il tuo profilo amministrativo con cui puoi entrare da browser nel tuo chat.dominio.it con la parola d’ordine che ti viene suggerita. Il comando per crearlo è
Bash:
sudo docker exec snikket create-invite --admin --group default
Ti viene generato un link utilizzabile una sola volta. Tutti gli altri utenti li puoi creare dal tuo pannello di controllo una volta eseguito l’accesso.

Porte
Perché Snikket funzioni devi aprire le porte del server virtuale descritte qui: snikket-server/docs/advanced/firewall.md at master · snikket-im/snikket-server
La porta 22 permette l’accesso al VPS quindi potresti pensare di migliorare la sicurezza abilitando l’accesso solo con chiave.