Skip to main content

homebutler

homebutler is a single Go binary that remembers what your server looked like last time and tells you what moved: a container recreated under the same name, a port answered by a different process, a backup that no longer restores. It reports to a person through the CLI, a terminal dashboard, or a web dashboard, and to an agent through MCP or JSON.

The homebutler mascot, a butler holding a small server on a tray
── Notable Changes ───────────────────────────────────────────
replaced hb-demo recreated, 00702cacc7d4 → 11dada014233

A report that only compares counts sees the same number of containers before and after and calls it "no change." homebutler names the container that was swapped out.

What it does​

  • Reports what changed. report compares the server with the last snapshot and labels each change with one of eight kinds, such as replaced, port or gone.
  • Diagnoses common problems. doctor checks disk and memory pressure, stopped containers, ports open on every interface, and backups that are missing or never tested. Each finding names the command to run next.
  • Catches crashes. watch saves the logs from before and after a restart, classifies the cause (OOM, panic, segfault), and detects restart loops.
  • Proves backups restore. backup drill boots an archive as a second copy of the app and requires an HTTP health check to pass.
  • Installs apps. install deploys 15 self-hosted apps, such as Uptime Kuma, Jellyfin, and Pi-hole, with a generated docker-compose.yml.
  • Reaches more than one machine. Multi-server runs the commands that take --server on remote servers over SSH, and Proxmox VE endpoints are read through the Proxmox API.

The ways in​

InterfaceStart it withUse it for
CLIhomebutler <command>Terminal, scripts and cron. Add --json for machine-readable output.
MCP serverhomebutler mcpClaude Desktop, Claude Code, Cursor and other MCP clients.
Web dashboardhomebutler serveA browser view of servers, containers, ports and the report, on port 8080.
TUI dashboardhomebutler watch tuiA live terminal view of every configured server.

All four call the same code, so a person and an agent get the same answer. homebutler runs no daemon and keeps no database: it runs when you call it, and stores snapshots, incidents and backups as files under ~/.homebutler/.

Next steps​