Healthchecks

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

Akses

  • Buka browser Anda dan kunjungi: https://<SERVER_IP>
  • Peringatan SSL pada browser mungkin muncul (sertifikat yang ditandatangani sendiri)

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
  • Kata sandi

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

Berkas dan Direktori Penting

  • Direktori instalasi: /root/healthchecks
  • Berkas lingkungan: /root/healthchecks/.env
  • Berkas Docker Compose: /root/healthchecks/docker-compose.yml
  • SQLite database: /var/lib/docker/volumes/healthchecks_healthchecks-data/_data
  • Konfigurasi situs Nginx: /etc/nginx/sites-available/healthchecks
  • Enabled site: /etc/nginx/sites-enabled/healthchecks
  • Sertifikat 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. Arahkan domain Anda ke alamat IP server.

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

3. Membuat ulang layanan:

cd /root/healthchecks/
docker compose up -d

4. Edit konfigurasi Nginx dan ganti keduanya server_name <IP>; dengan domain Anda (<yourdomain.com>) untuk blok HTTP (port 80) dan HTTPS (port 443):

vim /etc/nginx/sites-available/healthchecks

5. Instal Certbot:

apt install -y certbot python3-certbot-nginx

6. Jalankan perintah berikut untuk menghasilkan sertifikat Let’s Encrypt yang valid:

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

7. Ganti jalur SSL di konfigurasi Nginx (bagian 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. Restart Nginx untuk menerapkan perubahan:

systemctl restart nginx

9. Buka browser Anda dan kunjungi: https://yourdomain.com

Rincian Aplikasi