{"repo":"kRYstall9/docker-surgeon","free":true,"listed":false,"github":"https://github.com/kRYstall9/docker-surgeon","clone":"git clone https://github.com/kRYstall9/docker-surgeon.git","description":"Monitor and restart unhealthy, killed, or stopped Docker containers according to a user-defined restart policy, including any dependent containers.","language":"Python","stars":60,"topics":["docker","docker-compose","self-hosted","selfhosted","docker-container","restart"],"license":"MIT","category":"deployment-docker-iac","readme_excerpt":"Docker Surgeon A Python service that monitors Docker containers in real time and automatically restarts them based on customizable rules, including any dependent containers. Ideal for environments where high availability matters and zombie containers are not welcome at the party. ✨ Key Features - Monitors Docker events in real-time. - Automatically restarts containers that are unhealthy or have unexpectedly exited. - Supports a restart policy configurable via environment variables. - Handles container dependencies using labels ( com.monitor.depends.on ). - Detailed, timezone-aware logging. - Supports container exclusion from restart policies. - Supports real-time notifications through Apprise - Multi-host support via Agents — monitor and manage containers across multiple machines from a single server. 🧭 How It Works The service listens to Docker daemon events. When it detects that a container is in an unhealthy state or has exited with a non-excluded code, it restarts it. If the container has dependencies (defined through labels), it restarts those too, in the correct order, using topological sorting. Example: [db] -- [backend] -- [frontend] If db goes down, the service will restart db , then backend , and finally frontend . 🤖 Agents (Multi-host Support) Docker Surgeon supports a distributed mode where a central server manages multiple remote agents , each running on a different machine. This allows you to monitor and control containers across your entire infrastructure fro","default_branch":null,"files":null,"tree":[],"storefront":"/r/kRYstall9","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/kRYstall9/docker-surgeon/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}