Healthchecks

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

Accès

  • Ouvrez votre navigateur et rendez-vous sur : https://<SERVER_IP>
  • Un avertissement SSL du navigateur est à prévoir (certificat auto-signé)

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
  • Mot de passe

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

Fichiers et répertoires importants

  • Répertoire d'installation : /root/healthchecks
  • Fichier environnement : /root/healthchecks/.env
  • Fichier Docker Compose : /root/healthchecks/docker-compose.yml
  • SQLite database: /var/lib/docker/volumes/healthchecks_healthchecks-data/_data
  • Configuration du site Nginx : /etc/nginx/sites-available/healthchecks
  • Enabled site: /etc/nginx/sites-enabled/healthchecks
  • Certificats SSL : /etc/nginx/ssl/fullchain.pem, /etc/nginx/ssl/privkey.pem
  • Admin credentials: /root/.cloudzy-creds

Gérer la pile

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. Pointez votre domaine vers l'adresse IP du serveur.

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

3. Recréer les services :

cd /root/healthchecks/
docker compose up -d

4. Modifiez la configuration Nginx et remplacez les deux server_name <IP>; avec votre domaine (<yourdomain.com>) pour les blocs HTTP (port 80) et HTTPS (port 443) :

vim /etc/nginx/sites-available/healthchecks

5. Installez Certbot :

apt install -y certbot python3-certbot-nginx

6. Exécutez la commande suivante pour générer un certificat Let's Encrypt valide :

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

7. Remplacer les chemins SSL dans la configuration Nginx (section 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. Redémarrez Nginx pour appliquer les modifications :

systemctl restart nginx

9. Ouvrez votre navigateur et rendez-vous sur : https://yourdomain.com

Détails de la demande