Installazione e Configurazione Base di Uptime-Kuma su Ubuntu Server 24.04

da | Set 8, 2025

 

Quando si gestisce un sito web, un servizio API o un server casalingo, sapere se e quando qualcosa va offline è fondamentale.

Uptime-Kuma è una soluzione open-source semplice, leggera e potente per il monitoraggio dell’uptime dei tuoi servizi, completamente self-hosted e altamente personalizzabile.

In questo articolo vedremo come installare e configurare Uptime-Kuma su Ubuntu Server 24.04, l’ultima versione LTS del sistema operativo Linux di Canonical.

Grazie alla sua interfaccia intuitiva e al supporto per notifiche via Telegram, Discord, e-mail e molti altri canali, Uptime-Kuma è lo strumento ideale per chi vuole tenere sotto controllo i propri servizi in modo elegante e senza costi.

Che tu stia utilizzando un VPS, un Raspberry Pi, o un server fisico, questa guida ti accompagnerà passo dopo passo nell’installazione e nella configurazione iniziale, con un focus sulla praticità e sulla sicurezza.

PREREQUISITI

Un server Ubuntu 24.04
Accesso SSH con privilegi root

CREAZIONE UTENZA DI SISTEMA

Come prima cosa creare un utenza di sistema con il comando:

Successivamente eseguire il comando seguente per aggiungere il nuovo utente al gruppo sudo.

Una volta creati e dati i privilegi sudo, possiamo accedere come nuovo utente serviceuser e utilizzeremo questo utente per eseguire i comandi e completare l’installazione di Uptime Kuma.

INSTALLAZIONE DI NODEJS E NPM

Kuma richiede l’ambiente di runtime NodeJS e npm. Possiamo installare NodeJS dal repository predefinito di Ubuntu, ma otterremo una versione precedente di NodeJS se utilizziamo questo metodo e Uptime Kuma richiede almeno NodeJS versione 14. In questo passaggio, installeremo NodeJS e npm tramite il repository NodeJS per ottenerne la versione più recente.

Eseguire il comando:

Una volta completato, dobbiamo scaricare le informazioni sul pacchetto dalla fonte appena aggiunta sopra.

Quindi, eseguire il seguente comando per installare finalmente NodeJS e NPM.

È possibile verificare la versione installata di NodeJs e NPM eseguendo questa riga:

Dovremmo visualizzare un output come questo:

INSTALLAZIONE DI UPTIME KUMA

Uptime Kuma non è disponibile nel repository Ubuntu predefinito. Possiamo installarlo scaricandolo da GitHub usando git.

Dopo l’installazione di git, possiamo continuare a clonare Uptime Kuma dal suo repository GitHub con i seguenti comandi:

È il momento di eseguire l’installazione utilizzando il gestore di pacchetti NPM di Nodejs con il comando:

Dovremmo visualizzare il seguente output:

Possiamo procedere con l’aggiornamento alla versione 11.5.2 con il comando:

INSTALLAZIONE DI PM2

Con Process Manager (PM2), possiamo mantenere in vita le nostre applicazioni per sempre, ricaricarle senza tempi di inattività e facilitare le comuni attività di amministrazione del sistema.

Eseguire il comando seguente per installare PM2 su Ubuntu 24.04.

Una volta installato pm2 eseguire il nostro Uptime Kuma con questo comando.

Dovremmo visualizzare il seguente output:

A questo punto aprire una qualsiasi browser web e richiamare l’indirizzo http://TUO_SERVER_IP_ADDRESS:3001

Dovremmo vedere la pagina di benvenuto di Kuma uptime come mostrato nell’immagine sovrastante

Selezionare la lingua quindi creare un account con relativa password e cliccare Create

Se è andato tutto a buon fine dovremmo visualizzare la Dashboard di Uptime-Kuma

AUTOMAZIONE DEI SERVIZI

Dopo aver avviato Uptime Kuma creare un file di servizio per PM2 per fare in modo che Uptime Kuma si avvii automaticamente al riavvio.

Eseguire il comando:

Dovremmo visualizzare un output come questo:

Basta seguire le istruzioni mostrate sullo schermo ed eseguire il comando:

Dovremmo visualizzare un output come questo:

A questo punto salvare l’attuale processo in corso con il comando:

Dovremmo visualizzare il seguente output:

CONFIGURAZIONE DEL MONITORAGGIO

Collegarsi alla Dashboard di Uptime Kuma

Cliccare su Add New Monitor

Di seguito trovi un elenco completo e aggiornato al 2025 delle principali opzioni disponibili con una breve descrizione per ciascuna.

🖥️ SEZIONE: Tipo di monitoraggio

Quando clicchi su “Aggiungi nuovo monitor”, la prima scelta è:

Tipo di monitor

Seleziona il metodo di monitoraggio tra:

  • HTTP(s): Controlla la disponibilità di un sito web via HTTP o HTTPS.
  • TCP Port: Controlla se una porta TCP (es. 22, 80, 443) risponde su un host.
  • Ping: Usa ICMP per vedere se un host è raggiungibile.
  • DNS: Controlla se una query DNS restituisce un valore atteso.
  • Push: Aspetta che il monitor venga attivato da una chiamata esterna (es. webhook).
  • Steam Game Server: Monitora server di gioco compatibili (es. CS:GO, TF2, etc.).
  • MQTT: Verifica se un broker MQTT risponde (utile per IoT).
  • Docker: Controlla se un container Docker è attivo.
  • WebSocket: Monitora la connessione a un endpoint WebSocket.
  • HTTP Keyword: Come HTTP(s), ma cerca una parola chiave specifica nella risposta.
  • Radius: Monitora server RADIUS.
  • GRPC: Monitora servizi GRPC

🛠️ SEZIONE: Impostazioni comuni (variano a seconda del tipo)

Ecco le impostazioni principali che puoi configurare per ogni monitor:

  • Nome: Etichetta visibile nella dashboard.
  • URL / Host / IP: L’indirizzo del server/servizio da monitorare (es. https://example.com, 192.168.1.100).
  • Porta: (solo per TCP, Docker, MQTT, ecc.) Specifica la porta da monitorare.
  • Intervallo (Heartbeat Interval): Tempo in secondi tra un controllo e il successivo. (Default: 60s, minimo consigliato: 20s)
  • Timeout: Tempo massimo di attesa per una risposta. (Es: se dopo 10s il sito non risponde, risulta “Down”)
  • Ritardi nei tentativi falliti (Retries): Quanti tentativi devono fallire prima di dichiarare un “Down”.
  • Parola chiave: (solo in HTTP Keyword): parola/frase da cercare nella risposta.
  • Header HTTP personalizzati: Puoi aggiungere intestazioni HTTP (es. User-Agent, Authorization).
  • Metodo HTTP: GET, POST, PUT, ecc. (utile se fai health check customizzati).
  • Corpo della richiesta: Per i metodi POST/PUT, puoi specificare un corpo (es. JSON).
  • Certificato SSL: Può verificare la validità e scadenza del certificato SSL (HTTPS).
  • Ignora Errori SSL: Può forzare la connessione anche se il certificato non è valido.

📣 SEZIONE: Notifiche

Notificatori (Notification Channels): Seleziona a quali canali inviare notifiche (Telegram, Discord, email, etc.).

Configurabili da Impostazioni > Notifiche.

📨 Tipologie di notifiche supportate

  • Email (SMTP): Invia una email via server SMTP.
  • Telegram: Invia messaggi a un bot/utente/gruppo su Telegram.
  • Discord: Invia messaggi a un canale Discord via Webhook.
  • Slack: Invia notifiche a Slack via Webhook.
  • Microsoft Teams: Notifiche in canali Teams via webhook.
  • Webhooks: Notifica generica verso qualsiasi URL con payload personalizzato.
  • Gotify: Sistema di notifiche self-hosted.
  • Pushover: Notifiche su dispositivi mobili via app Pushover.
  • Pushbullet: Notifiche push su PC e dispositivi mobili.
  • Lark (Feishu): Notifiche su piattaforma di messaggistica asiatica (simile a Slack).
  • Line Notify: Notifiche push su Line (app asiatica di messaggistica).
  • Mattermost: Invia messaggi a un canale Mattermost.
  • Google Chat: Notifiche a spazi Google Chat.
  • Signal: Invia notifiche su Signal tramite bridge (come ntfy.sh o signal-cli).
  • Matrix: Invia messaggi a stanze Matrix.
  • Zulip: Piattaforma di chat simile a Slack, open-source.
  • ntfy.sh: Notifiche via pubblicazione su server ntfy.sh (pubblico o self-hosted).
  • SMS (via Twilio): Invia SMS tramite API Twilio.
  • DingTalk: Messaggistica aziendale cinese.
  • Rocket.Chat: Alternativa self-hosted a Slack.
  • Opsgenie: Servizio di gestione incidenti (monitoring professionale).
  • PagerDuty: Integrazione per alert professionali e DevOps.
  • Prometheus AlertManager: Notifiche verso Prometheus Alertmanager.
  • LunaSea: Sistema per ricevere notifiche su media server.
  • Apprise URL: Supporto per moltissimi servizi via Apprise.
  • Email (Sendmail): Notifica via sendmail locale invece di SMTP.
  • Bark: Notifiche push su dispositivi Apple (via app Bark).
  • WeCom (WeChat Work): Versione aziendale di WeChat.
  • Home Assistant: Notifica via webhook o script su Home Assistant.
  • iGot: Notifica push asiatica via API.
  • SMS (Custom URL): Invia SMS via servizio personalizzato (definisci l’URL API).

🧠 SEZIONE: Avanzate / Condizionali

Avvia disattivato: Aggiungi il monitor ma senza attivarlo subito.

  • Resend Down Notification: Invia nuovamente una notifica se il servizio resta giù per molto tempo.
  • Heartbeat Retry Strategy: (per Push monitors): strategie su come considerare un heartbeat “fallito”.
  • Tag: Categorie o etichette personalizzate per organizzare i monitor.

Cliccare Save dopo aver impostato tutto

Dovremmo visualizzare una schermata come quella sovrastante con il monitoraggio attivo del sito inserito

A questo punto è possibile inserire tutto ciò che desideriamo monitorare…

🧠 Considerazioni generali su Uptime Kuma

 

✅ Punti di forza

  • Open-source e gratuito
  • Nessun costo di licenza.
  • Attivamente sviluppato dalla community (GitHub).
  • Codice leggibile, modificabile, auditabile.
  • Interfaccia moderna e intuitiva
  • Dashboard pulita e responsive.
  • Grafici chiari, cronologia dello stato, uptime %.
  • Ideale anche per utenti non esperti.
  • Ampio supporto di protocolli: HTTP/HTTPS, ping, TCP, DNS, WebSocket, MQTT, Docker, GRPC, e altri.
  • Copre la maggior parte dei casi d’uso reali (server, API, IoT, giochi, etc.).
  • Notifiche versatili
  • Supporta Telegram, Discord, Slack, e moltissimi altri.
  • Anche via Webhook o API personalizzate (ottimo per DevOps).
  • Facile da deployare
  • Compatibile con Docker, Raspberry Pi, VPS, bare-metal.
  • Setup in pochi minuti.
  • Basso impatto sulle risorse
  • Consuma poca CPU e RAM.
  • Può girare anche su sistemi embedded.

 

⚠️ Limiti e considerazioni

  • Non è un sistema di monitoraggio “enterprise”
  • Non offre monitoraggio SNMP, metriche di sistema, tracing distribuito, etc.
  • Non è pensato per ambienti complessi con centinaia di nodi e metriche avanzate (come Prometheus, Zabbix o Nagios).
  • Non fa analisi delle performance
  • Uptime Kuma verifica la disponibilità, ma non misura il tempo di risposta dettagliato, il carico del server, o la saturazione delle risorse.
  • Database integrato semplice
  • Usa SQLite (o eventualmente PostgreSQL), non ottimale per grandi quantità di dati nel lungo periodo (ma sufficiente per la maggior parte dei casi).
  • Backup e scalabilità
  • Il backup va gestito manualmente (o tramite snapshot Docker).
  • Non ha clustering o failover: è pensato per ambienti singoli.

🧩 Quando è la scelta giusta?

 

✅ Perfetto se:

  • Vuoi sapere se il tuo sito o servizio è online.
  • Hai una piccola/media infrastruttura.
  • Ti serve un’alternativa semplice a servizi commerciali (come UptimeRobot, StatusCake, Pingdom).
  • Cerchi qualcosa di self-hosted, privato e controllabile.

 

❌ Non adatto se:

  • Hai bisogno di monitorare l’intero stato di salute di un server (CPU, RAM, disco, log).
  • Stai costruendo una piattaforma di monitoring per decine di team e microservizi complessi.

Articoli Recenti

Veeam Backup

Monitoring

Friends

  • My English Lab  English School
  • ChrSystem   Servizi ICT
  • Since 01  Kreative Graphics

Database

Networking

Autori

  • Raffaele Chiatto  Amministratore
  • Marco Valle  Autore
  • Angelo Lauria  Autore
  • Edoardo Prot  Autore
  • Davide D’Urso  Autore
Raffaele Chiatto

Raffaele Chiatto

Sono Raffaele Chiatto, un appassionato di informatica a 360 gradi. Tutto è iniziato nel 1996, quando ho scoperto il mondo dell'informatica grazie a Windows 95, e da quel momento non ho più smesso di esplorare e imparare. Ogni giorno mi dedico con curiosità e passione a scoprire le nuove frontiere di questo settore in continua evoluzione.

Related Post

0 commenti

Invia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Virtualizzazione

Linux

Microsoft

Apple

Backup

Database

Security

Automazione