Healthchecks

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

Acesso

  • Abra o seu navegador e visite: https://<SERVER_IP>
  • É de esperar que o navegador exiba um aviso SSL (certificado autoassinado)

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

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

Ficheiros e diretórios importantes

  • Diretório de instalação: /root/healthchecks
  • Arquivo de ambiente: /root/healthchecks/.env
  • Ficheiro Docker Compose: /root/healthchecks/docker-compose.yml
  • SQLite database: /var/lib/docker/volumes/healthchecks_healthchecks-data/_data
  • Configuração do site Nginx: /etc/nginx/sites-available/healthchecks
  • Enabled site: /etc/nginx/sites-enabled/healthchecks
  • Certificados SSL: /etc/nginx/ssl/fullchain.pem, /etc/nginx/ssl/privkey.pem
  • Admin credentials: /root/.cloudzy-creds

Gerir a pilha

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. Direcione o seu domínio para o IP do servidor.

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

3. Recrie os serviços:

cd /root/healthchecks/
docker compose up -d

4. Edite a configuração do Nginx e substitua ambos server_name <IP>; com o seu domínio (<yourdomain.com>) para blocos HTTP (porta 80) e HTTPS (porta 443):

vim /etc/nginx/sites-available/healthchecks

5. Instale o Certbot:

apt install -y certbot python3-certbot-nginx

6. Execute o seguinte comando para gerar um certificado Let’s Encrypt válido:

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

7. Substitua os caminhos SSL na configuração do Nginx (secção 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. Reinicie o Nginx para aplicar as alterações:

systemctl restart nginx

9. Abra o seu navegador e aceda a: https://yourdomain.com

Detalhes da candidatura