Healthchecks

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

Dostęp

  • Otwórz przeglądarkę i wejdź na stronę: 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
  • Hasło

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

Ważne pliki i katalogi

  • Katalog instalacyjny: /root/healthchecks
  • Plik środowiska: /root/healthchecks/.env
  • Plik Docker Compose: /root/healthchecks/docker-compose.yml
  • SQLite database: /var/lib/docker/volumes/healthchecks_healthchecks-data/_data
  • Konfiguracja witryny Nginx: /etc/nginx/sites-available/healthchecks
  • Enabled site: /etc/nginx/sites-enabled/healthchecks
  • Certyfikaty 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. Skieruj swoją domenę na adres IP serwera.

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

3. Odtwórz usługi:

cd /root/healthchecks/
docker compose up -d

4. Edytuj konfigurację Nginx i zamień oba elementy. server_name <IP>; z Twoją domeną (<yourdomain.com>) zarówno dla bloków HTTP (port 80), jak i HTTPS (port 443):

vim /etc/nginx/sites-available/healthchecks

5. Zainstaluj Certbot:

apt install -y certbot python3-certbot-nginx

6. Uruchom następujące polecenie, aby wygenerować ważny certyfikat Let’s Encrypt:

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

7. Zastąp ścieżki SSL w konfiguracji Nginx (sekcja 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. Uruchom ponownie Nginx, aby zastosować zmiany:

systemctl restart nginx

9. Otwórz przeglądarkę i przejdź do strony: https://yourdomain.com

Szczegóły aplikacji