I built Sentinel, a self-hosted AI infrastructure engineer for a Linux server.
Sentinel continuously monitors a server, detects incidents such as crashed containers, stopped services, high memory usage, and high load, then follows an Observe → Diagnose → Plan → Act → Verify loop. It can investigate the problem, propose an exact fix, wait for my approval, execute the fix through a restricted root agent, and then verify that the problem actually recovered.
The most challenging part was making the AI useful without giving it a shell. Sentinel is split into two privilege boundaries: the main web application has no server access, while a separate root agent exposes only 27 named tools with fixed risk levels. Every action is checked again by the agent, and anything that changes the server requires approval. There is deliberately no arbitrary command execution.
I’m especially proud that this is not just an AI demo. It is a real, production-running system with a live dashboard, incident history, deployments and rollbacks, container/service management, Discord/Slack approval, Ask Sentinel for natural-language read-only diagnostics, encrypted API keys, an installer, CLI, database migrations, and tests that guard against shell execution. It runs in under 120 MB RAM, uses under 2% CPU while idle, and starts in under 2 seconds.
To test it: open the demo URL, explore the dashboard, incidents, and Ask Sentinel interface. The demo is designed so it can be explored without access to my actual server. For the full project, the source code and setup instructions are available in the public repository.
The biggest idea behind Sentinel is simple: AI should be able to help operate real infrastructure without being handed unrestricted control of it.
- 4 devlogs
- 18h