Cómo instalar la página de estado de Cachet en un servidor Ubuntu 24.04

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

En este tutorial, aprenderás a instalar y ejecutar Cachet en un servidor Ubuntu 24.04 con Docker. También instalarás y configurarás Nginx como proxy inverso y asegurarás Cachet con HTTPS mediante Certbot y Letsencrypt.

Requisitos previos

Para completar esta guía, asegúrate de que tienes

  • Un servidor Ubuntu 24.04.
  • Un usuario no root con privilegios de administrador.
  • Un nombre de dominio apuntando a la dirección IP del servidor.

Instalación del motor Docker

En esta guía, ejecutarás Cachet como un contenedor utilizando Docker. A continuación, instalarás Docker Engine en tu sistema Ubuntu.

En primer lugar, ejecuta el siguiente comando para instalar los paquetes ca-certificates y curl.

sudo apt install ca-certificates curl

Ahora ejecuta el siguiente comando para añadir la clave GPG para el repositorio Docker.

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ñade el repositorio Docker con lo siguiente:

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

setup docker repo

A continuación, actualiza el índice de paquetes de Ubuntu e instala Docker Engine con el siguiente comando apt. Introduce Y para confirmar la instalación.

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

instalar docker

Después de la instalación, el servicio Docker debería estar funcionando y habilitado en tu sistema Ubuntu.

Ejecuta el siguiente comando para comprobar el servicio Docker.

sudo systemctl is-enabled docker
sudo systemctl status docker

Verás una salida similar a la siguiente:

cheque docker

Configurar el usuario para ejecutar Docker

Tras instalar Docker, debes añadir tu usuario al grupo docker. Esto te permitirá ejecutar el contenedor como usuario no root.

Para añadir tu usuario al grupo docker, ejecuta el siguiente comando. Cambia el nombre de usuario por tu usuario.

sudo usermod -aG docker username

Ahora inicia sesión con tu usuario y ejecuta el comando docker para verificar tu configuración.

su - username
docker run hello-world

Si tu configuración es correcta, verás el mensaje Hola Mundo de Docker.

docker run hola mundo

Instalar Cachet con Docker

Ahora que has instalado Docker Engine y configurado tu usuario, descargarás el proyecto Cachet, configurarás el archivo docker-compose.yml, crearás imágenes y reconfigurarás el contenedor para Cachet, y luego ejecutarás Cachet como contenedor.

Descarga la versión docker de Cachet en el directorio cachet-docker y desplázate a él.

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

Edita el docker-compose.yml utilizando el editor nano.

nano docker-compose.yml

Cambia el puerto por defecto a 8000 tanto para el contenedor como para el host Docker.

ports:
 - 8000:8000

Guarda el archivo y sal.

Ahora ejecuta el siguiente comando docker para construir la imagen Cachet e iniciar el contenedor Cachet.

docker compose build
docker compose up

Durante el proceso de construcción, verás lo siguiente:

crear imagen de caché

Al iniciar el contenedor Cachet, obtendrás una salida como la siguiente:

construir contenedor

La primera vez que ejecutes Cachet, generará una nueva APP_KEY como la siguiente – Copia la APP_KEY y pulsa Ctrl+c para finalizar los contenedores Cachet.

app_clave

A continuación, edita de nuevo el archivo docker-compose.yml y sustituye la APP_KEY como se indica a continuación:

APP_KEY=base64:6ltZ62B69p6oxIVeQtf9jpX5BFvgUXU2qk5eXpw3OIQ=

Guarda el archivo y sal.

Ahora ejecuta el siguiente comando docker para eliminar los contenedores antiguos y los nuevos contenedores Cachet.

docker compose down
docker compose up -d

Por último, ejecuta el siguiente comando para comprobar los contenedores o servicios en ejecución.

docker compose ps

A continuación puedes ver que el contenedor Cachet se está ejecutando en el puerto 8000.

volver a ejecutar el contenedor

Configurar Nginx como proxy inverso

En esta guía, ejecutarás Cachet con Nginx como proxy inverso. Así que ahora instalarás Nginx y un nuevo bloque de servidor para un proxy inverso. Asegúrate de que tienes tu nombre de dominio preparado y apuntando a la dirección IP del servidor.

Para instalar el servidor web Nginx, ejecuta el siguiente comando apt. Introduce Y para proceder a la instalación.

sudo apt install nginx

instalar nginx

Una vez completada la instalación, crea un nuevo archivo de bloque del servidor Nginx /etc/nginx/sites-available/cachet.conf con el editor nano.

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

Pega la siguiente configuración y asegúrate de cambiar el estado.howtoforge.local por 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;
 }
}

Cuando hayas terminado, guarda el archivo y sal del editor.

Ahora ejecuta el siguiente comando para activar el archivo de bloqueo del servidor cachet.conf /y verifica la sintaxis de tu Nginx. Si la sintaxis es correcta, verás una prueba de salida – tiene éxito – la sintaxis es correcta.

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

configuración de nginx

Por último, ejecuta el siguiente comando systemctl para reiniciar el servicio Nginx y aplicar tus cambios. A continuación, comprueba el estado del servicio Nginx para asegurarte de que se está ejecutando.

sudo systemctl restart nginx
sudo systemctl status nginx

A continuación puedes ver que el servicio Nginx se está ejecutando como proxy inverso para la instalación de Cachet.

comprobar nginx

Asegurar Cachet con HTTPS

En este punto, Cachet se está ejecutando en un contenedor, y has configurado Nginx como proxy inverso para él. Para asegurar Cachet, generarás certificados SSL e implementarás HTTPS a través de Certbot y Letsencrypt.

Instala el plugin Certbot y Certbot Nginx utilizando el siguiente comando apt. Pulsa Y para confirmar la instalación.

sudo apt install certbot python3-certbot-nginx

Ahora ejecuta el siguiente comando certbot para generar certificados SSL y asegurar Cachet con HTTPS. Asegúrate de cambiar el nombre de dominio y la dirección de correo electrónico con tu información.

sudo certbot --nginx

Una vez finalizado el proceso, tus certificados SSL estarán disponibles en el directorio /etc/letsencrypt/live/domain.com y tu instalación de Cachet debería estar asegurada con HTTPS.

Instalación de Cachet

Visita tu nombre de dominio Cachet, como https://status.howtoforge.local/, utilizando tu navegador web preferido. verás el asistente de instalación.

En la sección Configuración del entorno, selecciona por defecto Cachet, Cola y Sesión como Base de datos e introduce tus datos SMTP.

configuración del entorno

Crea tu primera página de estado y haz clic en Siguiente para continuar.

crear la primera página

Introduce el nuevo usuario administrador, la dirección de correo electrónico y la contraseña para tu instalación de Cachet.

configuración administrativa

Una vez finalizada la instalación, verás un mensaje Cachet se ha configurado correctamente. A continuación, haz clic en Ir al panel de control para acceder a Cachet.

instalar correctamente

Introduce tu usuario y contraseña de administrador y haz clic en Iniciar sesión.

inicio de sesión

Si tienes las credenciales correctas, verás el panel de Cachet como el siguiente:

salpicadero

Conclusión

¡Enhorabuena! Has completado la instalación de la página de estado de Cachet en un servidor Ubuntu 24.04 con Docker. Has configurado Nginx como proxy inverso para Cachet y asegurado Cachet con HTTPS mediante Certbot y Letsencrypt. Ahora puedes añadir y supervisar tus sitios web o servicios con Cachet y configurar notificaciones adicionales con direcciones de correo electrónico, etc.

También te podría gustar...