Gestiona tu biblioteca digital con estanterías inteligentes, sincronización con Kobo y KOReader, importación automática y lector integrado, todo desplegado fácilmente en Docker.


Kuvasz Uptime es una herramienta open source diseñada para monitorizar la disponibilidad y el estado de tus servicios, aplicaciones o sitios web. Su principal objetivo es ofrecer un sistema ligero, moderno y fácil de desplegar para comprobar si un servicio está en línea y notificarte en caso de caída.

A diferencia de otras soluciones más complejas de monitorización, Kuvasz Uptime apuesta por la simplicidad y la rapidez: en pocos minutos puedes ponerlo en marcha y empezar a recibir estadísticas y alertas. Además, al ser software libre, puedes adaptarlo a tus necesidades y alojarlo en tu propia infraestructura, garantizando el control total sobre tus datos y tu privacidad.

Características de Kuvasz Uptime

  • 🌐 Monitorización HTTP(S): controla la disponibilidad y el rendimiento de tus sitios web y servicios mediante peticiones HTTP(S).
  • 🔑 Monitorización de certificados SSL: verifica automáticamente los certificados SSL de tus servicios para asegurarte de que son válidos y no han caducado.
  • 🔔 Notificaciones por monitor: configura diferentes canales de notificación para cada monitor y adapta las alertas a tus necesidades.
  • 📢 Páginas de estado: crea páginas públicas o privadas para informar a tus usuarios o a tu equipo sobre el estado de los servicios.
  • 🖥️ Interfaz moderna: Kuvasz cuenta con una interfaz responsive, moderna y fácil de usar para gestionar tus monitores.
  • ⚙️ API REST completa: administra tus monitores, consulta su estado y más mediante una potente API.
  • 📊 Exportación de métricas: exporta tus métricas a OpenTelemetry y Prometheus para una mejor observabilidad e integración con tu stack de monitorización.
  • 🚀 Más en camino: Kuvasz está en desarrollo activo, y se planean nuevas funciones como monitorización ICMP, monitores de latido (heartbeat) y mucho más.

Pasos previos

Antes de comenzar con la instalación, asegúrate de cumplir con los siguientes requisitos:

  • 💻 Servidor con Debian 12 como sistema operativo base.
  • 🔐 Acceso SSH al servidor.
  • 🧑‍💻 Permisos de superusuario (root) o capacidad para ejecutar comandos con sudo.

Instalación de Docker

Para la instalación de Kuvasz Uptime utilizaremos Docker, para ello tendremos que instalar Docker en nuestro servidor:

Instalación de Docker en Debian 12
Docker es una aplicación que simplifica el proceso de gestión de los procesos de las aplicaciones en contenedores. Los contenedores le permiten ejecutar sus aplicaciones en procesos aislados de recursos.

Instalación de Kuvasz Uptime

Primero tendremos que crear los directorios necesarios para Kuvasz Uptime, para ello ejecutaremos los siguientes comandos que crearán todos los directorios dentro de /opt:

mkdir -p /opt/kuvaszuptime/data
touch /opt/kuvaszuptime/kuvasz.yml

Seguimos con la instalación, accediendo al directorio de la instalación y creando el fichero para el docker-compose.yml:

cd /opt/kuvaszuptime
touch docker-compose.yml
nano docker-compose.yml

Dentro del fichero copiamos lo siguiente:

services:
  kuvasz-db:
    image: postgres:17-alpine
    container_name: kuvaszdb
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: postgres 
      TZ: 'UTC' 
    volumes:
      - /opt/kuvaszuptime/data:/var/lib/postgresql/data 
  kuvasz:
    image: kuvaszmonitoring/kuvasz:latest
    container_name: kuvasz
    mem_limit: 384M # optional 
    ports:
      - "8080:8080"
    environment:
      TZ: 'UTC' 
      DATABASE_HOST: kuvaszdb 
      DATABASE_USER: postgres 
      DATABASE_PASSWORD: postgres 
      ADMIN_USER: YourSuperSecretUsername # change it
      ADMIN_PASSWORD: YourSuperSecretPassword # change it
      ADMIN_API_KEY: ThisShouldBeVeryVerySecureToo # change it
    volumes:
      - /opt/kuvaszuptime/kuvasz.yml:/config/kuvasz.yml 
    depends_on:
      - kuvasz-db
volumes:
  kuvasz-db-data:
💡
Recuerda de modificar las contraseñas de las variables ADMIN_USER, ADMIN_PASSWORD, ADMIN_API_KEY por unas contraseñas seguras.

En el fichero YAML que hemos creado bajo el nombre de kuvasz.yml podemos añadir configuración necesaria, como por ejemplo la configuración de SMTP para recibir avisos:

smtp-config:
  host: 'your.smtp.server'
  port: 465
  transport-strategy: SMTP_TLS
  username: YourSMTPUsername
  password: YourSMTPPassword

Tienes toda la información del fichero de configuración en la documentación oficial.

Tras estos cambios, ya podemos iniciar los contenedores:

docker compose up -d

Y tras descargar todo, podemos visualizar que se ha instalado:

# docker ps --format "table {{.ID}} {{.Image}} {{.Status}} {{.Names}}"

CONTAINER ID IMAGE STATUS NAMES
a8fc6b28c2d3 kuvaszmonitoring/kuvasz:latest Up 1 second kuvasz
9298ca2f488f postgres:17-alpine Up 1 second kuvaszdb

Configuración de Proxy Nginx

Como la aplicación se encuentra escuchando en un puerto local (6060), necesitaremos configurar un Proxy inverso con Nginx para poder acceder a ella mediante un dominio.

Para ello, puedes seguir este tutorial donde encontrarás todos los pasos detallados:

Configurar Proxy Inverso con Nginx para que escuche a un puerto interno
En ocasiones tenemos servicios o aplicaciones web que escuchan directamente a un puerto interno. Para evitar acceder a dicha aplicación o servicio por la IP del servidor, una configuración que podemos hacer es acceder desde un Nginx Proxy.
💡
Si has configurado el proxy Nginx utilizando solo HTTP, te recomendamos dar el siguiente paso y habilitar HTTPS para asegurar las conexiones. Si solo necesitas generar un certificado SSL, puedes seguir este tutorial donde se explica cómo hacerlo paso a paso: Instalación de certificado SSL con certbot

Primer contacto con la aplicación

Una vez que hemos levantado el servidor y configurado correctamente el dominio a través de Nginx Proxy, ya podemos acceder a la aplicación desde nuestro navegador utilizando el dominio o subdominio que hayamos definido.

Iniciaremos sesión con el administrador configurado en el docker-compose.yml:

Añadimos un monitor nuevo para revisar el SSL:


Más sobre ./voidNull

Haz que cada palabra cuente: tu donación nos inspira a seguir creando contenido. Accede al apartado de Donación para hacer tu aportación