It started with an accident.
My friend was at my place, tripped over a cable,
and unplugged my Raspberry Pi. The SD card got
corrupted. Network partition gone. Files — gone.
I had to re-flash everything from scratch.
No backup. No remote monitoring. No alerts.
I didn't even know it was down until I tried
to SSH in the next day.
That's when I decided: never again.
The Problem
If you run a homelab, you probably know the drill:
- SSH into each server manually
- Run
docker psto check containers - Forgot which port Uptime Kuma is on
- No idea if your disk is 90% full
- Deploying a new app means writing YAML by hand
I had 2 servers (Mac Mini + Raspberry Pi 5).
Managing them was death by a thousand SSH sessions.
What I Built
homebutler
— a single 15MB Go binary that manages
your entire homelab.
# Check all servers at once
homebutler status --all
# Install an app in 30 seconds
homebutler install uptime-kuma
# Container resource usage
homebutler docker stats
# Wake a sleeping machine
homebutler wake nas
No Docker required to run it. No database.
No config files to write (there's an init wizard).
Just download and go.
One-Command App Install
This is the feature I'm most proud of.
Instead of writing docker-compose files:
homebutler install jellyfin --media /mnt/movies
That's it. It:
- Checks if Docker is running
- Checks if the port is available
- Generates docker-compose.yml
- Pulls the image and starts the container
- Verifies it's running
Currently supports 6 apps: uptime-kuma,
vaultwarden, filebrowser, it-tools, gitea,
and jellyfin.
Built-in AI Integration
homebutler includes a built-in MCP server
with 15 tools. Connect it to Claude, ChatGPT,
or Cursor, and you can manage your homelab
from chat:
- "Install uptime-kuma on the raspberry pi"
- "What's the CPU usage on all servers?"
- "Restart the nginx container"
The AI part is completely optional.
homebutler works perfectly as a standalone CLI.
The Tech
- Go — single binary, cross-compiled for Linux/macOS (ARM + x86)
- cobra — CLI framework with auto-generated help and shell completion
- go:embed — web dashboard baked into the binary
- Bubble Tea — terminal TUI dashboard
- No frameworks for HTTP — just net/http
The whole thing is 15MB. Zero runtime dependencies.
What's Next
- More installable apps (targeting 15+)
- Scheduled backups with one-command restore
- Server down notifications (Telegram/Discord)
- Reverse proxy auto-configuration
Try It
brew install Higangssh/homebutler/homebutler
# or
curl -fsSL https://raw.githubusercontent.com/Higangssh/homebutler/main/install.sh | sh
Then:
homebutler init # setup wizard
homebutler status # see your server
GitHub: https://github.com/Higangssh/homebutler
Demo video: https://www.youtube.com/watch?v=MFoDiYRH_nE
What's your homelab stack?
I'd love to know what apps you'd want homebutler to support next.
Top comments (0)