Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hako

macOS のメニューバーに常駐し、Colima とコンテナの状態を表示・操作する小さなアプリ。

スクリーンショット

機能

ステータス表示

  • メニューバーアイコンで Colima の状態がひと目で分かる
    • 実行中: 塗りつぶし / 停止中: アウトライン / 操作中: 丸付き
    • 稼働中なのにポート公開すべきコンテナが落ちている場合はオレンジ色
  • コンテナ一覧
    • compose はプロジェクト単位でグループ化し、状態を●で色分け(緑: 稼働 / オレンジ: 一部停止 / グレー: 全停止)
    • 各行に稼働状況(「4分前に起動」)・イメージ・ポート(ホスト:コンテナ)を表示
    • ポートなしの exited コンテナ(cli / init 系)はノイズになるので非表示
  • Colima のバージョンと VM の割り当て(CPU/メモリ/ディスク)、コンテナごとの CPU/メモリ使用量(docker stats)
  • ディスク使用量の内訳(イメージ / コンテナ / ボリューム / ビルドキャッシュ、docker system df)
  • メニューを開いている間は 3 秒間隔でライブ更新

操作

  • Colima の起動・再起動・停止
  • compose プロジェクトの起動(up -d)・再起動・停止・破棄(down、確認あり)
  • コンテナ単体の起動・再起動・停止・破棄(rm -f、確認あり)
  • 公開ポートをブラウザで開く(⌥ で URL コピーに切り替え)
  • ターミナルで接続(docker exec、bash/sh 自動判別)・ログ表示(docker logs -f)
  • compose プロジェクトをエディタで開く(Zed / VS Code / Cursor など、「設定」でインストール済みのエディタから選択)
  • ディスクのお掃除(未使用イメージ / ビルドキャッシュ / 匿名ボリュームの削除、確認あり)

常駐まわり

  • ポート公開コンテナが勝手に停止 / unhealthy になったら macOS 通知 (自分の操作による変化と Colima 自体の起動停止は通知しない)
  • スリープ復帰時に即リフレッシュ
  • ログイン時に自動起動のトグル(.app バンドルで起動しているときのみ)
  • Hako / Colima の新しいバージョンが公開されたらメニューに知らせを表示(1 日 1 回確認)

必要なもの

  • macOS 14.4+
  • colima / docker(Homebrew でインストールされていること)

インストール

brew install --cask nemooon/tap/hako
xattr -dr com.apple.quarantine /Applications/Hako.app

Apple Developer ID 署名なしのため、macOS が quarantine 属性を付けて起動を ブロックします。上の xattr で属性を外してから起動してください。 または、一度起動を試したあと「システム設定 → プライバシーとセキュリティ」の セキュリティ欄で「このまま開く」を選びます。

ソースから実行

swift run

.app としてビルド

./scripts/bundle.sh
open dist   # "Hako.app" をアプリケーションフォルダへ

ログイン時の自動起動は、メニュー下部の「設定 > ログイン時に起動」から設定できます。

リリース

  1. scripts/bundle.shVERSION を上げてコミット・push
  2. ./scripts/release.sh <リリースノートのファイル> — ビルド → zip → GitHub リリースを作成 (ファイルを省略すると gh がエディタを開きます)
  3. リリース公開をトリガーに .github/workflows/bump-cask.yml が動き、 nemooon/homebrew-tapCasks/hako.rb の version と sha256 を自動更新します

ワークフローには tap へ push できる PAT を TAP_GITHUB_TOKEN として リポジトリシークレットに登録しておく必要があります。

補足

  • docker compose down したプロジェクトはコンテナが残っていないため一覧に出ません(stop なら出ます)
  • compose のポート情報は、停止中でも docker inspect の設定値から補完しています

ライセンス

MIT

クレジット

このアプリは Claude Code(Claude Fable 5)とのペアプログラミングで作られました。

About

macOS メニューバーから Colima とコンテナを操作する常駐アプリ

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages