Files
unpoller-unpoller-3/init/docker/README.md
Cody Lee b960695f3b 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>
2025-12-08 13:09:10 -06:00

27 lines
1014 B
Markdown

## Docker Compose
The files in this folder can be used locally to spin up
a full set of applications (minus the UniFi controller) to get
UniFi Poller up and running. Including InfluxDB, Grafana, and
Chronograph. This last app is useful to inspect the data stored
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.