{"repo":"MarekWo/UPS_Server_Docker","free":true,"listed":false,"github":"https://github.com/MarekWo/UPS_Server_Docker","clone":"git clone https://github.com/MarekWo/UPS_Server_Docker.git","description":"A complete, containerized solution for managing graceful shutdowns for UPS-protected servers that lack a direct data monitoring port. It combines a virtual NUT (Network UPS Tools) server, a power monitoring script, a central API hub for client configuration, and a modern web interface for easy management.","language":"Python","stars":26,"topics":["docker","homelab","network","network-automation","power-management","server-management","ups"],"license":"MIT","category":"deployment-docker-iac","readme_excerpt":"UPS Power Management Server (Docker Edition) A complete, containerized solution for managing graceful shutdowns for UPS-protected servers that lack a direct data monitoring port. It combines a virtual NUT (Network UPS Tools) server, a power monitoring script, a central API hub for client configuration, and a modern web interface for easy management. About This Project Many powerful, cost-effective UPS systems (like sine wave inverters with large external batteries) can power a server rack for hours but offer no way to signal a power failure to the connected devices. This project solves that problem by using a \"canary in a coal mine\" approach: it monitors several always-on devices ( sentinel hosts ) that are connected to standard, non-UPS grid power. If all of them go offline simultaneously, the application declares a power failure. This container acts as the \"brain\" for a virtual NUT server, allowing standard NUT clients to perform a graceful shutdown. It also provides a central API to manage shutdown configurations for all clients and a modern web interface for easy administration. This project is the perfect companion to the UPS monitor client script, which is a lightweight client designed to react to the status changes generated by this Power Manager. ----- How It Works The logic is simple but effective: 1. Monitor: A cron job inside the container runs a script ( power manager.py ) which pings a list of user-defined sentinel hosts every 15 seconds (4 checks per minute) for","default_branch":null,"files":null,"tree":[],"storefront":"/r/MarekWo","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/MarekWo/UPS_Server_Docker/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."}