DEV Community

SangheeSon
SangheeSon

Posted on

My friend unplugged my Raspberry Pi — so I built a homelab manager

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 ps to 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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

That's it. It:

  1. Checks if Docker is running
  2. Checks if the port is available
  3. Generates docker-compose.yml
  4. Pulls the image and starts the container
  5. 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
Enter fullscreen mode Exit fullscreen mode

Then:

homebutler init    # setup wizard
homebutler status  # see your server
Enter fullscreen mode Exit fullscreen mode

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)