Gotify è un semplice server che ti permette di inviare e ricevere messaggi in tempo reale. Immaginiamo di avere una bacheca virtuale dove possiamo postare note e/o avvisi, e chiunque sia “iscritto” a questa bacheca riceverà immediatamente una notifica.

Gotify, a cosa serve?

Attraverso Gotify abbiamo la possibilità di avere:

  • Notifiche personalizzate: E’ possibile creare notifiche personalizzate per qualsiasi evento, come un nuovo messaggio su un forum, un allarme di sicurezza, un aggiornamento di stato di un sistema, ecc.
  • Integrazioni con altre applicazioni: Gotify può essere integrato con molte altre applicazioni per inviare e ricevere notifiche
  • Sviluppo di applicazioni: Può essere utilizzato come componente di applicazioni più grandi per fornire funzionalità di notifica
  • Comunicazione interna: È utile per la comunicazione all’interno di team o aziende, per condividere aggiornamenti o avvisi rapidi

Requisiti:

  • Dominio (opzionale)
  • Server VPS
  • Docker
  • Nginx Proxy Manager (opzionale)

Installazione di Gotify server

Per prima cosa, dopo aver effettuato l’accesso sul nostro amato terminale, accertiamoci di aver installato docker e docker compose quindi lanciamo il comando:

1
docker -v && docker compose version

Se riceviamo a video una risposta simile a questa abbiamo docker installato:

docker-installato in caso contrario leggi la mia guida su come installare docker

Verificata l’installazione di docker e docker compose possiamo procedere con il deploy vero e proprio di NPM, per prima cosa andiamo a creare una directory dove verranno salvate le varie configurazioni di gotify-server, per praticità creeremo una cartella “data”, quindi da terminale:

1
sudo mkdir /data

Assegnamo l’utente (nel caso di questo tutorial giuseppe ma varia in base al vostro utente) la proprietà di lettura e scrittura:

1
sudo chown giuseppe:giuseppe /data

A questo punto creiamo la directory per gotify-server

1
mkdir /data/gotify-server

Rechiamoci all’interno della directory appena creata con il comando cd:

1
cd /data/gotify-server

Una volta dentro creiamo il file per il deploy di gotify-server:

1
nano docker-compose.yml

Nell’editor di testo copiamo il seguente codice:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
services: 
  app: 
    image: gotify/server:latest  
    container_name: gotify
    restart: unless-stopped 
    ports: 
      - 83:80
    environment: 
      - TZ='Europe/Rome'  
    volumes: 
      - ./data:/app/data

Salviamo il file con il consueto CTRL+X e successivamente “Y” per confermare, ed iniziamo a fare il “pull”, ovvero a scaricare l’immagine dal docker hub, con il comando:

1
docker compose pull

Alla fine del “pulling” dovremmo avere una schermata simile a questa:

Adesso, se tutto è andato nel verso giusto possiamo procedere con l’avvio del container docker con il comando:

1
docker compose up -d

Integrazione con Nginx Proxy Manager (opzionale)

Se abbiamo installato Nginx Proxy Manager e vogliamo accedere a Gotify attraverso il nostro dominio (banalmente gotify.dominio.com) dobbiamo collegarci alla nostra istanza npm sul browser: https://nginx.dominio.com e creare un istanza host impostando le voci come queste immagini:

A questo punto effettuiamo il salvataggio (cliccando Save) e se tutto funziona correttamente riusciremo a collegarci al nostro server gotify attraverso il nostro dominio.

Accesso alla UI

Una volta avviato il container, ci basterà aprire il nostro browser e navigare all’interno del seguente sito: https://gotify.dominio.com o http://IP:83 (se non abbiamo integrato Nginx Proxy Manager). Ci apparirà la seguente pagina:

Le credenziali predefinite sono le seguenti:

Username: **admin**
Password: **admin**

Per prima cosa, a log-in effettuato andiamo a modificare le credenziali, quindi quindi clicchiamo sull’icona con scritto “users”:

E successivamente clicchiamo sulla matita (a sinistra) e cambiamo username e password, successivamente clicchiamo “Save” per rendere effettive le modifiche.

Creazione di un Applicazione

Per aggiungere un app, ci basterà collegarci alla sezione apposita dal menù sulla sinistra chiamata “APPS”:

Successivamente su “Create application” ed infine su “Create”:

Test di funzionamento

Per essere sicuri che tutto fili liscio, proviamo ad inviare al server un messaggio di test, per farlo torniamo sul nostro terminale e lanciamo questo comando:

1
curl "https://gotify.dominio.com/message?token=<IL_TOKEN_DEL'APP>" -F "title=Questo è un test" -F "message=Ciao, sei bellissimo" -F "priority=0"

Torniamo nella dashboard principale del nostro server gotify e dovremmo ricevere la notifica nella homepage:

Notifiche sullo smartphone

Per ricevere le notifiche sul nostro smartphone (android) ci basterà scaricare l’app ufficiale dispobibile sul repo github di gotify: