Healthchecks

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

Přístup

  • Otevřete prohlížeč a navštivte: https://<SERVER_IP>
  • Očekává se, že se v prohlížeči zobrazí varování týkající se SSL (certifikát s vlastním podpisem)

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
  • Heslo

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

Důležité soubory a adresáře

  • Instalační adresář: /root/healthchecks
  • Soubor prostředí: /root/healthchecks/.env
  • Soubor Docker Compose: /root/healthchecks/docker-compose.yml
  • SQLite database: /var/lib/docker/volumes/healthchecks_healthchecks-data/_data
  • Konfigurace webu Nginx: /etc/nginx/sites-available/healthchecks
  • Enabled site: /etc/nginx/sites-enabled/healthchecks
  • SSL certifikáty: /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. Nasměrujte svou doménu na IP adresu serveru.

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

3. Obnovte služby:

cd /root/healthchecks/
docker compose up -d

4. Upravte konfiguraci Nginx a nahraďte oba server_name <IP>; s vaší doménou (<yourdomain.com>) pro bloky HTTP (port 80) i HTTPS (port 443):

vim /etc/nginx/sites-available/healthchecks

5. Nainstalujte Certbot:

apt install -y certbot python3-certbot-nginx

6. Spusťte následující příkaz k vygenerování platného certifikátu Let’s Encrypt:

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

7. Nahraďte cesty SSL v konfiguraci Nginx (sekce 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. Restartujte Nginx, aby se změny projevily:

systemctl restart nginx

9. Otevřete prohlížeč a přejděte na adresu: https://yourdomain.com

Podrobnosti o aplikaci