Healthchecks

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

Accesso

  • Apri il browser e 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
  • Password

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

File e directory importanti

  • Directory di installazione: /root/healthchecks
  • File ambiente: /root/healthchecks/.env
  • File Docker Compose: /root/healthchecks/docker-compose.yml
  • SQLite database: /var/lib/docker/volumes/healthchecks_healthchecks-data/_data
  • Configurazione del sito Nginx: /etc/nginx/sites-available/healthchecks
  • Enabled site: /etc/nginx/sites-enabled/healthchecks
  • Certificati 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. Indirizza il tuo dominio all'IP del server.

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

3. Ricreare i servizi:

cd /root/healthchecks/
docker compose up -d

4. Modifica la configurazione di Nginx e sostituisci entrambi server_name <IP>; con il tuo dominio (<yourdomain.com>) sia per i blocchi HTTP (porta 80) che HTTPS (porta 443):

vim /etc/nginx/sites-available/healthchecks

5. Installa Certbot:

apt install -y certbot python3-certbot-nginx

6. Esegui il seguente comando per generare un certificato Let's Encrypt valido:

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

7. Sostituire i percorsi SSL nella configurazione Nginx (sezione 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. Riavvia Nginx per applicare le modifiche:

systemctl restart nginx

9. Apri il browser e visita: https://yourdomain.com

Dettagli dell'applicazione