01/Documentation
Collieのインストール
アクセスに必要なフロントドアを選択したうえで、対象のシステム(Linux、Arch/Omarchy、Nix、macOS、Windows、またはHerdrプラグイン)向けにインストールします。初回起動、iPhoneやAndroid端末での設定、アップデート、アンインストールの手順を説明します。
お使いのシステムにCollieをインストールして起動し、スマートフォンからも利用できるようにします。Collieはその設計上、マシンへのリモートシェルアクセスを公開するため、まずセキュリティをお読みください。
始める前に
Collieにはフロントドアが必要です。フロントドアとは、HTTPS経由でCollieを配信し、アクセスをあなただけに制限する仕組みを指します。
デフォルトのフロントドアはTailscaleです。collie startが自動的にtailscale serveを実行し、スマートフォンからは専用のプライベートネットワーク(tailnet)経由でCollieにアクセスできます。このページでは以降、Tailscaleを使用することを前提とします。Identity-Aware Proxy、リバースプロキシ、Cloudflare Tunnel、NetBirdなどを代わりに使用する場合は、各製品のフロントドア設定を参照してください。
Tailscaleを使用する場合、事前に以下の3点を準備してください。
- ホストにTailscaleをインストールし、
tailscale upを実行してtailnetに参加させます。 - スマートフォンにTailscaleアプリをインストールし、同じアカウントでサインインして同一のtailnetに参加させます。
HTTPSが無効な場合、collie startはエラーを出力して終了します。スマートフォン上でCollieをホーム画面に追加したり、Web Pushを受信したりする際にもHTTPSが必要です。
2つの実行形態
Collieの実行形態は2種類あり、このページの各コマンドは形態ごとに記載されています。該当する列を選択し、以降のドキュメントでもその手順に従ってください。
| Herdrプラグイン | スタンドアロン | |
|---|---|---|
| インストール方法: | herdr plugin install AltanS/collie または herdr plugin link | インストールスクリプト、ソースビルド、またはパッケージ |
| 判別方法 | herdr plugin listでherdr.collieが表示される | collieがPATH上にあるか、~/.local/share/collie/current/bin/collieに配置されている |
| コマンドの表記: | herdr plugin action invoke <verb> --plugin herdr.collie | collie <verb> |
| アップデートの実行元 | updateアクション | collie update、またはパッケージマネージャー |
設定ファイル.env | ~/.config/herdr/plugins/config/herdr.collie/.env(herdr plugin config-dir herdr.collieで出力されます) | ~/.config/collie/.env、またはHerdrが動作しているホスト上のHerdrパス |
| 状態 | ~/.local/state/collie/ | ~/.local/state/collie/ |
collie doctorは、このインストール環境が実際に読み込む設定ファイルをconfig-file行の下に表示します。
Herdrプラグインであっても同じcollieバイナリを使用しており、アクションはそこへ転送されます(Herdr アクション)。プラグインインストールではPATHにcollieが存在しないため、アクションのないサブコマンド(pair、qr、logs、link、devices、stt、config)はプラグインのディレクトリからbin/collie <verb>として実行します。
Herdrは、Collieがミラーリングできる5つのマルチプレクサ(Herdr、tmux、zellij、tuios、tern)の1つでもあります。どれをミラーリングするかは個別に選択します(マルチプレクサの指定)。スタンドアロンのCollieはHerdrをミラーリングでき、Herdrプラグインはtmuxをミラーリングできます。
要件
Collie は Linux と macOS で動作します。x64 上の Windows 11 での Herdr 使用もサポート対象ホストですが、依然として実験的 (experimental) という扱いです。Windows のサポート を参照してください。
| ツール | 必要な用途 | 目的 |
|---|---|---|
curl、tar、sha256ツール(sha256sumまたはshasum) | バイナリインストールスクリプトとアップデート | リリースアーカイブのダウンロードと検証。 |
| Bun | ソースからのビルド | ブリッジの実行とWeb UIのビルド。 |
| git | ソースからのビルドとHerdrルート | リポジトリのクローンとアップデート。 |
| マルチプレクサ: Herdr、tmux、zellij、tuios、またはtern | すべてのインストール環境 | ミラーリング対象のバックエンドはCOLLIE_MUXで設定します。1.0においてtmuxとzellijは実験的機能であり、tuiosとternも実験的機能です。Collieをマルチプレクサに向けるおよびMUX_CONTRACT.mdを参照してください。 |
| Herdr ≥ 0.7.0 | Herdr バックエンドのみ | COLLIE_MUX=herdr の場合に必要。herdr --version で確認。 |
| Tailscale | デフォルトのフロントドア | tailscale serveはCollieをtailnet向けにプロキシします。別のフロントドアの背後で動作させる場合は不要です。 |
注。 Collieではtmuxやzellijの最低バージョンを強制していません。アダプタのテストはtmux 3.4、tmux 3.6b、zellij 0.44.2で実施済みです。tmux特有のエッジケースとして、window-size manualを使用しているサーバにおいて3.7未満のtmuxでウィンドウを作成するとクラッシュする問題に対応しています。Collieはこのリクエストをブロックし、tmux set -g window-size latestの実行を促します。
特定の機能でのみ必要なオプショナル依存関係:
| ツール | 必要な用途 |
|---|---|
| Node.js | ログ内の MagicDNS 名をフォーマットします。 |
| systemd / launchd | サービス監視。利用できない場合は nohup にフォールバックします。 |
web-push | 任意。Web Push を参照してください。 |
インストール
該当するシステムを以下から探し、記載されたコマンドを実行してから起動するに進んでください。
| System | 推奨手順 |
|---|---|
| Linux | インストールスクリプト |
| Arch Linux、Omarchy | collie-binパッケージ |
| NixOS、または任意のシステム上のNix | Flakeパッケージ |
| macOS、Apple SiliconまたはIntel | インストールスクリプト |
| Windows 11 (x64、Herdr 使用) | install.ps1 (実験的) |
| 上記のいずれか(Herdr内) | Herdrプラグイン |
Linux
curl -fsSL https://colliepwa.dev/install.sh | sh
collie startスクリプトはx86_64またはarm64向けのビルド済みバイナリをインストールします。スクリプトの処理内容およびバージョンを固定する方法については、スタンドアロンを参照してください。
collie start はブリッジを systemd --user サービスとして実行します。ログアウトすると停止します。SSH 経由で接続するサーバーでは、ログアウト後や再起動後も実行を継続させてください。
loginctl enable-linger $USER詳細は 再起動後も維持する を参照してください。
Arch Linux と Omarchy
git clone https://github.com/AltanS/collie.git && cd collie/packaging/aur
makepkg -si
collie startcollie-bin はまだ AUR や Omarchy のリポジトリにありません。当面は本リポジトリの PKGBUILD からビルドしてください。コンパイルは行われず、ビルド済みバイナリがダウンロードされます。公開後は、clone の代わりに sudo pacman -S collie-bin (Omarchy) または paru -S collie-bin (AUR) を使用します。
Omarchy には tmux と Herdr が含まれています。初回の起動時に、ミラーする対象をたとえば COLLIE_MUX=herdr collie start のように指定する必要があります。配置、アップデート、および削除については、パッケージの詳細の Arch と Omarchy で説明しています。
NixOS と Nix
nix profile install github:AltanS/collie#collie
collie startこれは NixOS、および x86_64-linux、aarch64-linux、aarch64-darwin 上で Nix を備えたすべてのシステムで動作します。NixOS モジュールはまだありません。残りの内容はパッケージの詳細の Nix にあります。
macOS
curl -fsSL https://colliepwa.dev/install.sh | sh
collie start公開されているMac用バイナリはApple Silicon(macos-arm64)とIntel(macos-x64)に対応しており、Bunのビルドがリンクする最小要件であるmacOS 13 以降が必要です。Intel用バイナリにはBunのbaselineターゲットを使用しているため、AVX2のないMacでも動作します。
collie start は ~/Library/LaunchAgents に launchd エージェントを登録します。ログイン時に Collie を起動し、障害発生時に再起動します。また tailscale serve も実行するため、tailscale コマンドが PATH に含まれている必要があります。Mac 用の Tailscale アプリなら設定画面からそのコマンドをインストールできます。
注。 SSH 経由でのみアクセスする Mac には launchd 用のログインセッションがありません。collie start はこの状態を報告し、監視なしでブリッジをバックグラウンド実行します。障害時の再起動はなく、ログイン時にも何も行われません。macOS 用のパッケージはまだありません。Mac では mise が機能するほか、aarch64-darwin の Nix 出力も使用できます。
Windows のサポート (実験的)
実験的。 Windows 11仮想マシン上の公開v1.16.0リリースでインストールを検証し、リリースファイルのローカルコピーを使ってアップデートのリハーサルを行いました。Tailscale Serveを経由したHTTPによるスマートフォンからのアクセスも実行済みです。2つの実リリース間でのアップデートと、HTTPSでのスマートフォンアクセスはまだ検証していません。今後のリリース確認にはWindows用zipが必須になります。メンテナーのみがLinuxのホットフィックスのためにこれを上書きできます。「サポート対象」とは、メンテナーがコードを管理してテストすることを意味します。Windowsページの条件がすべて満たされるまで「実験的」のままとなります。全内容はWindows 上の Collieに記載されています。
install.ps1 を実行します。Bun、Git、bashは不要です:
irm https://colliepwa.dev/install.ps1 | iexスクリプトを事前に確認する場合は、ファイルとして保存し、確認してから実行してください:
Invoke-WebRequest -OutFile install.ps1 https://colliepwa.dev/install.ps1
notepad install.ps1
powershell -ExecutionPolicy Bypass -File .\install.ps1その後、新しいターミナルを開いてHerdrを起動します。Herdrがそのターミナルを専有するため、2つ目のターミナルまたはHerdrペインを開き、そこでcollie startを実行してください。スマートフォンでCollieを開く手順を含むすべての手順は、セットアップからスマートフォンでの利用までに記載されています。
作業を始める前の確認事項:
- x64 上の Windows 11 (Herdr 使用時のみ)。 tmux、zellij、Windows 10、Windows on ARM は対象外です。
- アドレスは自分で公開します。 LinuxとmacOSでは、
collie startが自動でtailscale serveを実行します。Windowsでは実行されないため、手動で実行してください。Tailscaleを使う手順はスマートフォンからのアクセスに、リバースプロキシの手順はバリアント Cに記載されています。 - このリリースでは、Windows マシンを crew に参加させることはできません。
- ソースからビルドする場合は、Git for Windows の
bashが必要です。 zip からの導入にはツールチェーンは不要です。 - Windows 上では、ソースチェックアウトが自身を自動更新することはありません。 zip インストールへの移行には、1 回だけ手動操作が必要です:
collie uninstallを実行し、続いてinstall.ps1を実行します。以降はcollie updateが動作します。詳細は アップデート にあります。
スタンドアロン
インストールスクリプトは最新リリースを ~/.local/share/collie (COLLIE_DIR) にダウンロードし、バイナリを ~/.local/bin/collie にリンクします:
curl -fsSL https://colliepwa.dev/install.sh | sh
collie start最新の安定版リリースを取得し、既存のインストール環境には手を加えません。既存環境をアップデートするには collie update を使用します。正規のソースはリポジトリ内の scripts/install.sh です。sudo を一切呼び出さない 1 ページの POSIX sh です。実行する前にお読みください。
curl -fsSL https://raw.githubusercontent.com/AltanS/collie/main/scripts/install.sh | less
curl -fsSL https://raw.githubusercontent.com/AltanS/collie/main/scripts/install.sh | sh~/.local/bin が PATH に通っていない場合は、バイナリを直接実行します:
~/.local/share/collie/current/bin/collie versionバージョンを固定する場合、または既存のインストールを修復する場合 (collie が実行できない場合 を参照):
curl -fsSL https://colliepwa.dev/install.sh | COLLIE_TAG=v1.0.0 shスクリプトはリリースの情報を GitHub API に問い合わせますが、これには IP アドレスごとのレート制限があります。HTTP 403 が返される場合は、上記のようにバージョンを固定するか、スコープなしのトークンを GH_TOKEN に設定してください。GitHubがリリース確認をレート制限する場合 を参照してください。
プレリリースの場合は --beta を渡します。最新のプレリリースが選択され、正式リリースが提供されるまで、そのインストールはそのメジャーバージョンのプレリリースに追従します (プレリリース)。
ソースから同じ結果を得る手順
# 1. Clone and checkout latest stable tag
git clone https://github.com/AltanS/collie.git ~/.local/share/collie
cd ~/.local/share/collie
git checkout --detach "$(git tag --list 'v*' | grep -E '^v[0-9]+\.[0-9]+\.[0-9]+$' | sort -V | tail -1)"
# 2. Build runtime and UI
bash scripts/collie-ctl.sh build
# 3. Verify
bin/collie version
# 4. Optional: link to PATH
bin/collie linkソースからのビルドには Bun と git が必要です。bin/collie start で起動するか、リンクした後は collie start で起動します。
Herdrプラグイン
herdr plugin install AltanS/collie
herdr plugin action invoke start --plugin herdr.collie先に Herdr サーバーを起動してください (herdr または herdr server &)。これは Linux と macOS で動作します。
代わりにローカルの clone からインストールする場合:
git clone https://github.com/AltanS/collie.git && cd collie
herdr plugin link "$(pwd)"
herdr plugin action invoke start --plugin herdr.collieプレリリースの場合は herdr plugin install AltanS/collie --ref <tag> --yes でタグをインストールします。オプトインに必要な手順はこれだけです (プレリリース)。
パッケージからインストール
パッケージとは、パッケージマネージャーによって管理されるスタンドアロンのインストール環境です。インストール、アップデート、削除を処理します。各マネージャー用のコマンドは上記および パッケージの詳細 の下に記載されており、Linux と macOS 向けの mise も含まれています。
パッケージは Herdr プラグインではありません。Herdr 内に Collie のボタンを表示するには、インストールされたツリーを一度リンクします。
herdr plugin link /opt/collieHerdr は /opt をスキャンしないため、パッケージが自動検出されることはありません。プラグインの update および update-major アクションは実行を拒否し、パッケージマネージャーを参照するよう案内します。これは意図的な動作です。このツリーはパッケージマネージャーが管理します。
マルチプレクサの指定
Collie は1つのバックエンドをミラーリングします: COLLIE_MUX=herdr(デフォルト)、tmux、または zellij。
初回起動前に設定しておく必要はありません。start は稼働中の Herdr ソケット、起動している tmux サーバー、zellij セッションを検索し、検出結果を表示したうえで、必要に応じて設定ファイル .env を作成して選択内容を書き込みます。
ターミナルのプロンプトがない場合、start は検出された単一のバックエンドを選択して報告します。何も見つからない場合、または複数見つかった場合は、起動を拒否して COLLIE_MUX を設定するよう通知します。
事前に選択する場合は、初回の起動前に設定ファイルを用意しておきます。
mkdir -p ~/.config/collie
cp ~/.local/share/collie/current/.env.example ~/.config/collie/.envそのパスはインストールスクリプト用です。ソースのチェックアウトではルートに .env.example があります。Herdr プラグインの場合、ファイルは herdr plugin config-dir herdr.collie が指す場所に配置されます。その後、バックエンドとそのエンドポイントを設定します。
COLLIE_MUX=tmux # or: zellij
# zellij instead: COLLIE_MUX_ENDPOINT_ZELLIJ=<session>
COLLIE_MUX_ENDPOINT_TMUX=/run/user/1000/collie-tmux.sock注意。 起動後にそのcpを実行しないでください。startが書き込んだ直後のCOLLIE_MUX値を上書きしてしまいます。
環境の変化に合わせて後からファイルを編集してください。Collieをマルチプレクサに向けるを参照してください。
起動する
herdr plugin action invoke start --plugin herdr.collie # Herdr plugin
collie start # standalonestart は以下の処理を行います:
- 存在しない場合は
web/distをビルドする。 systemd --user(または launchd/nohup)下でブリッジを起動する。tailscale serve --bg 8787を実行する(HTTPS :443 → 127.0.0.1:8787)。- 接続バナーを表示する。
初回起動時の表示
collie start からの出力(Herdr の実行結果は JSON を返します。ログの確認は herdr plugin log list --plugin herdr.collie で行います):
$ collie start
building web UI (first run)… # linked clone only; a GitHub install already built
…bun install · typecheck · vite build output…
bridge started (systemd --user: collie)
tailscale serve (https) → tailnet :443 -> 127.0.0.1:8787
✓ Collie is running · v1.0.0+b158755
service systemd --user (collie) · active
local http://127.0.0.1:8787
tailnet https://myhost.tail1234.ts.netヘルスチェックが失敗した場合(⚠ Collie isn't answering on :8787 yet)は、トラブルシューティング を参照してください。
bridgeはsystemd --userサービスまたはmacOSのlaunchdエージェントとして動作します。ログイン時に起動し、障害時には再起動します(ARCHITECTURE.md §3)。Linuxでは、loginctl enable-linger $USERにより再起動後も実行が維持されます(再起動後も維持する)。
設定 でユーザーアクセスを、ペアリング(collie pair)でデバイスアクセスを設定します。
正常に動作しているか確認する
ステータスとログを確認します:
$ collie status
✓ Collie is running · v1.0.0+b158755
service systemd --user (collie) · active
local http://127.0.0.1:8787
tailnet https://myhost.tail1234.ts.net
serve config:
https://myhost.tail1234.ts.net (tailnet only)
|-- / proxy http://127.0.0.1:8787$ collie logs # journal timestamps trimmed here
[push] disabled (no VAPID keys configured)
[bridge] listening on http://127.0.0.1:8787 (poll 1500ms)
[bridge] WARNING: COLLIE_TRUSTED_USER is empty — any tailnet device/user that reaches the bridge is checked by its pairing token alone. Set it to your tailnet login (see README → Variant A).アクセスを制限するには、.env 内で COLLIE_TRUSTED_USER=you@example.com を設定して collie restart を実行します(設定)。ダッシュボードのコンテンツが表示されない場合は、トラブルシューティング を参照してください。
スマートフォンへの設定
スマートフォンでCollieを開き、ペアリングを行ってホーム画面に追加します。
- スマートフォンのTailscaleアプリがホストと同じtailnetに参加していることを確認してください。
- ホストで
collie qrを実行してコードをスキャンするか、collie urlが出力するURLを開きます。 - ホストで
collie pairを実行し、表示されたQRコードをスキャンします。
collie pairのQRコードを読み取ると、コードが入力された状態で「設定」→「システム」→「ペアリングされた端末」が開きます。「設定」→「システム」→「ペアリングされた端末」を手動で開き、コードを入力することもできます。Collieはペアリングされるまでどの端末にも応答しないため、それまでダッシュボードにはこのデバイスをペアリングが表示されます(デバイスをペアリングする)。
Collieはウェブアプリです。アプリストアを経由せず、ブラウザからホーム画面に追加して専用アイコンと全画面表示で利用できます。
iPhoneおよびiPad
- SafariでCollieのURLを開きます。
- 共有をタップし、次にホーム画面に追加をタップします。
- 追加をタップします。
iOS 16.4以降では、Chrome、Edge、Firefoxの共有メニューにもホーム画面に追加が表示されます。Web Appとして開くが表示されている場合は、選択したままにしてください。

Safariにはインストールボタンがありません。そのため手順を完了するまで、Collieの「設定」にこれらの手順を記載したインストールカードが表示されます。
注。 iPhoneまたはiPadでのWeb PushにはiOS 16.4以降が必要で、ホーム画面のアイコンから起動した場合にのみ動作します。そのアイコンからCollieを開き、「設定」で通知を有効にしてください。
Android
- ChromeでCollieのURLを開きます。
- Collieの「設定」を開き、一番上のカードにあるインストールをタップします。
このカードは、Chromeがインストール可能と判定した時点で表示されます。表示されない場合は、Chromeのメニュー(⋮)を開き、ホーム画面に追加、続いてインストールをタップしてください。一部のChromeビルドではアプリをインストールと表記されます。FirefoxやGalaxyブラウザでは、メインメニューにホーム画面に追加と表示されます。

Androidでは通常のブラウザタブ内でWeb Pushを利用できます。インストールによって追加されるのは、ホーム画面のアイコンと全画面表示モードのみです。
デスクトップ
ChromeとEdgeではアドレスバーにインストールアイコンが表示され、設定画面にはインストールカードが表示されます。macOSでは、Safari 17以降でファイル → Dockに追加を使用します。
各デバイス共通の注意事項
- インストールにはHTTPSが必要です。
COLLIE_SERVE_MODE=http環境ではブラウザがService Workerを無効化するため、Collieは標準的なブラウザタブでの動作に制限されます。 - 開発ビルド(リリースタグ以外のチェックアウト)は、リリース版との混同を防ぐため、オレンジ色のアイコンとともにCollie (dev)としてインストールされます。
- ペアリングは単一の端末に紐付けられます。使用する予定のスマートフォン、タブレット、ブラウザをすべてペアリングしてください。
初回起動
デバイスでCollieを初めて起動してダッシュボードを読み込むと、現在のセットアップ概要を示す案内画面が表示されます。ここには、アクティブなマルチプレクサ、ミラーリング先ホスト、実行中のペイン、入力を待機しているペイン、crewマシンの台数、および書き込み権限が一覧表示されます。
その下には、最大2つのアクション(デバイスのペアリング、タスクの開始、アラートの有効化、Collieのホーム画面への保存など)が提案されます。最後には、実行可能な6つのコアタスクが並びます。
この画面は読み込み時に表示済みとしてマークされるため、タブを閉じても再表示されません。後から確認する場合は、設定画面で初期画面を再表示するをタップしてください。
アップデート
1つのコマンドで、現在のメジャーバージョンの最新リリースを取得します。
herdr plugin action invoke update --plugin herdr.collie # Herdr plugin
collie update # standalone新バージョンを旧バージョンの横にステージングして切り替え、bridgeを再起動します。新バージョンが応答しない場合はロールバックします。
パッケージ版のインストールでは、パッケージマネージャーを使ってアップデートした後に再起動が必要です。パッケージマネージャーはファイルを置き換えるだけで、プロセスの再起動は行いません:
sudo pacman -Syu collie-bin # Omarchy; on the AUR: paru -S collie-bin
nix profile upgrade collie # Nix
mise upgrade --bump github:AltanS/collie # mise
collie restartパッケージ版の環境ではcollie updateは実行を拒否し、代わりに上記のコマンドを提示します。スマートフォンでも、アップデートボタンの表示される位置に同じコマンドが表示されます。
メジャーバージョンのアップグレードは、明示的な同意を伴う別個の手順です:
herdr plugin action invoke update-major --plugin herdr.collie # Herdr plugin
collie update --major # standaloneスマートフォンから定期アップデートを行うこともできます。「設定 → システム → アップデート」から1タップするだけで完了し、クルーリードの場合は1タップで全メンバーのバージョンが揃います。スマートフォンからの更新手順、事前確認、ロールバック、クルー、アップデートが途中で止まった場合の対処法については、管理とアップデートを参照してください。
アンインストール
次の3つの手順をこの順序で実行します。各手順で1つのレイヤーのみを削除します。
1. サービスとポートマッピングを削除する。 これによりブリッジが停止し、systemd --user ユニット(macOS では launchd エージェント)が削除され、Collie 自身の tailscale serve マッピングが解除されます。プログラムファイルと .env は保持されます。
herdr plugin action invoke uninstall --plugin herdr.collie # Herdr plugin
collie uninstall # standalone2. プログラムを削除する。
herdr plugin uninstall herdr.collie # Herdr plugin, installed from GitHub
herdr plugin unlink herdr.collie # Herdr plugin, a linked clone or a linked package
collie unlink # standalone: drop the ~/.local/bin/collie symlink
rm -rf ~/.local/share/collie # standalone: the install script's tree, or $COLLIE_DIR
sudo pacman -Rns collie-bin # package: Arch and Omarchy
nix profile remove collie # package: Nix
mise uninstall github:AltanS/collie@1.14.2 # package: mise, the version
mise unuse github:AltanS/collie # package: mise, the config lineリンクされたクローンは、ユーザー自身がチェックアウトしたものです。unlink を実行すると Herdr の登録が解除され、ディレクトリは削除するか保持するかをユーザー自身が判断できるように残されます。
3. 不要な場合は、ユーザー自身のファイルを削除する。 上記の操作ではこれらは一切変更されないため、再インストール時にもペアリングや設定がそのまま復元されます。
| 項目 | Herdrプラグイン | スタンドアロン |
|---|---|---|
設定ファイル(.env を保持) | ~/.config/herdr/plugins/config/herdr.collie/ | ~/.config/collie/、またはHerdrが動作しているホスト上のHerdrパス |
状態: ペアリング済みデバイス、crewファイル、stt.json、folders.json | ~/.local/state/collie/(または $COLLIE_STATE_DIR) | 同上 |
何も削除せずに一時停止するだけであれば、stop で十分です。
herdr plugin action invoke stop --plugin herdr.collie # Herdr plugin
collie stop # standaloneパッケージの詳細
PKGBUILD、Nix 式、およびそれらの説明は、このリポジトリの packaging/ にあります。どのパッケージにもリリースで公開済みのコンパイル済みバイナリが含まれているため、マシン上でのビルド(Bun、git、コンパイルなど)は一切行われません。リリースフォルダ全体が1つのプレフィックス配下に配置され、collie がそこへのシンボリックリンクとして PATH 上に配置されます。macOS 向けパッケージはまだありません。aarch64-darwin の flake 出力が最も近い手段です。
Arch
collie-binはまだAURに登録されていません。現在AURでは新規アカウント登録が停止されており、登録が再開され次第、公式アカウントからパッケージを公開する予定です。それまでは、本リポジトリのクローンからビルドしてください:
git clone https://github.com/AltanS/collie.git && cd collie/packaging/aur
makepkg -si
collie startmakepkgは使用中のアーキテクチャに応じたリリースターボールをダウンロードし、リリースの整合性マニフェストと照合してsha256を検証した上で展開します。Bun、他のリポジトリのgitクローン、コンパイルは不要です。
AURに登録された後の場合、AURヘルパーは同じPKGBUILDをインストールします:
paru -S collie-bin # or: yay -S collie-bin
collie start以降の更新には、インストール時に使用したコマンドと同じparu -S collie-binまたはyay -S collie-binを実行します。sudo pacman -Syu collie-binは、Omarchyなどパッケージを提供するリポジトリが存在する場合にのみ機能します。
パッケージはリリースクローンツリーを/opt/collieにインストールし、そこへのシンボリックリンクとして/usr/bin/collieを配置します。README.md、CHANGELOG.md、docs/は/usr/share/doc/collie-bin/に、ライセンスは/usr/share/licenses/collie-bin/に配置されます。collieを提供し、それと競合するため、将来のソースパッケージと同時にインストールすることはできません。systemdユニットは有効化されません。collie startを実行すると、通常のインストール後と同様に独自の--userユニットが生成されます。
注。 アップグレード後は毎回collie restartを実行してください。pacmanはファイルを置き換えるだけで再起動は行わないため、再起動するまでサービスは削除済みバイナリ上で古いビルドを実行し続けます。collie doctorはこれをrestart-pendingとして報告し、スマートフォン側には実行すべきコマンドとともに「Collie was replaced on disk. Restart it.」と表示されます。
アンインストール に記載されている3つの手順(collie uninstall、リンクした場合のみ herdr plugin unlink herdr.collie、その後に sudo pacman -Rns collie-bin)で削除します。pacman は /opt/collie と /usr/bin/collie のみを削除し、それ以外は削除しません。
Omarchy
sudo pacman -S collie-bin
COLLIE_MUX=herdr collie startOmarchyにはtmuxとHerdrの両方が同梱されています。Collieは1回のインストールにつき1つのマルチプレクサをミラーリングするため、初回の起動時には操作対象を明示的に指定する必要があります(検出された2つのうちどちらかを推測することはありません)。startを実行すると、その名称がCollieの.envに書き込まれます(Herdrが動作するホストでは~/.config/herdr/plugins/config/herdr.collie/.env)。以降の起動はcollie startで済みます。
これはcollie-binがOmarchy自身のパッケージリポジトリに追加された後に機能します。現在、追加用のプルリクエストは未マージです。マージされるまでは、上記の通常のArch環境と同様にpackaging/aurからmakepkg -siを使用して同じパッケージをビルドしてください。
以降のアップデートは、マシンの更新に普段使用しているコマンドであるsudo pacman -Syuで行われます。pkgs.omarchy.orgは正規のpacmanリポジトリであるため、AURヘルパーは使用しません。どちらの方法でも、同一のPKGBUILDおよび/opt/collieレイアウトが維持されます。
注。 更新はパッケージマネージャーから行われ、Collieが自身を自動更新することはありません。collie updateは処理を拒否します。スマートフォンの更新通知バーには「Collie x.y.z available via pacman.」と表示され、パッケージマネージャーがディレクトリを管理しているため、Updatesページには更新ボタンの代わりにコピー用のコマンドが表示されます。Collieはリポジトリ向けの表記であるsudo pacman -Syu collie-bin形式を案内します。AURインストールの場合は代わりにAURヘルパーを実行してください。前述のとおりpacmanは再起動を行わないため、アップグレード後はcollie restartを実行してください。
crew内では、このマシンがスマートフォンから更新を受け取ることはありません。crew内では「waits for the package manager」と表示され、マシン上でヘルパーを実行したときにのみ更新されます。
上記のArch環境と同じ3ステップで削除します。
Nix
nix profile install github:AltanS/collie#collie
collie startこのflakeは、x86_64-linux、aarch64-linux、aarch64-darwin向けにpackages.<system>.collieをエクスポートします。リリースの整合性マニフェストに記載されたsha256に基づいて各プラットフォーム向けのリリースタールボールを取得し、Linux上ではバイナリのインタープリタをパッチした上で、リリースツリーを<store-path>/lib/collieにインストールし、bin/collieへのシンボリックリンクを作成します。インストールせずに一度だけ実行するには、nix run github:AltanS/collie#collie -- doctorを使用します。
意図的にソースビルドは行っていません。依存関係のインストールにはネットワークアクセスが必要ですが、Nix derivation内ではネットワークが利用できないためです。そのため、パッケージはリリースですでに公開されチェックサム検証済みのバイナリをラップしています。
現時点ではNixOSモジュールは存在せず、flakeパッケージのみが提供されています。そのため、nix profileを使用してください。上記のようにプロファイルへインストールするか、flakeの出力をhome-managerまたはenvironment.systemPackagesのリストに手動で追加してください。
注。 更新はnix経由で提供されるため、この環境ではCollie自身による自己更新は行われません。collie updateは更新を拒否して代わりにnix profile upgrade collieを提示し、電話側では更新ボタンの代わりにそのコマンドとともに新しいバージョンが表示されます。
crew内では、このマシンがスマートフォンから更新を受け取ることはありません。crew内では「waits for the package manager」と表示され、マシン上でnixを実行したときにのみ更新されます。
まずcollie uninstallで削除し、その後に以下を実行します。
nix profile remove collieこれによりプロファイルから store パスのみが削除されます。アンインストール に記載されているユーザー自身のファイルはそのまま残ります。
macOS上のHome Managerエージェント
collie status
launchctl print "user/$(id -u)/herdr.collie"collie statusは、gui/<uid>とuser/<uid>の両方でインスタンスのラベルを検出し、そのドメインとプロセス状態を報告します。両方のドメインにラベルが存在する場合は両方を報告するため、停止したGUIエージェントによって実行中のバックグラウンドエージェントが隠れることはありません。環境変数の上書きは不要です。
既存のHome Managerで管理されたCollieエージェントの場合、以下の設定でバックグラウンドドメインを選択します(Home Manager 26.11以降):
launchd.agents.collie = {
domain = "user";
config.Label = "herdr.collie";
};これはエージェント定義への追加設定であり、完全なサービスモジュールではありません。コマンド、環境変数、ログパスの設定はHome Manager側に保持してください。Collieが管理対象のplistを書き換えることなくlaunchdがブリッジを監視できるよう、ブリッジの実行にはcollie startではなくcollie _exec-bridgeを使用してください。認証情報とペアリング状態はNix storeの外部に保持します。フロントドアはcollie serveで個別に設定するか、external-proxyのセットアップを使用してください。
名前付きインスタンスの場合、ラベルherdr.collie-<name>を使用し、エージェントとCLI環境の両方で同じCOLLIE_INSTANCE、COLLIE_PORT、設定ディレクトリを使用してください(複数インスタンス)。
注。 サービスのライフサイクルはHome Managerが管理します。collie start、stop、restart、uninstallを実行するのではなく、宣言を更新または削除した上でHome Managerをアクティベートしてください。これらのコマンドは引き続きCollieのGUIドメインエージェントを管理しますが、ステータス検出によって管理権限が移行することはありません。collie pair、devices、url、logsは通常どおり使用し続けてください。
mise
mise use -g github:AltanS/collie@1.14.2
collie startmise use -gはツールを~/.config/mise/config.tomlに書き込み、リリースのbin/をPATHに追加します。githubバックエンドがプラットフォーム用のリリースターボールを取得するため、BunやコンパイルなしでLinuxおよびmacOS上で動作します。web/distやherdr-plugin.tomlを含むツリー全体が~/.local/share/mise/installs/github-altan-s-collie/<version>/配下に配置され、collieはそこから自身のルートを解決します。
新しいバージョンに更新するには、同じmise useの記述で新しいタグを指定するか、miseに最新版を選択させます:
mise upgrade --bump github:AltanS/collie
collie restart重要なのは--bumpフラグです。固定された1.14.2は範囲が1つに制限されるため、単にmise upgradeを実行しても最新と判定され、何も更新されません。
再起動は必須です。バージョンごとに独立したディレクトリが作成され、collie startは実行元のディレクトリをサービス定義に埋め込むため、再起動するまでサービスは古いディレクトリから古いバージョンを提供し続けます。collie restartを実行すると、Linuxではsystemd --userユニット、macOSでは~/Library/LaunchAgents plistの定義が新しいパスで書き直されます。どちらのOSでもコマンドは1つです。
注。 SSH経由でのみ管理されているMacには、エージェントを読み込むためのgui/<uid>ドメインが存在しません。その場合collie startはその旨を表示し、ログイン時の自動起動や障害時の自動再起動を行わない、監視なしのバックグラウンドブリッジとして起動します。collie restartを実行すれば、新しいディレクトリへの移行は問題なく行われます。
注。 ここではcollie updateが拒否され、パッケージマネージャー名は提示されずにcannot tell how this Collie was installedと表示されます。miseのツリーはホームディレクトリ内に配置され、独自の.gitを持たず、上位にversions/構造も存在しないため、Collieはこれをチェックアウトとしてもパッケージとしても認識しません。この環境での更新はmiseが担当するため、上記の2つのコマンドで更新を行います。
まずcollie uninstallで削除し、その後に以下を実行します。
mise uninstall github:AltanS/collie@1.14.2
mise unuse github:AltanS/collieuninstall で該当バージョンのディレクトリが削除され、unuse で設定からその行が削除されます。どちらのコマンドでもツールの完全名である github: を指定してください。短縮形の collie は upgrade では機能しますが、uninstall では機能しません。アンインストール に記載されているユーザー自身のファイルは保持されます。