Cos’è Gotify?

Gotify è un server open source che permette di ricevere notifiche push in tempo reale sui tuoi dispositivi. Puoi installarlo sul tuo server e utilizzarlo per inviare avvisi da script, container Docker, servizi di monitoraggio o qualsiasi applicazione in grado di effettuare richieste HTTP.

A differenza di molti servizi di notifiche, Gotify è completamente self-hosted, i dati rimangono sotto il tuo controllo e non dipendono da piattaforme di terze parti.

Concetti fondamentali

Prima di procedere con l’installazione è utile conoscere i tre elementi principali su cui si basa Gotify:

  • Server: è il componente che riceve, archivia e distribuisce le notifiche ai client connessi.
  • Applicazioni (Apps): rappresentano le sorgenti delle notifiche. Ogni applicazione dispone di un token univoco utilizzato per autenticarsi e inviare messaggi al server.
  • Client: sono i dispositivi o le interfacce che ricevono le notifiche, come il browser web o l’app ufficiale per Android.

Requisiti

Per seguire questa guida avrai bisogno di:


Installazione

Per prima cosa verifica che Docker e Docker Compose siano installati eseguendo:

1
docker version && docker compose version

Se il comando restituisce la versione installata di entrambi i componenti, puoi proseguire con la guida:

Crea la directory che conterrà i dati persistenti di Gotify:

1
2
sudo mkdir -p /data/gotify
sudo chown "$USER":"$USER" /data/gotify

Spostati quindi all’interno della directory appena creata:

1
cd /data/gotify

Crea il file compose.yaml:

1
nano compose.yaml

Inserisci il seguente contenuto:

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

Salva il file con CTRL+O e esci con CTRL+X.

Avvia il container:

1
docker compose up -d

Verifica che il container sia in esecuzione:

1
docker compose ps


Configurazione

Avviato il container, apri il browser e accedi all’interfaccia web di Gotify. Nella barra degli indirizzi inserisci: http://INDIRIZZO_IP:8080 (dove 8080 è la porta che hai definito nel file compose.yaml):

Accedi con le credenziali predefinite:

Username: admin
Password: admin

Dopo il primo accesso modifica le credenziali predefinite dalla sezione Users, situata nell’angolo in alto a destra.

Invio di una notifica di prova

Per inviare notifiche è necessario creare almeno un’applicazione. Accedi alla sezione Apps, clicca su Create application e infine su Create.

Una volta creata, Gotify mostrerà il token dell’applicazione. Copialo, perché servirà per autenticare le richieste inviate al server.

Per verificare che tutto funzioni correttamente, torna sul terminale ed esegui il seguente comando, sostituendo INDIRIZZO_IP:8080 con l’indirizzo del tuo server:

1
2
3
4
curl "http://INDIRIZZO_IP:8080/message?token=<IL_TOKEN>" \
  -F "title=Test, ti piace il mio BLOG?" \
  -F "message=Ciao, giuxfila è bellissimo." \
  -F "priority=5"

Se la configurazione è corretta, la notifica comparirà immediatamente nella dashboard di Gotify:


Integrazione con Nginx Proxy Manager (opzionale)

Se hai installato un’istanza di Nginx Proxy Manager e disponi di un dominio, puoi configurare un reverse proxy per accedere a Gotify tramite HTTPS, evitando di esporre direttamente la porta 8080.

Crea un nuovo Proxy Host e configura i campi come mostrato nelle immagini seguenti.

Una volta salvata la configurazione, potrai accedere a Gotify dal browser utilizzando il tuo dominio, ad esempio:

1
https://gotify.dominio.com

Istanza pubblica Gotify

Se non hai un server o semplicemente vuoi iniziare a usare Gotify senza occuparti dell’installazione, puoi utilizzare gratuitamente la mia istanza pubblica.

Dovrai soltanto creare un account: al resto penserò io. Potrai inviare e ricevere notifiche push da script, applicazioni e servizi, proprio come con una tua installazione self-hosted.

👉🏻 Scopri di più 👈🏻