mirror of
https://github.com/unpoller/unpoller.git
synced 2026-03-31 06:24:19 -04:00
Add Docker health check support
Implements #406 by adding a --health CLI flag and HEALTHCHECK instruction to the Dockerfile. This allows Docker and container orchestration platforms to monitor container health automatically. Changes: - Added --health flag that validates configuration and plugin connectivity - Implemented HealthCheck() method in pkg/poller/commands.go - Updated Dockerfile with HEALTHCHECK instruction (30s interval, 10s timeout) - Updated MANUAL.md with --health flag documentation - Added health check documentation to Docker README - Added comments to docker-compose examples about built-in health check The health check: - Validates configuration file is found and parseable - Ensures at least one input and one enabled output are configured - Performs basic validation on enabled outputs - Returns exit code 0 (healthy) or 1 (unhealthy) - Runs silently for Docker compatibility 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -9,3 +9,18 @@ in InfluxDB by UniFi Poller.
|
||||
##### HOWTO
|
||||
**Learn more about how and when to use these *Docker Compose* files in the
|
||||
[Docker Wiki](https://unpoller.com/docs/install/dockercompose).**
|
||||
|
||||
## Health Check
|
||||
|
||||
The UniFi Poller Docker image includes a built-in health check that validates
|
||||
the configuration and checks plugin connectivity. The health check runs every
|
||||
30 seconds and marks the container as unhealthy if configuration issues are
|
||||
detected or if enabled outputs cannot be reached.
|
||||
|
||||
You can manually run the health check:
|
||||
```bash
|
||||
docker exec <container_name> /usr/bin/unpoller --health
|
||||
```
|
||||
|
||||
The health check is automatically used by Docker and container orchestration
|
||||
platforms (Kubernetes, Docker Swarm, etc.) to determine container health status.
|
||||
|
||||
@@ -34,6 +34,8 @@ services:
|
||||
unifi-poller:
|
||||
restart: always
|
||||
image: ghcr.io/unpoller/unpoller:${POLLER_TAG}
|
||||
# Health check is built into the Docker image
|
||||
# It validates configuration and checks plugin connectivity
|
||||
depends_on:
|
||||
- grafana
|
||||
- influxdb
|
||||
|
||||
@@ -36,6 +36,8 @@ services:
|
||||
unifi-poller:
|
||||
restart: always
|
||||
image: ghcr.io/unpoller/unpoller:${POLLER_TAG}
|
||||
# Health check is built into the Docker image
|
||||
# It validates configuration and checks plugin connectivity
|
||||
environment:
|
||||
- UP_INFLUXDB_USER=${INFLUXDB_ADMIN_USER}
|
||||
- UP_INFLUXDB_PASS=${INFLUXDB_ADMIN_PASSWORD}
|
||||
|
||||
Reference in New Issue
Block a user