Instalación · 7 min read · Oct 26, 2025

Cómo instalar el sistema de página de estado Cachet en Debian 12

Cachet es un sistema de página de estado de código abierto escrito en PHP. Te permite monitorear el tiempo de inactividad y fallos del sistema en tu infraestructura. Cachet proporciona API JSO, incluso informes, métricas, múltiples métodos de notificación y autenticación de dos factores.

En el siguiente tutorial, te mostraremos cómo instalar la página de estado de Cachet en un servidor Debian 12. Ejecutarás Cachet como un contenedor Docker con la base de datos PostgreSQL y el servidor web Nginx.

Requisitos previos

Antes de continuar, asegúrate de tener lo siguiente:

  • Un servidor Debian 12.
  • Un usuario no root con privilegios sudo.
  • Un UFW instalado y configurado.
  • Un nombre de dominio apuntando a una dirección IP del servidor.

Instalación del motor Docker

En este ejemplo, instalarás Cachet como un contenedor a través de Docker. Así que necesitas instalar el motor Docker en tu sistema Debian. En este ejemplo, usarás los paquetes oficiales del motor Docker.

Primero, ejecuta el siguiente comando para instalar los paquetes curl y ca-certificates.

sudo apt install ca-certificates curl -y

Ahora agrega la clave GPG para el repositorio de Docker ejecutando el siguiente comando.

sudo install -m 0755 -d /etc/apt/keyrings  
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc  
sudo chmod a+r /etc/apt/keyrings/docker.asc

A continuación, agrega el repositorio del motor Docker para el sistema Debian usando el siguiente comando.

echo \  
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \  
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \  
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Una vez que se haya agregado el repositorio de Docker, actualiza y refresca tu índice de paquetes con el siguiente comando.

sudo apt update

add repo

Ahora instala el motor Docker en tu sistema con el siguiente comando. Escribe Y para confirmar la instalación.

sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

install docker

Después de que la instalación esté completa, el servicio Docker debería estar ejecutándose automáticamente. Verifica el estado del servicio Docker con el siguiente comando.

sudo systemctl status docker

Verás la salida en ejecución como la siguiente:

check docker

Para asegurarte de que tu usuario puede ejecutar y correr el contenedor, debes agregarlo al grupo docker con el siguiente comando.

sudo usermod -aG sudo alice

Por último, inicia sesión como tu usuario y ejecuta el comando docker a continuación para ejecutar un contenedor hello-world.

su - alice  
docker run hello-world

Si tu configuración es exitosa, deberías obtener la salida ‘Hello Docker’ como la siguiente:

docker hello-world

Ejecutando Cachet con Docker y la base de datos PostgreSQL

Después de haber instalado Docker, necesitas descargar el proyecto Cachet y configurar tu instalación. En este caso, instalarás y ejecutarás Cachet como un usuario no root con un contenedor Docker.

Descarga el proyecto Cachet en el directorio cachet-docker y entra en él.

git clone https://github.com/cachethq/Docker.git cachet-docker  
cd cachet-docker

Abre el archivo docker-compose.yml usando el siguiente comando del editor nano.

nano docker-compose.yml

Cambia el puerto de host predeterminado a 8000 como el siguiente. También puedes personalizar los detalles de la base de datos con tu información y dejar la versión predeterminada de Cachet como 2.4 por ahora.

 ports:  
 - 8000:8000

Guarda el archivo y sal.

Ahora ejecuta los siguientes comandos de docker para construir tu imagen de Cachet y ejecutar contenedores tanto para Cachet como para PostgreSQL.

docker compose build  
docker compose up

A continuación, puedes ver la captura de pantalla de cuando se construye la imagen de Docker para Cachet.

docker byuild

A continuación se muestra la captura de pantalla al ejecutar contenedores/servicios tanto para Cachet como para PostgreSQL.

container running

En los registros detallados del contenedor Cachet, encontrarás un error sobre la configuración de APP_KEY. Copia el APP_KEY generado y presiona Ctrl+c para terminar los contenedores.

A continuación, vuelve a abrir el archivo docker-compose.yml usando el editor nano.

nano docker-compose.yml

Cambia el parámetro APP_KEY predeterminado como el siguiente. Asegúrate de incluir la cadena base64.

APP_KEY=base64:WfKUhY0wAOyr5hkxoctZUSWPGdXbBUWFvNLCoI7kTU8=

Guarda el archivo y sal.

Ahora ejecuta el comando docker a continuación para terminar los contenedores de Cachet y PostgreSQL, y luego inícialo nuevamente.

docker compose down  
docker compose up -d

Una vez que los contenedores se inicien, verifica la lista de contenedores en ejecución usando el siguiente comando.

docker compose ps

Como puedes ver a continuación, ambos contenedores de Cachet y PostgreSQL están en ejecución. El contenedor de Cachet se está ejecutando en el puerto 8000.

Configurar Nginx como un proxy inverso

Ahora que Cachet se está ejecutando como un contenedor en el puerto 8000, instalarás y configurarás Nginx como un proxy inverso para Cachet.

Instala Nginx en tu servidor Debian usando el siguiente comando.

sudo apt install nginx -y

install nginx

Una vez que la instalación esté completa, crea una nueva configuración de bloque de servidor Nginx /etc/nginx/sites-available/cachet usando el siguiente comando del editor nano.

sudo nano /etc/nginx/sites-available/cachet

Inserta la configuración a continuación y asegúrate de cambiar el parámetro server_name con tu nombre de dominio.

server {  
 listen 80;  
 server_name status.howtoforge.local;  
 location / {  
 proxy_pass http://127.0.0.1:8000;  
 proxy_set_header Host $host;  
 proxy_set_header X-Real-IP $remote_addr;  
 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  
 proxy_set_header X-Forwarded-Proto $scheme;  
 }  
}

Guarda el archivo y sal del editor.

A continuación, ejecuta el comando Nginx a continuación para activar el bloque del servidor Cachet y verificar la sintaxis de Nginx. Si tienes una sintaxis correcta, deberías obtener una salida ‘syntax is ok‘.

sudo ln -s /etc/nginx/sites-available/cachet /etc/nginx/sites-enabled/  
sudo nginx -t

Por último, reinicia el servidor web Nginx para aplicar la configuración del bloque del servidor Cachet y verifica el servicio Nginx para asegurarte de que está en funcionamiento.

sudo systemctl restart nginx  
sudo systemctl status nginx

Si Nginx está en funcionamiento, deberías obtener una salida active(running).

check nginx

Configurando UFW (Firewall sin complicaciones)

Antes de acceder a Cachet, debes asegurarte de que se permiten los puertos HTTP y HTTPS. En Ubuntu, permitirás el tráfico tanto para HTTP como para HTTPS a través de UFW (Firewall sin complicaciones).

Asegúrate de que UFW esté habilitado, ahora ejecuta el siguiente comando para habilitar el perfil ‘Nginx Full‘ en UFW. Esto permitirá el tráfico para ambos protocolos HTTP y HTTPS a tu servidor web Nginx.

sudo ufw allow 'Nginx Full'

Ahora verifica tu lista de reglas habilitadas en UFW con el siguiente comando.

sudo ufw status

Verás que el perfil ‘Nginx Full‘ está habilitado en UFW.

setup ufw

Asegurando Cachet con HTTPS

En este punto, tu Cachet debería ser accesible a través de Nginx. Para asegurar tu instalación, habilitarás HTTPS para Cachet a través de SSL de Letsencrypt.

Así que ejecuta el siguiente comando para instalar Certbot y el complemento Certbot Nginx. Ingresa Y para confirmar la instalación.

sudo apt install certbot python3-nginx-certbot

Una vez que la instalación esté completa, ejecuta el comando certbot a continuación para generar certificados SSL/TLS para tu instalación de Cachet. Asegúrate de cambiar los detalles del nombre de dominio y la dirección de correo electrónico con tu información.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d status.howtoforge.local

Después de que todo esté completo, tus certificados SSL/TLS deberían estar almacenados en el directorio /etc/lestencrypt/live/status.howtoforge.local. Además, tu Cachet debería estar asegurado a través de HTTPS.

Instalando Cachet

Lanza tu navegador web preferido y visita tu instalación de Cachet https://status.howtoforge.local/. Si tu instalación es exitosa, deberías obtener la siguiente página.

Selecciona el Controlador de Caché, Controlador de Cola y Controlador de Sesión predeterminados a Base de datos. Luego, ingresa los detalles de tu servidor de correo.

Haz clic en Siguiente para continuar.

setup cachet

Ahora configura el nombre de la página de estado, la zona horaria predeterminada y el idioma predeterminado. Luego haz clic en Siguiente nuevamente.

setup language

Ahora crea un nuevo usuario administrador para Cachet escribiendo tu nombre de usuario, correo electrónico y contraseña. Luego, haz clic en Completar configuración para confirmar.

setup admin

Una vez completado, verás lo siguiente: haz clic en Ir al panel de control.

complete installation

Inicia sesión en Cachet con tu nombre de usuario y contraseña, luego haz clic en Iniciar sesión.

login

Si tu instalación es exitosa, deberías obtener el panel de control de Cachet como el siguiente:

dashboard

Conclusión

¡Felicidades! Ahora has instalado la página de estado de Cachet en el servidor Debian 12 con Docker. Tu instalación de Cachet está funcionando con una base de datos PostgreSQL y un servidor web Nginx. Ahora puedes monitorear tus sitios usando Cachet.

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.