Projects / Argus
Argus
Argus watches a two-site homelab: about 30 services, checked every minute, and the pipeline that keeps them patched. It is quiet by design. It only asks for a person when one is needed.
Why it matters
Every app and server needs regular security updates. Done by hand, that is hours of careful, repetitive work each week, and skipping it is how systems get breached. Here it happens on its own: each update is tested before it goes live, every machine is backed up or snapshotted before it changes, and anything that breaks is rolled back automatically.
Argus is the watchtower over all of it, named for the hundred-eyed giant of Greek myth who never slept all at once. It checks every service every minute, shows what changed and why, and only wakes me when a decision really needs a person. It is the same discipline a company's IT team follows, running unattended at home.
How it fits together
- Argus runs the checks, receives the scheduled jobs' reports, and serves a read-only page. Python and FastAPI, a React front end, one container.
- The patching is done by Ansible on a schedule: snapshot, update, health check, roll back on failure. Each run reports to Argus.
- The paging is done by Prometheus and Alertmanager at both sites, each watching the other, so even Argus going down gets noticed.
Screenshots from the live instance; private network addresses are hidden.