Healthchecks

Open-source cron job and background task monitoring service, written in Python & Django.

Acceso

  • Abre tu navegador y visita: https://<SERVER_IP>
  • A browser SSL warning is expected (self-signed certificate)

Create Admin Account

Before logging in, you must create an admin account.

Run the following command:

docker exec -it healthchecks /opt/healthchecks/manage.py createsuperuser

Follow the prompts to enter:

  • Email address
  • Contraseña

Once completed, you can log in using the newly created credentials.

Archivos y directorios importantes

  • Directorio de instalación: /root/healthchecks
  • Archivo de medio ambiente: /root/healthchecks/.env
  • Archivo Docker Compose: /root/healthchecks/docker-compose.yml
  • SQLite database: /var/lib/docker/volumes/healthchecks_healthchecks-data/_data
  • Configuración del sitio Nginx: /etc/nginx/sites-available/healthchecks
  • Enabled site: /etc/nginx/sites-enabled/healthchecks
  • Certificados SSL: /etc/nginx/ssl/fullchain.pem, /etc/nginx/ssl/privkey.pem
  • Admin credentials: /root/.cloudzy-creds

Manage the Stack

cd /root/healthchecks

# Start services
docker compose up -d

# Stop services
docker compose down

# Restart services
docker compose restart

# View logs
docker compose logs -f

Email Settings Configuration (Optional)

Email configuration is required to enable notifications (e.g., alerts, reports).

Ensure SMTP connections are allowed on this server. Request SMTP access if it is currently disabled.

Edit the environment file:

nano /root/healthchecks/.env

Uncomment and configure the following variables with your SMTP provider details:

# DEFAULT_FROM_EMAIL=fixme-email-address-here
# EMAIL_HOST=fixme-smtp-host-here
# EMAIL_HOST_PASSWORD=fixme-smtp-password-here
# EMAIL_HOST_USER=fixme-smtp-username-here
# EMAIL_PORT=587
# EMAIL_USE_TLS=True

Apply the changes by restarting the service:

docker compose up -d

Enabling SSL with a Domain (Optional)

1. Dirija su dominio a la IP del servidor.

2. Edit .env to set your domain as SITE_ROOT: SITE_ROOT=https://yourdomain.com

3. Recrear los servicios:

cd /root/healthchecks/
docker compose up -d

4. Edita la configuración de Nginx y sustituye ambos server_name <IP>; con tu dominio (<yourdomain.com>) tanto para bloques HTTP (puerto 80) como HTTPS (puerto 443):

vim /etc/nginx/sites-available/healthchecks

5. Instalar Certbot:

apt install -y certbot python3-certbot-nginx

6. Ejecute el siguiente comando para generar un certificado Let's Encrypt válido:

certbot certonly --nginx --non-interactive --agree-tos --email [email protected] -d yourdomain.com

7. Reemplazar las rutas SSL en la configuración de Nginx (sección TLS):

vim /etc/nginx/sites-available/healthchecks
# Before:
    # ssl_certificate /etc/nginx/ssl/fullchain.pem;
    # ssl_certificate_key /etc/nginx/ssl/privkey.pem;
# After:
    # ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
    # ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;

8. Reinicie Nginx para aplicar los cambios:

systemctl restart nginx

9. Abra su navegador y visite: https://yourdomain.com

Detalles de la solicitud