Healthchecks

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

الوصول

  • افتح متصفحك وقم بزيارة: https://<SERVER_IP>
  • من المتوقع ظهور تحذير SSL في المتصفح (شهادة موقعة ذاتيًا)

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
  • كلمة المرور

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

الملفات والمجلدات المهمة

  • دليل التثبيت: /root/healthchecks
  • ملف البيئة: /root/healthchecks/.env
  • ملف Docker Compose: /root/healthchecks/docker-compose.yml
  • SQLite database: /var/lib/docker/volumes/healthchecks_healthchecks-data/_data
  • تكوين موقع Nginx: /etc/nginx/sites-available/healthchecks
  • الموقع الممكّن: /etc/nginx/sites-enabled/healthchecks
  • شهادات 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. قم بتوجيه نطاقك إلى عنوان IP للخادم.

2. تحرير .env لتعيين نطاقك على SITE_ROOT: SITE_ROOT=https://yourdomain.com

3. إعادة إنشاء الخدمات:

cd /root/healthchecks/
docker compose up -d

4. قم بتحرير تكوين Nginx واستبدل كلاهما server_name <IP>; مع نطاقك (<yourdomain.com>) لكل من كتل HTTP (المنفذ 80) و HTTPS (المنفذ 443):

vim /etc/nginx/sites-available/healthchecks

5. تثبيت Certbot:

apt install -y certbot python3-certbot-nginx

6. قم بتشغيل الأمر التالي لإنشاء شهادة Let’s Encrypt صالحة:

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

7. استبدل مسارات SSL في تكوين Nginx (قسم 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. أعد تشغيل Nginx لتطبيق التغييرات:

systemctl restart nginx

9. افتح متصفحك وانتقل إلى: https://yourdomain.com

تفاصيل الطلب