A Docker container that automatically monitors and restarts unhealthy containers using Docker's HEALTHCHECK feature.
Docker Autoheal is a lightweight Docker container that monitors other Docker containers for unhealthy statuses and automatically restarts them. It serves as a stopgap solution until Docker natively supports automatic restart on unhealthy containers, enhancing reliability for containerized applications.
DevOps engineers and developers managing Docker-based deployments who need to ensure high availability and automatic recovery of unhealthy containers without manual intervention.
Developers choose Docker Autoheal because it fills a critical gap in Docker's native functionality by providing automatic restart for unhealthy containers, which Docker's HEALTHCHECK feature alone does not support. It offers a simple, configurable, and reliable utility that integrates seamlessly with existing Docker setups via Docker socket or TCP connections.
Monitor and restart unhealthy docker containers.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Monitors containers via Docker HEALTHCHECK and automatically restarts them when unhealthy, filling a critical gap in Docker's native functionality until native support is added.
Supports watching all containers, specific labeled containers, or only running containers, offering flexibility through environment variables like AUTOHEAL_CONTAINER_LABEL.
Allows adjustment of check intervals, start periods, and stop timeouts, with per-container overrides via labels such as autoheal.stop.timeout, as detailed in the environment defaults.
Integrates optional webhooks to send alerts when containers are restarted or restart attempts fail, enhancing monitoring and audit trails with the WEBHOOK_URL variable.
Only works with containers that have HEALTHCHECK defined, limiting its effectiveness for legacy images or those without proper health checks, as noted in the usage instructions.
Requires access to the Docker socket or TCP connections, which can pose security vulnerabilities if not properly secured, with complex setup for mTLS as shown in the TCP examples.
Admitted in the README as a temporary fix until Docker adds native support for '--exit-on-unhealthy', meaning it may become obsolete and require migration in the future.
Only performs container restarts and doesn't address root causes or provide advanced recovery mechanisms like scaling or load balancing, which orchestration platforms offer.