<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: SangheeSon</title>
    <description>The latest articles on DEV Community by SangheeSon (@higangssh).</description>
    <link>https://dev.to/higangssh</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3797790%2Fc91a91fc-1512-418c-ab40-25d0b9078ab4.jpeg</url>
      <title>DEV Community: SangheeSon</title>
      <link>https://dev.to/higangssh</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/higangssh"/>
    <language>en</language>
    <item>
      <title>My friend unplugged my Raspberry Pi — so I built a homelab manager</title>
      <dc:creator>SangheeSon</dc:creator>
      <pubDate>Sun, 29 Mar 2026 13:47:01 +0000</pubDate>
      <link>https://dev.to/higangssh/my-friend-unplugged-my-raspberry-pi-so-i-built-a-homelab-manager-401g</link>
      <guid>https://dev.to/higangssh/my-friend-unplugged-my-raspberry-pi-so-i-built-a-homelab-manager-401g</guid>
      <description>&lt;p&gt;It started with an accident.&lt;br&gt;
My friend was at my place, tripped over a cable, &lt;br&gt;
and unplugged my Raspberry Pi. The SD card got &lt;br&gt;
corrupted. Network partition gone. Files — gone. &lt;br&gt;
I had to re-flash everything from scratch.&lt;br&gt;
No backup. No remote monitoring. No alerts. &lt;br&gt;
I didn't even know it was down until I tried &lt;br&gt;
to SSH in the next day.&lt;br&gt;
That's when I decided: &lt;strong&gt;never again.&lt;/strong&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;If you run a homelab, you probably know the drill:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;SSH into each server manually&lt;/li&gt;
&lt;li&gt;Run &lt;code&gt;docker ps&lt;/code&gt; to check containers&lt;/li&gt;
&lt;li&gt;Forgot which port Uptime Kuma is on&lt;/li&gt;
&lt;li&gt;No idea if your disk is 90% full&lt;/li&gt;
&lt;li&gt;Deploying a new app means writing YAML by hand&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I had 2 servers (Mac Mini + Raspberry Pi 5). &lt;br&gt;
Managing them was death by a thousand SSH sessions.&lt;/p&gt;
&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/Higangssh/homebutler" rel="noopener noreferrer"&gt;&lt;strong&gt;homebutler&lt;/strong&gt;&lt;/a&gt; &lt;br&gt;
— a single 15MB Go binary that manages &lt;br&gt;
your entire homelab.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Check all servers at once&lt;/span&gt;
homebutler status &lt;span class="nt"&gt;--all&lt;/span&gt;
&lt;span class="c"&gt;# Install an app in 30 seconds&lt;/span&gt;
homebutler &lt;span class="nb"&gt;install &lt;/span&gt;uptime-kuma
&lt;span class="c"&gt;# Container resource usage&lt;/span&gt;
homebutler docker stats
&lt;span class="c"&gt;# Wake a sleeping machine&lt;/span&gt;
homebutler wake nas
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No Docker required to run it. No database.&lt;br&gt;
No config files to write (there's an init wizard).&lt;br&gt;
Just download and go.&lt;/p&gt;
&lt;h2&gt;
  
  
  One-Command App Install
&lt;/h2&gt;

&lt;p&gt;This is the feature I'm most proud of.&lt;br&gt;
Instead of writing docker-compose files:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;homebutler &lt;span class="nb"&gt;install &lt;/span&gt;jellyfin &lt;span class="nt"&gt;--media&lt;/span&gt; /mnt/movies
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's it. It:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Checks if Docker is running&lt;/li&gt;
&lt;li&gt;Checks if the port is available&lt;/li&gt;
&lt;li&gt;Generates docker-compose.yml&lt;/li&gt;
&lt;li&gt;Pulls the image and starts the container&lt;/li&gt;
&lt;li&gt;Verifies it's running&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Currently supports 6 apps: uptime-kuma,&lt;br&gt;
vaultwarden, filebrowser, it-tools, gitea,&lt;br&gt;
and jellyfin.&lt;/p&gt;
&lt;h2&gt;
  
  
  Built-in AI Integration
&lt;/h2&gt;

&lt;p&gt;homebutler includes a built-in MCP server&lt;br&gt;
with 15 tools. Connect it to Claude, ChatGPT,&lt;br&gt;
or Cursor, and you can manage your homelab&lt;br&gt;
from chat:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"Install uptime-kuma on the raspberry pi"&lt;/li&gt;
&lt;li&gt;"What's the CPU usage on all servers?"&lt;/li&gt;
&lt;li&gt;"Restart the nginx container"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The AI part is completely optional.&lt;br&gt;
homebutler works perfectly as a standalone CLI.&lt;/p&gt;
&lt;h2&gt;
  
  
  The Tech
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Go — single binary, cross-compiled for Linux/macOS (ARM + x86)&lt;/li&gt;
&lt;li&gt;cobra — CLI framework with auto-generated help and shell completion&lt;/li&gt;
&lt;li&gt;go:embed — web dashboard baked into the binary&lt;/li&gt;
&lt;li&gt;Bubble Tea — terminal TUI dashboard&lt;/li&gt;
&lt;li&gt;No frameworks for HTTP — just net/http&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The whole thing is 15MB. Zero runtime dependencies.&lt;/p&gt;
&lt;h2&gt;
  
  
  What's Next
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;More installable apps (targeting 15+)&lt;/li&gt;
&lt;li&gt;Scheduled backups with one-command restore&lt;/li&gt;
&lt;li&gt;Server down notifications (Telegram/Discord)&lt;/li&gt;
&lt;li&gt;Reverse proxy auto-configuration&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Try It
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;brew &lt;span class="nb"&gt;install &lt;/span&gt;Higangssh/homebutler/homebutler
&lt;span class="c"&gt;# or&lt;/span&gt;
curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://raw.githubusercontent.com/Higangssh/homebutler/main/install.sh | sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Then:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;homebutler init    &lt;span class="c"&gt;# setup wizard&lt;/span&gt;
homebutler status  &lt;span class="c"&gt;# see your server&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;GitHub: &lt;a href="https://github.com/Higangssh/homebutler" rel="noopener noreferrer"&gt;https://github.com/Higangssh/homebutler&lt;/a&gt;&lt;br&gt;&lt;br&gt;
Demo video: &lt;a href="https://www.youtube.com/watch?v=MFoDiYRH_nE" rel="noopener noreferrer"&gt;https://www.youtube.com/watch?v=MFoDiYRH_nE&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;What's your homelab stack?&lt;br&gt;
I'd love to know what apps you'd want homebutler to support next.&lt;/p&gt;

</description>
      <category>go</category>
      <category>selfhosted</category>
      <category>docker</category>
      <category>opensource</category>
    </item>
    <item>
      <title>git log is boring. So I made this instead.</title>
      <dc:creator>SangheeSon</dc:creator>
      <pubDate>Tue, 10 Mar 2026 15:26:49 +0000</pubDate>
      <link>https://dev.to/higangssh/git-log-is-boring-so-i-made-this-instead-bco</link>
      <guid>https://dev.to/higangssh/git-log-is-boring-so-i-made-this-instead-bco</guid>
      <description>&lt;p&gt;Ever watched a movie and thought "damn, those end credits look cool"? Now imagine that — but for your Git contributors.&lt;/p&gt;

&lt;p&gt;git log is boring. git shortlog -sn is slightly less boring. But neither of them makes your contributors feel like the stars they are.&lt;/p&gt;

&lt;p&gt;I wanted something fun. Something you could run at a team demo or after a big release. Something that makes people go "wait, what is that?"&lt;/p&gt;

&lt;p&gt;So I built gitcredits&lt;/p&gt;

&lt;p&gt;gitcredits demo&lt;/p&gt;

&lt;p&gt;It's a single binary. You run gitcredits in any Git repo, and it rolls your contributors like movie credits — complete with ASCII art titles, starfield background, and smooth scrolling.&lt;/p&gt;

&lt;p&gt;How it works&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Reads your Git history&lt;/li&gt;
&lt;li&gt;Extracts contributors, commit counts, recent features&lt;/li&gt;
&lt;li&gt;Renders it all as a terminal animation using Bubble Tea (&lt;a href="https://github.com/charmbracelet/bubbletea" rel="noopener noreferrer"&gt;https://github.com/charmbracelet/bubbletea&lt;/a&gt;) + Lip Gloss (&lt;a href="https://github.com/charmbracelet/lipgloss" rel="noopener noreferrer"&gt;https://github.com/charmbracelet/lipgloss&lt;/a&gt;)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;No config files. No setup. Just run it in any Git repo.&lt;/p&gt;

&lt;p&gt;Themes&lt;/p&gt;

&lt;p&gt;The default theme gives you Star Wars-style scrolling credits with a starfield.&lt;/p&gt;

&lt;p&gt;But my favorite is the Matrix theme — digital rain with a text resolve effect:&lt;/p&gt;

&lt;p&gt;matrix theme&lt;/p&gt;

&lt;p&gt;What it shows&lt;/p&gt;

&lt;p&gt;• Title — your repo name in big ASCII art&lt;br&gt;
• Project Lead — whoever has the most commits&lt;br&gt;
• Starring — all contributors with their commit counts&lt;br&gt;
• Notable Scenes — recent feat/fix commits&lt;br&gt;
• Stats — total commits, contributors, stars, language, license&lt;/p&gt;

&lt;p&gt;Why I built it&lt;/p&gt;

&lt;p&gt;I've been contributing to open source for a while, and I realized there's no fun way to celebrate the people behind a project. GitHub's contributor graph is nice, but it's just a chart.&lt;/p&gt;

&lt;p&gt;I wanted something that felt like a moment. Run it at the end of a sprint. Run it at a hackathon. Run it just because your terminal deserves better.&lt;/p&gt;

&lt;p&gt;Check it out&lt;/p&gt;

&lt;p&gt;GitHub: (&lt;a href="https://github.com/Higangssh/gitcredits" rel="noopener noreferrer"&gt;https://github.com/Higangssh/gitcredits&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;It's open source, MIT licensed, and contributions are welcome 🎬&lt;/p&gt;

</description>
    </item>
    <item>
      <title>I built a single binary to manage all my homelab servers from Telegram</title>
      <dc:creator>SangheeSon</dc:creator>
      <pubDate>Sat, 28 Feb 2026 07:29:25 +0000</pubDate>
      <link>https://dev.to/higangssh/i-built-a-single-binary-to-manage-all-my-homelab-servers-from-telegram-3e4i</link>
      <guid>https://dev.to/higangssh/i-built-a-single-binary-to-manage-all-my-homelab-servers-from-telegram-3e4i</guid>
      <description>&lt;p&gt;I run 3 servers at home — a Mac Mini, a Raspberry Pi, and a NAS. Managing them used to mean opening 3 SSH sessions, running the same commands on each, and switching between terminal tabs at 2 AM when something breaks.&lt;/p&gt;

&lt;p&gt;I got tired of it. So I built &lt;a href="https://github.com/Higangssh/homebutler" rel="noopener noreferrer"&gt;homebutler&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  The moment that started it all
&lt;/h2&gt;

&lt;p&gt;3 AM. Phone buzzes. Disk alert on my NAS — 91% full. &lt;/p&gt;

&lt;p&gt;Old workflow: grab laptop → SSH into NAS → check what's eating disk → restart the problem service → SSH into the other servers to make sure they're fine → go back to sleep 40 minutes later.&lt;/p&gt;

&lt;p&gt;I wanted this instead: pick up phone → read the alert → type "what's eating disk?" → type "restart postgres" → sleep. All from one chat window.&lt;/p&gt;

&lt;h2&gt;
  
  
  What homebutler does
&lt;/h2&gt;

&lt;p&gt;It's a single Go binary (~13MB, zero dependencies) that does two things:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. CLI for your terminal&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;homebutler status &lt;span class="nt"&gt;--all&lt;/span&gt;

🖥 mac-mini &lt;span class="o"&gt;(&lt;/span&gt;darwin/arm64&lt;span class="o"&gt;)&lt;/span&gt;
   CPU: 23% | Memory: 5.2/8.0 GB | Disk: 37%

🖥 raspberry-pi &lt;span class="o"&gt;(&lt;/span&gt;linux/arm64&lt;span class="o"&gt;)&lt;/span&gt;
   CPU: 12% | Memory: 1.6/4.0 GB | Disk: 47%

🖥 nas-box &lt;span class="o"&gt;(&lt;/span&gt;linux/amd64&lt;span class="o"&gt;)&lt;/span&gt;
   CPU: 8% | Memory: 12.4/32 GB | Disk: 87% ⚠️
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;One command, all servers. It connects to remote servers over SSH in parallel.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. MCP server for AI chat&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;homebutler speaks &lt;a href="https://modelcontextprotocol.io/" rel="noopener noreferrer"&gt;MCP&lt;/a&gt;, so Claude, ChatGPT, Cursor — anything that supports MCP — can use it as a tool.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"mcpServers"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"homebutler"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"command"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"npx"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"args"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"-y"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"homebutler@latest"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is what it looks like in practice:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;🚨 &lt;strong&gt;Alert: CPU at 92% on nas-box&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Me: "What's eating CPU?"&lt;/p&gt;

&lt;p&gt;Bot: postgres — 85.2%&lt;/p&gt;

&lt;p&gt;Me: "Restart postgres"&lt;/p&gt;

&lt;p&gt;Bot: ✅ Done. CPU 92% → 12%&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;No SSH. No laptop. No dashboard login.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's inside
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;System monitoring&lt;/strong&gt; — CPU, memory, disk, uptime&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Docker management&lt;/strong&gt; — list, restart, stop, view logs&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Wake-on-LAN&lt;/strong&gt; — power on machines from anywhere&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Port scanner&lt;/strong&gt; — see what's listening&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Network scan&lt;/strong&gt; — discover LAN devices&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multi-server SSH&lt;/strong&gt; — manage all servers from one place&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Web dashboard&lt;/strong&gt; — dark-themed UI, embedded in the binary&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Alerts&lt;/strong&gt; — threshold-based notifications&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;JSON output&lt;/strong&gt; — pipe-friendly for scripts and AI&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why a single binary?
&lt;/h2&gt;

&lt;p&gt;I've tried Netdata, Glances, CasaOS. They all need Docker, or a running daemon, or a web server that's always on.&lt;/p&gt;

&lt;p&gt;homebutler is different:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Copy one file to your Pi. Done.&lt;/li&gt;
&lt;li&gt;No Docker. No Node. No Python. No config server.&lt;/li&gt;
&lt;li&gt;Runs when you need it, sleeps when you don't.&lt;/li&gt;
&lt;li&gt;Air-gapped install? Just &lt;code&gt;scp&lt;/code&gt; the binary.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Multi-server: the part I'm most proud of
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="c1"&gt;# ~/.config/homebutler/config.yaml&lt;/span&gt;
&lt;span class="na"&gt;servers&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;mac-mini&lt;/span&gt;
    &lt;span class="na"&gt;local&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;raspberry-pi&lt;/span&gt;
    &lt;span class="na"&gt;host&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;192.168.1.30&lt;/span&gt;
    &lt;span class="na"&gt;user&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;pi&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;nas-box&lt;/span&gt;
    &lt;span class="na"&gt;host&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;192.168.1.20&lt;/span&gt;
    &lt;span class="na"&gt;user&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;admin&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Once configured, every command works across all servers:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;homebutler docker list &lt;span class="nt"&gt;--all&lt;/span&gt;    &lt;span class="c"&gt;# containers on every server&lt;/span&gt;
homebutler alerts &lt;span class="nt"&gt;--all&lt;/span&gt;         &lt;span class="c"&gt;# alerts from everywhere&lt;/span&gt;
homebutler serve                &lt;span class="c"&gt;# web dashboard for all servers&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Homebrew&lt;/span&gt;
brew &lt;span class="nb"&gt;install &lt;/span&gt;Higangssh/tap/homebutler

&lt;span class="c"&gt;# npm (for MCP server)&lt;/span&gt;
npx &lt;span class="nt"&gt;-y&lt;/span&gt; homebutler@latest

&lt;span class="c"&gt;# Go&lt;/span&gt;
go &lt;span class="nb"&gt;install &lt;/span&gt;github.com/Higangssh/homebutler@latest
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;GitHub: &lt;a href="https://github.com/Higangssh/homebutler" rel="noopener noreferrer"&gt;github.com/Higangssh/homebutler&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It's MIT licensed, open source, and I'm actively maintaining it. If you run a homelab, I'd love to hear what you think.&lt;/p&gt;

</description>
      <category>go</category>
      <category>opensource</category>
      <category>docker</category>
      <category>mcp</category>
    </item>
  </channel>
</rss>
