SkillAgentSearch skills...

Homebutler

๐Ÿ  Manage your homelab from chat. Single binary, zero dependencies.

Install / Use

/learn @Higangssh/Homebutler

README

<p align="center"> <img src="assets/logo.png" alt="HomeButler" width="160"> </p>

HomeButler

Manage your homelab from any AI โ€” Claude, ChatGPT, Cursor, or terminal. One binary. Zero dependencies.

Go Go Report Card License: MIT Release

A single-binary CLI + MCP server that lets you monitor servers, control Docker, wake machines, and scan your network โ€” from chat, AI tools, or the command line.

<p align="center"> <a href="https://www.youtube.com/watch?v=MFoDiYRH_nE"> <img src="assets/demo-thumbnail.png" alt="homebutler demo" width="800" /> </a> </p> <p align="center"><em>โ–ถ๏ธ Click to watch demo โ€” Alert โ†’ Diagnose โ†’ Fix, all from chat (34s)</em></p>

Why homebutler?

Other tools give you dashboards. homebutler gives you a conversation.

3 AM. Your server disk is 91% full. Here's what happens next:

<p align="center"> <img src="assets/demo-chat.png" alt="HomeButler alert โ†’ diagnose โ†’ fix via Telegram" width="480" /> </p>

Alert fires โ†’ you check logs from bed โ†’ AI restarts the problem container โ†’ disk drops to 66%. All from your phone. No SSH, no laptop, no dashboard login.

This is what homebutler + OpenClaw looks like in practice.

<details> <summary>๐Ÿ“Š Comparison with alternatives</summary>

| | homebutler | Glances/btop | Netdata | CasaOS | |---|---|---|---|---| | TUI dashboard | โœ… Built-in | โœ… | โŒ Web | โŒ Web | | Web dashboard | โœ… Embedded | โŒ | โœ… | โœ… | | Single binary | โœ… | โŒ | โŒ | โŒ | | Optional web server | โœ… On-demand | Always-on | Always-on | Always-on | | Multi-server SSH | โœ… Parallel | โŒ | โŒ | โŒ | | MCP support | โœ… Built-in | โŒ | โŒ | โŒ | | Chat integration | โœ… Native | โŒ | โŒ | โŒ | | AI-friendly JSON | โœ… | โŒ | โš ๏ธ API | โš ๏ธ API | | Docker control | โœ… | โš ๏ธ Monitor | โŒ | โœ… | | Wake-on-LAN | โœ… | โŒ | โŒ | โŒ | | Network scan | โœ… | โŒ | โŒ | โŒ | | Remote deploy | โœ… One command | โŒ | โŒ | โŒ | | Air-gapped install | โœ… Copy binary | โš ๏ธ apt/brew | โŒ Docker | โŒ Docker | | Resource usage | ~10MB, 0% idle | Medium | High | High |

</details>

Features

  • App Install โ€” Deploy self-hosted apps with one command (uptime-kuma, vaultwarden, gitea, and more)
  • System Status โ€” CPU, memory, disk, uptime at a glance
  • Docker Management โ€” List, restart, stop, logs for containers
  • Multi-server โ€” Manage remote servers over SSH (key & password auth)
  • Alerts โ€” Get notified when resources exceed thresholds
  • Backup & Restore โ€” One-command Docker volume backup with compose + env files
  • MCP Server โ€” Works with Claude Desktop, ChatGPT, Cursor, and any MCP client
  • Web Dashboard โ€” Beautiful dark-themed web UI with homebutler serve
  • TUI Dashboard โ€” Real-time terminal monitoring with homebutler watch (btop-style)
  • Wake-on-LAN โ€” Power on machines remotely
  • Port Scanner โ€” See what's listening and which process owns it
  • Network Scan โ€” Discover devices on your LAN
  • JSON Output โ€” Pipe-friendly, perfect for AI assistants to parse

๐Ÿ“ฆ One-Command App Install

<p align="center"> <img src="assets/install-demo.gif" alt="homebutler install demo" width="900"> </p>

homebutler install uptime-kuma โ€” Deploy self-hosted apps in seconds. Pre-checks Docker, ports, and duplicates. Generates docker-compose.yml automatically. See all available apps โ†’

Demo

๐ŸŒ Web Dashboard

<p align="center"> <img src="assets/web-dashboard.png" alt="homebutler web dashboard" width="900"> </p>

homebutler serve โ€” A real-time web dashboard embedded in the single binary via go:embed. Monitor all your servers, Docker containers, open ports, alerts, and Wake-on-LAN devices from any browser. Dark theme, auto-refresh every 5 seconds, fully responsive.

<details> <summary>โœจ Web Dashboard Highlights</summary>
  • Server Overview โ€” See all servers at a glance with color-coded status (green = online, red = offline)
  • System Metrics โ€” CPU, memory, disk usage with progress bars and color thresholds
  • Docker Containers โ€” Running/stopped status with friendly labels ("Running ยท 4d", "Stopped ยท 6h ago")
  • Top Processes โ€” Top 10 processes sorted by CPU usage
  • Resource Alerts โ€” Threshold-based warnings with visual progress bars (OK / WARNING / CRITICAL)
  • Network Ports โ€” Open ports with process names and bind addresses
  • Wake-on-LAN โ€” One-click wake buttons for configured devices
  • Server Switching โ€” Dropdown to switch between local and remote servers
  • Zero dependencies โ€” No Node.js runtime needed. Frontend is compiled into the Go binary at build time
homebutler serve              # Start on port 8080
homebutler serve --port 3000  # Custom port
homebutler serve --demo       # Demo mode with realistic sample data
</details>

๐Ÿ–ฅ๏ธ TUI Dashboard

<p align="center"> <img src="demo/demo-tui.gif" alt="homebutler TUI dashboard" width="800"> </p>

homebutler watch โ€” A terminal-based dashboard powered by Bubble Tea. Monitors all configured servers with real-time updates, color-coded resource bars, and Docker container status. No browser needed.

๐Ÿง  AI-Powered Management (MCP)

One natural language prompt manages your entire homelab. Claude Code calls homebutler MCP tools in parallel โ€” checking server status, listing Docker containers, and alerting on disk usage across multiple servers. See screenshots & setup โ†’

Quick Start

# One-line install (recommended, auto-detects OS/arch)
curl -fsSL https://raw.githubusercontent.com/Higangssh/homebutler/main/install.sh | sh

# Or via Homebrew
brew install Higangssh/homebutler/homebutler

# Or via npm (MCP server only)
npm install -g homebutler

# Interactive setup โ€” adds your servers in seconds
homebutler init

# Run
homebutler status
homebutler watch             # TUI dashboard (all servers)
homebutler serve             # Web dashboard at http://localhost:8080
homebutler docker list
homebutler wake desktop
homebutler ports
homebutler status --all

# Install a self-hosted app (e.g. Uptime Kuma monitoring)
homebutler install uptime-kuma

App Install

Deploy self-hosted apps with a single command. Each app runs via docker compose with automatic pre-checks, health verification, and clean lifecycle management.

# List available apps
homebutler install list

# Install (default port)
homebutler install uptime-kuma

# Install with custom port
homebutler install uptime-kuma --port 8080

# Check status
homebutler install status uptime-kuma

# Stop (data preserved)
homebutler install uninstall uptime-kuma

# Stop + delete everything
homebutler install purge uptime-kuma

How it works

~/.homebutler/apps/
  โ””โ”€โ”€ uptime-kuma/
       โ”œโ”€โ”€ docker-compose.yml   โ† auto-generated, editable
       โ””โ”€โ”€ data/                โ† persistent data (bind mount)
  • Pre-checks โ€” Verifies docker is installed/running, port is available, no duplicate containers
  • Compose-based โ€” Each app gets its own docker-compose.yml you can inspect and customize
  • Data safety โ€” uninstall stops containers but keeps your data; purge removes everything
  • Cross-platform โ€” Auto-detects docker socket (default, colima, podman)

Available apps

| App | Default Port | Description | |-----|-------------|-------------| | uptime-kuma | 3001 | Self-hosted monitoring tool | | vaultwarden | 8080 | Bitwarden-compatible password manager | | filebrowser | 8081 | Web-based file manager | | it-tools | 8082 | Developer utilities (JSON, Base64, Hash, etc.) | | gitea | 3002 | Lightweight self-hosted Git service |

More apps coming soon. Want to add one? See Contributing.

Usage

homebutler <command> [flags]

Commands:
  status              System status (CPU, memory, disk, uptime)
  docker list         List running containers
  install <app>       Install a self-hosted app (docker compose)
  alerts              Show current alert status
  watch               TUI dashboard (monitors all configured servers)
  serve               Web dashboard (browser-based, go:embed)

Flags:
  --json              JSON output (default: human-readable)
  --server <name>     Run on a specific remote server
  --all               Run on all configured servers in parallel
  --port <number>     Port for serve command (default: 8080)
  --config <path>     Config file (auto-detected, see Configuration)

Run homebutler --help for all commands.

<details> <summary>๐Ÿ“‹ All Commands & Flags</summary>
Commands:
  init                Interactive setup wizard
  status              System status (CPU, memory, disk, uptime)
  watch               TUI dashboard (monitors all configured servers)
  serve               Web dashboard (browser-based, go:embed)
  docker list         List running containers
  docker restart <n>  Restart a container
  docker stop <n>     Stop a container
  docker logs <n>     Show container logs
  wake <name>         Send Wake-on-LAN packet
  ports               List open ports with process info
  network scan        Discover devices on LAN
  alerts              Show current alert status
  alerts --watch      Continuous monitoring with real-time alerts
  trust <server>      Register SSH host key (TOFU)
  backup              Backup Docker volumes, compose files, and env
  backup list         List existing backups
  restore <archive>   Restore from a backup archive
  upgrade             Upgrade local + all remote servers to latest
  deploy              Install homebutler on remote servers
  install <app>       Install a self-hosted app (docker compo
View on GitHub
GitHub Stars57
CategoryDevelopment
Updated1h ago
Forks8

Languages

Go

Security Score

100/100

Audited on Mar 21, 2026

No findings