operations / Health Monitoring
No results for ""
Health Monitoring
Overview
Demyx has three built-in health checks that run automatically via cron:
| Check | Cron | Trigger |
|---|---|---|
| App containers | Every 5 minutes | Any container not in running state |
| Disk usage | Hourly | Usage exceeds DEMYX_HEALTHCHECK_DISK_THRESHOLD |
| Load average | Every 5 minutes | 5-min load exceeds DEMYX_HEALTHCHECK_LOAD |
Enabling Global Healthchecks
In demyx host edit:
DEMYX_HEALTHCHECK=true
DEMYX_HEALTHCHECK_DISK_THRESHOLD=80
DEMYX_HEALTHCHECK_LOAD=10Restart: demyx host restart
Per-App Healthcheck
Each app can have its healthcheck enabled or disabled independently:
demyx config domain.tld --healthcheck=true
demyx config domain.tld --healthcheck=falseRunning Manually
# Check all app containers
demyx healthcheck app
# Check disk
demyx healthcheck disk
# Check load
demyx healthcheck loadNo output means everything is healthy. Output only appears when an issue is detected.
App Healthcheck Detail
When a container fails, demyx healthcheck app shows:
- Docker logs for the failed container (last 50 lines)
- The app's MariaDB/NGINX log file tails
This helps diagnose the root cause before alerting.
Notifications
Healthcheck failures can be sent via:
- SMTP — configure
DEMYX_SMTP_*variables andDEMYX_SMTP=true - Custom callback — see Developer: Custom Callbacks for Matrix, Slack, Telegram, etc.
Disabling Warnings
If you intentionally don't want healthchecks, set DEMYX_HEALTHCHECK=false in demyx host edit to suppress the MOTD warning.