ユーザマニュアル
FrontierStack
デスクトップ版
Apache・データベース・メール・セキュリティなど 1,000 以上のサービスを、Mac とフリート全体でインストール・実行・監視。AI 管理者が舵を取ります。
目次
- 12スクリプト・cron・自動化
- 13AI 管理者
- 14MCP と自前 AI からの操作
- 15AI スタック
第 I
はじめに
FrontierStack とは何か、その考え方、そして Mac で動かすまで。
第 1
はじめに
Apple が手放したサーバコントロールパネルを、1 台の Mac からフリート全体まで再構築。サーバを実際に把握し修正できる AI が舵を取ります。
Apple が macOS Server.app を終了したとき、Mac ユーザは Web サイトやサービスを手軽に運用する手段を失いました。FrontierStack はそれを取り戻し、さらにその先へ進みます。Apache・PHP・MySQL・PostgreSQL・Nginx をはじめ 1,000 を超えるサービスを、目の前の Mac でも、連携したすべてのサーバでも、インストール・制御・保護・監視します。そして、ツールを使う AI 管理者が舵を取ります。
本マニュアルはデスクトップアプリの完全リファレンスです。iPhone/iPad アプリについては別冊のモバイル版マニュアルを参照してください。まず本章を通してお読みください。その後は必要なパートへお進みください。
1.1FrontierStack とは
FrontierStack はネイティブの macOS アプリです — Web パネルでも、世話の焼けるコンテナでもありません。実際のマシン上の実サービスを、それぞれが標準で備えるツール(Homebrew フォーミュラ、launchd・systemd ユニット、Apache・Nginx の設定、証明書、ファイアウォール、SSH)を使って管理します。次の 3 つを同時に実現します。
- コントロールパネル。検証・ライブ状態・ワンクリック修正付きで、サービスをインストール・起動・停止・設定 — 現代化した macOS Server の後継です。
- 監視・通知システム。継続的なヘルススイープがサービス・サイト・証明書・ディスク・フリート全体を見守り、トラブルの最初の兆候を、選んだチャネルへのメッセージに変えます。
- AI 管理者。あなたの構成を正確かつライブに把握する、ガードレール付きのツール使用アシスタント。何が壊れているか診断し、あなたが承認する修正案を提示し、ローカルでもフリート全体でも実行し、アプリをあなたの構成ぴったりに作り替えます。
1.2AI ファーストの設計
多くのアプリはチャットボックスを横に付け足すだけです。FrontierStack は逆です。AI は、あなたが使うのと同じ操作を行う一級のオペレータです。AI は監査済みの固定されたツール(ログを読む・診断を実行する・サービスを再起動する・証明書を発行する・ファイルを書く)を通じてのみ動作するため、その行為はすべてあなたが手作業でできることであり、システムを変更する操作はすべて、実行前にあなたの承認のため提示されます。
本番サーバを任せられるだけの安全性を支えるのは、3 つの原則です。
- 既定は読み取り専用。初期状態ではアシスタントは見るだけで触れません。変更とスクリプトは明示的なトグルで解除し、変更を伴う操作はすべて実行前に承認カードを表示します。
- 秘密情報はモデルに届きません。パスワードや API トークンはローカルの
.envボールトに置きます。スクリプトは名前で参照し、アプリが実行時に(ローカルまたは SSH 経由で)実際の値を注入します。クラウドモデルが見るのは名前だけで、値は決して見ません。ログやファイルは送信前に秘密情報を伏せます。 - AI は自前で。クラウドモデルでもローカルモデル(Ollama・LM Studio)でも接続できます。MCP 経由で自分のサブスクツール(Claude Code・Cursor)から動かせば、従量課金のトークン請求は一切ありません。
1.3対象ユーザ
FrontierStack は、Mac でサーバを運用している(あるいは運用したい)すべての方に向いています。
- MAMP や XAMPP ではなく、クリーンなローカルスタックを使いたい開発者。
- POS・CRM・EC・メール・ヘルプデスクを Mac mini でセルフホストする小規模事業者。
- 旧来の Xserve や Mac mini を macOS Server のままリモート管理で活かしたい管理者。
- 従量課金の SaaS からセルフホストへ移行したい方、あるいは Mac・Linux・BSD・Raspberry Pi のフリートを 1 つの画面から運用したい方。
1.4主要な概念と用語
本マニュアル全体で繰り返し登場する用語を、ここで一度だけ紹介します。
| 用語 | 意味 |
|---|---|
| サービス | FrontierStack がインストール・実行・監視できるもの — Apache、データベース、メールサーバ、コンテナ、ルータ連携など。一覧がカタログです(第 6 章)。 |
| ペイン | サイドバーから開く、1 つのサービスやツールの画面。 |
| ヘルパー | 毎回パスワードを求めずに管理操作を行う小さな特権ツール(SMAppService デーモン)。任意。初回起動時にインストールします。 |
| ロケーション | Mac が今ネットワーク上のどこにいるか(自宅・オフィス・外出先)。ロケーションにより、アラートや到達性がネットワークを意識したものになります(第 8 章)。 |
| 連携サーバ | SSH で接続した別マシン。FrontierStack が診断やスクリプトを実行できます。それらの総体がフリートです。 |
| AI 管理者 | 組み込みのツール使用アシスタント。AI ハーネスとも呼びます。第 13 章で詳説します。 |
| MCP | Model Context Protocol — 外部の AI ツール(Claude Code・Cursor)が、同じガード付きツールを通じて FrontierStack を操作できる開かれたインターフェイス(第 14 章)。 |
| 秘密情報/ボールト | ローカルの .env ストアにある名前付きの資格情報。スクリプトは $NAME で参照し、値は Mac に留まります。 |
1.5本マニュアルの構成
マニュアルは作業の流れに沿っています。
- パート I — はじめに:インストール、初回起動、インターフェイスの概観。
- パート II — サービスの運用:Web スタック、データベース、全カタログ、サイトとドメイン。
- パート III — フリート・ネットワーク・セキュリティ:サーバ連携、ネットワークと境界、堅牢化、監視とアラート。
- パート IV — 自動化と AI:スクリプトとスケジュール、AI 管理者の全容、MCP、AI スタック。
- パート V — ビジネスとリファレンス:業種別ソリューション、設定、ショートカット、ライセンス、トラブルシューティング。
まったく初めての方は、第 2 章「インストールと初回起動」へお進みください。AI だけを理解したい方は第 13 章へ進んでも構いませんが、そこでの安全モデルは上記の概念を前提とします。
第 2
インストールと初回起動
ダウンロードから動くスタックまで。macOS が求める許可、管理作業を楽にする任意のヘルパー、そして既存の MAMP・XAMPP・Server.app 構成の移行までを案内します。
FrontierStack は他の Mac アプリと同じようにインストールできます — /Applications にドラッグして開くだけです。その先はあなた次第です。macOS が標準で出す操作ごとのパスワードプロンプトのまま動かすことも、一度だけ少数の許可を与えて以後は一切尋ねられないようにすることもできます。本章では初回起動の全体をたどり、続いて既存のローカルスタックを移行してサイトとデータベースを引き継ぐ方法を示します。
2.1システム要件
FrontierStack は署名済みのネイティブ macOS アプリです。必要なものは次のとおりです。
| 要件 | 詳細 |
|---|---|
| macOS | macOS 13(Ventura)以降。任意のヘルパーは SMAppService を使い、これは macOS 13 以降の API です。 |
| アーキテクチャ | Apple シリコンまたは Intel。アプリは Apple シリコンでは /opt/homebrew(Intel では /usr/local)の Homebrew スタックを管理します。 |
| Homebrew | 推奨ですが起動には必須ではありません。大半のサービスは Homebrew フォーミュラとしてインストールされ、FrontierStack が代わりに Homebrew をインストールできます(後述)。 |
| 管理者アカウント | Mac の管理者アカウント。サービスのインストールやシステム設定の編集には管理者権限が必要です — 任意のヘルパー経由か、macOS が操作ごとに出すパスワードプロンプト経由のいずれかです。 |
どれも特別なものではありません。現行の macOS を動かせる程度に新しい Mac なら、FrontierStack も動きます。
2.2ダウンロードと初回起動
アプリをダウンロードし、FrontierStack.app を /Applications フォルダに移動してダブルクリックします。アプリは Enfour, Inc.(Apple Developer チーム 6Y87KNMALP)によって署名・公証されているため、macOS は「開発元未確認」の警告なしに開きます。
- FrontierStack を開きます。メインウィンドウが表示され、左にサービスのサイドバー、中央にヘルス概要が現れます — 第 1 章で見たレイアウトです。
- Homebrew がまだ無い場合、それを必要とするペインはその旨を表示し、インストールを提案します。今でも後でも構いません。
- FrontierStack は単一インスタンスを強制します。既に 1 つ開いている状態でもう一度起動しても、2 つ目が立ち上がるのではなく、既存のウィンドウが前面に出てくるだけです。これにより、2 つのウィンドウが同じサービスや設定ファイルを奪い合うのを防ぎます。
初回起動はシステムに何の変更も加えません。アプリはインストール済みのものを読み取って状態を表示するだけで、あなたが指示するまで何も起動・停止・再設定はしません。
2.3特権ヘルパー — と macOS が求める許可
サービスの起動・停止やシステム設定(Apache・Nginx・MySQL・DNS・ファイアウォール)の編集は特権操作です。初期状態では、FrontierStack はそれぞれを標準の macOS 認可プロンプト経由で実行します。つまり毎回パスワードを入力します。安全ではありますが、すぐに煩わしくなります。
任意のヘルパーがこの手間を取り除きます。これは小さな特権ツール — SMAppService デーモン — で、アプリが macOS に登録することで、毎回パスワードを再入力せずに管理操作を実行できます。インストールは意図的に行います。サイドバー下端の「インストール」の案内を使うか、ある操作が初めてそれを必要としたときのプロンプトを承認します。
- サイドバー下部のヘルパー行で「インストール」をクリックします。
- macOS が「ログイン項目と機能拡張」の承認を表示します(または「システム設定 ▸ 一般 ▸ ログイン項目」でバックグラウンド項目の有効化を求めます)。承認してください — これはデーモンの実行を許可するかどうかを macOS が尋ねているのであり、アプリが何かを上書きしているのではありません。
- サイドバーの行が、ヘルパーが登録され実行中であることを示す表示に切り替わります。以後、サービスの起動/停止や設定編集は操作ごとのパスワードプロンプトなしで進みます。
ヘルパーはいつでも削除できます。その場合 FrontierStack は操作ごとの管理者プロンプトに戻ります。どちらのモードでも動作します — ヘルパーは純粋に利便性のためのものです。
6Y87KNMALP)によって署名されており、それこそが SMAppService デーモンとしての登録を可能にします。ヘルパーはアプリが駆動する特権操作のみを実行します。任意であり、意図的にインストールし、削除できます。AI 管理者やすべてのリモート操作と同じく、あなたが有効化するまでオフです。完全な信頼モデルは第 10 章を参照してください。2.4Homebrew のインストール
カタログの大半 — ウェブサーバ、データベース、キャッシュ、メール、多数の CLI ツール — は Homebrew フォーミュラとしてインストールされます。Homebrew は FrontierStack がそれらのサービスを取得・更新するために使うパッケージマネージャなので、Mac にまだ無ければ早めに用意しておくとよいでしょう。
サイドバーから Homebrew ペインを開きます。Homebrew が無い場合、ペインは「Homebrew isn't installed. It's the package manager this app uses to install services.」と表示し、「Get Homebrew…」ボタンを出します。インストールはアプリのアプリ内コンソールで実行されます。公式の Homebrew インストーラを走らせ、インストーラが管理者権限を必要とする時点であなた自身がコンソールにパスワードを入力します。FrontierStack はそれを取得も保存もしません — プロンプトは Homebrew 自身のものです。
Homebrew が用意できると、ペインは本格的なパッケージマネージャになります。インストール済みフォーミュラ/キャスクとそのバージョンの検索可能な表、「Install formula or cask」フィールド、未更新件数を表示する「Update All」ボタン、行ごとの「Update」/「Uninstall」操作が揃います。AI 管理者は install_homebrew と install_package ツールで同じ流れを駆動でき、これもパスワードを入力するアプリ内コンソール経由です。
2.5Command-Line PATH ペイン
FrontierStack はインストール済みツールを、シェルと同じやり方で解決して検出します。ときおり、pip・pipx・virtualenv・非標準のプレフィックスでインストールしたツールがアプリの見る PATH に無く、ツールが未インストールと報告されることがあります。Command-Line PATH ペインがこれを解決します。
- シェルプロファイル(例:
~/.zprofile)を選びます。追加したディレクトリは、そのファイル内の明示的にマークされた管理ブロックに書き込まれ、PATH の先頭に追加されます — 変更を反映するには新しいターミナルを開いてください。 - 「Directories to add」では、入力するか「Choose…」でパスを追加できます。最上位のエントリが最初に検索されます。「Current PATH (effective)」はログインシェルの PATH を表示し、アプリが管理するエントリにタグを付けます。
- PATH Doctor はツールが検出されない理由を診断します。コマンド(例:
mlx_lm.server、gcloud)を入力すると、アプリが見つけるか、シェルだけが見つけるか、そもそもインストールされていないかを報告します — アプリに欠けているディレクトリにはワンクリックの「Add to managed PATH」が付きます。
2.6インストールウィザード
ゼロから始めるなら、サイドバーのインストールウィザードが動くスタックへの最短ルートです。目的のユースケース — WordPress/PHP、フルスタック JS、Python/Django、Rails、静的サイト、データベース、リバースプロキシ — を選ぶと、その目的に推奨されるコンポーネント(ウェブサーバ、データベース、キャッシュ)が自動選択されます。好みに合わせて選択を調整すると、Homebrew で一式インストールします。
同じペインでは、ネイティブの Apache + MySQL + PHP スタックの状態をひと目で確認でき、Mac に既にあるオールインワンバンドル — XAMPP、MAMP、AMPPS、Local — を検出します。見つかった場合は、並行スタックをインストールするのではなく「セットアップを移行」へ誘導するので、何もかも二重に動かす羽目になりません。
2.7既存スタックの移行
すでに MAMP・XAMPP・Apple の Server.app でローカルにサイトを運用しているなら、作り直す必要はありません。「セットアップを移行」ペインがそれらのスタックを検出し、その構成要素を FrontierStack のネイティブ Homebrew スタックに取り込みます。ウェブファイル、MySQL データベース、PHP 設定、そして各サイトを定義する Apache vhost です。
- 「セットアップを移行」を開きます。インストール済みのソース — MAMP/MAMP Pro、XAMPP、Apple Server — をスキャンし、見つかったもの(サイト、データベース、PHP の検出有無)を報告します。(AI 管理者の
detect_migration_sourcesツールが同じ読み取り専用スキャンを実行します。) - 「Sites to import」一覧を確認します。各候補はサーバ名と待ち受けポートを表示し、きれいに移行できないものは理由とともに「Skipped」に並びます。
- 設定については、「Import All Settings」がソースの
php.ini・my.cnf・nginx.confを対応する Homebrew 設定に上書きコピーします。各ファイルの.pre-mamp.bakバックアップが残るので、比較や復元ができます。 - 「Import Selected」を選んで移行を実行します。必要な Homebrew サービスのインストール、ウェブファイルのコピー、MySQL データベースの移行、vhost の取り込みが進む様子が、ペインにライブ進捗として表示されます。
- 実行後は確認してください。ソースの設定は旧ツールのパスやポート(例:MAMP の
extension_dir・datadir・socket、ポート8889)を参照していることが多いため、運用に頼る前に取り込んだ設定を点検してください。
AI 管理者は run_migration でこれを一気通貫に駆動できますが、ソースを検出してあなたに確認した後でのみ — しかも変更が有効な場合のみです。
.pre-mamp.bak バックアップは設定ファイルを対象とし、データベースは対象外です。2.8データの保存場所
FrontierStack は自身の状態を予測可能な標準的な場所に保持するため、何に触れているかが常に分かり、バックアップもできます。
| 対象 | 場所 |
|---|---|
| アプリ設定・データ | ~/Library/Application Support/FrontierStack/ |
| 秘密情報・トークン | macOS キーチェーン、サービス jp.co.enfour.frontierstack 配下 |
| アプリ管理の Apache 設定 | /opt/homebrew/etc/httpd/frontierstack/ — アプリが所有する専用ディレクトリで、手で編集した Apache 設定とは分離されています |
| アプリログ | ~/Library/Logs/FrontierStack/ |
アプリの Apache 設定を専用の frontierstack/ ディレクトリに置くことで、FrontierStack は手作業で保守している設定を壊さずに安全に vhost を管理できます。バンドル識別子は jp.co.enfour.frontierstack です(ヘルパーと DDNS コンポーネントは .helper および .ddns のサフィックスを使います)。
アプリをインストールし、ヘルパーを決め、Homebrew を整え、古いスタックを移行したら、いよいよ実際に使う準備が整いました。第 3 章「インターフェイス」でウィンドウを詳しく案内します。サイドバー、ペイン、検索、メニューバー、そして毎日使うコントロールです。
第 3
インターフェイス
1 つのウィンドウに、1,000 のサービス。本章はその案内です。サイドバー、ペイン、フローティングパレット、検索、ヘルプ、そしてアプリを邪魔にしないための細やかな工夫を見ていきます。
FrontierStack は膨大な種類のサービスを管理しますが、それらを 1 つの見慣れた macOS ウィンドウで提示します。左にサービスのサイドバー、中央に選択中のサービスの画面、そしてツールバーには常時使えるツールが並びます。このレイアウトを一度覚えれば、Apache から Cloudflare ゾーンまで、本書のどのペインも予想どおりの場所に収まります。本章ではインターフェイスを端から端まで案内します。以降の章が単に「Sites ペインを開く」と言うだけで、やり方が分かるようになります。
3.1メインウィンドウ
ウィンドウは標準的な macOS の NavigationSplitView で、3 つの領域から成ります。左はサービスサイドバー。表示すると選んだすべてのサービスとツールを、カテゴリごとにまとめた、スクロール・折りたたみ可能なリストです。中央はアクティブなペイン。サイドバーで選んだものの画面で、独自のヘッダー・タブ・コントロールを持ちます。上部に渡るのがツールバー。そのボタンはどのペインにいても使えます。
ツールバーには右から左へ、検索(虫めがね、⌘F でも)、AI アシスタント(ワンド。フローティングのコマンドパレットを開きます)、現在の作業ディレクトリにターミナルを開く Shell ボタン、macOS がライトでもダークを強制するダークモード切り替え、そして選択中のペインがフロート可能なときの切り離しボタンが並びます。Setup に未保存の変更があると、ここにオレンジの未保存メニューも現れます。
サイドバーの幅は自由に設定できます。仕切りをドラッグすれば、FrontierStack は起動をまたいで記憶します。最後に選んでいたペインも再オープン時に復元され、続きから始められます。
3.2サービスサイドバー
サイドバーは 2 段構成です。上部に Overview — アプリ自身の組み込みツール(Local Health、Status Page、Alerts、Domains、Logs、Certificates、Notes、Scripts、Setups、Settings ほか)。その下に、サービスカテゴリごとのセクション — Web Servers、Databases、Caching、Mail、Networking、Security Tools、Containers、AI など多数 — それぞれカタログ(第 6 章)から表示を選んだサービスが並びます。各セクションヘッダーのシェブロンをクリックすれば折りたためます。畳んだグループはアプリが記憶します。
各サービス行は、起動中はステータスドットを表示します。サービスを右クリックすると 2 つのクイック操作が出ます。Pin to Top of Section はよく触るサービスをカテゴリの先頭に固定し、Hide はサイドバーから外します。Hide で何かがアンインストールされることはありません — サービスは動き続け、検索から到達できます。リストを散らかさなくなるだけです。
カテゴリの下には、アプリの他の場所でピン留めしたものに応じてセクションが増えます。連携サーバ(どのサービスが動いているかを示す小さなカテゴリアイコン付き)、監視中の Wi-Fi ネットワーク、Cloudflare ゾーン、Kubernetes クラスタ。サイドバー上部のフィルタ欄に入力すれば、すべてのセクションを一度に絞り込めます。
3.3Presets と Setups
サイドバーの表示を決めるのは 2 つの機能です。Presets メニュー(メニューバー)は、ユースケースを丸ごと一気に読み込む近道です。Base — show services for… セクションはサイドバーをシナリオ向けの厳選セット(Web スタック、メールサーバ、ショップ)に切り替え、Add to current view… は今ある表示にグループを追加します。Show All はすべてを表示する逃げ道で、見つからないときに使います。
Setups はさらに踏み込みます。Setup は作業ビュー全体の名前付きスナップショットです — どのサービスを隠し、どれをピン留めし、さらに開いているフローティングパレットとその位置まで含みます。Presets ▸ Save Current as Setup…(または Setups ペイン)で保存し、Presets メニュー上部で切り替えます。アクティブなものにはチェックが付きます。パレットのレイアウトはウィンドウを動かすたびにアクティブな Setup へ自動保存されるので、Setup は常に実際の働き方を反映します。表示サービスを変えると Setup は未保存(dirty)になり、ツールバーにオレンジの未保存バッジと Update・Save as New・Revert が出ます。
Setup はロケーション(第 8 章)に紐づけることもできます。「Office」の Setup をオフィスのネットワークに紐づければ、到着時に自動で切り替わります — 今いる場所に合った、正しいサービスと正しいパレットへ。
3.4フローティングパレットとミニパレット
他の作業をしながら 1 つの画面を見えるようにしておきたいことがあります。モニタ系のペインは切り離してフローティングパレットにできます。macOS の NSPanel を用いた、常に最前面に出る小さなユーティリティウィンドウで、メインウィンドウや他のアプリの上に留まります。ツールバーの切り離しボタン(または最前面のパレットを閉じる ⌘⌥⇧W)を使います。Local Health、Containers、Cloud Servers、Wi-Fi Analyzer などがフロートできます。
もっと省スペースにしたいならミニパレットがあります — ペイン全体ではなく、ひと目で分かるコンパクトな要約です。ミニは Local Health、Cloudflare Zones、Wi-Fi、Printers、Router & Network、Containers、Scripts、Message Delivery、AWS にあります。各ミニ行には、詳細が必要なときに対応するペインをメインウィンドウで開くボタンがあります。開いているパレットは Setup の一部なので、保存したビューはフローティングウィンドウを配置どおりに復元します。
3.5コマンド/AI パレット
ツールバーのワンドボタンは AI アシスタントパレットを開きます — ドラッグ可能で常に最前面の NSPanel で、何でも尋ねられる入力欄が 1 つあります(「サイトが落ちている理由は?」「MySQL をチューニングして」「使っているものだけ表示して」)。第 13 章で扱う AI 管理者そのものを、作業の傍らに置けるフローティングウィンドウとして出したものです。他のフローティングパレット同様メインウィンドウの上に留まりますが、他と違って応答し、修正を提案し — あなたの承認のもとで — 実行します。独自の会話履歴と、変更を伴う操作の承認カードを備え、あなたが許可するまで何も実行しません。
3.6メニューバー項目
FrontierStack は macOS のメニューバーに小さな項目を置けます(Show in Menu Bar で切り替え)。ウィンドウ全体を前面に出さずに操作する一番の近道です。ここから、起動グループの Start/Stop、コアサーバ(Apache、Nginx、PHP-FPM、MySQL、Postgres)の Restart や稼働中すべての再起動、ブラウザでの localhost オープン、ステータス更新、Launch at Login の設定、アプリの起動・終了ができます。
3.7アプリ内検索
検索(虫めがね、⌘F)は何にでも到達する最速の手段です。「search services, tools & actions…」と入力し始めると、ペイン・ツール・サービス・操作が入力に応じて一致します — サイドバーから隠したサービスも含めて。結果を選べばそこへ直接移動します。Semantic モードは正確な名前ではなく意味で検索でき(「IP をブロック」「ディスクを空ける」)、FrontierStack での呼び名を知らなくても機能を見つけられます。
3.8ヘルプウィンドウ
⌘? で専用の FrontierStack Help ウィンドウを開きます。アプリの構成を映した、れっきとしたアプリ内ドキュメントの本です。ヘルプは読むだけではありません。各ページには Open in app リンクが付いています。クリックすると FrontierStack がメインウィンドウをその正確なペインやサービスへ移動させます — ヘルプウィンドウは横に開いたまま残るので、手順を読みながら一歩ずつ進められます。多くのペインはヘッダーに小さなヘルプボタンを持ち、該当トピックのヘルプを開きます。
3.9Notes ペイン
Notes は資格情報・ランブック・サービスごとの手順のための、あなた専用の場所です。各ノートはタイトル・サービスタグ・本文を持ち、全体がmacOS キーチェーンで暗号化されます — 平文ファイルには保存しません。決め手となるのはノートごとのロックです。各ノートには Share with AI Administrator トグルがあり、既定はオフです。ノートがロックされている間、AI はそれを文字どおり読めません。アシスタントにその資格情報や手順を使ってほしいときだけ解除します。すると AI の list_notes に現れ、必要に応じて読まれます。
3.10Status Page
Status Page ペインは、Local Health と同じ稼働データから静的な index.html を生成して公開します。顧客や同僚がアプリにアクセスせずに何が動いているかを確認できます。公開先を選び(Apache サイトの DocumentRoot 内のフォルダにすれば /status/ のようなパスで配信されます)、ページタイトルを設定し、Include item details を入れるか決めます(詳細行は内部ホストやポートを露呈しうるので、公開ページではオフに)。ページは設定した間隔で、または Generate Now で都度再生成されます。プレーンな静的 HTML なので、別途動かすものはありません。
3.11Local Health とロケーションの概観
日常で要となる 2 つの Overview ペインには、それぞれ専用の章があります。Local Health は「すべて問題ないか?」に答えるボードです。監視中のすべてのサービス・デバイス・サブシステムを UP/DOWN 状態と 1 行サマリーで示します。各ペインから項目を重要(critical)に指定するとボードに加わり、フローティングパレットとミニも兼ねます。ヘルススイープ・しきい値・アラート連動を含む全容は第 11 章です。
Locations は、Mac が今ネットワーク上のどこにいるか — Home、Office、On VPN — を Wi-Fi ネットワークやサブネットから判定して教えます。ロケーションにより監視はネットワークを意識したものになります。認識されない場所にいる間はアプリがAwayとして扱い、ロケーション限定のチェックを一時停止するので、カフェやホテルのネットワークが誤報を出すことはありません。前述のとおり Setup の紐づけにも使います。ロケーションの定義、アラートと到達性のスコープ、フリートを含む完全なモデルは第 8 章です。
レイアウトを覚えたら、いよいよ実践です。次のパートはペインそのものを開いていきます。まずは第 4 章「Web スタック」から。
第 II
サービスの運用
目の前の Mac で Web スタック、データベース、サービスカタログ、そしてサイトを動かす。
第 4
Web スタック
Apache または Nginx、サイトごとに必要な PHP バージョン、バーチャルホスト、信頼されたローカル HTTPS、そして DNS — Web スタック一式を、設定の手書きなしに 1 つのウィンドウから制御します。
Web サーバは多くのセルフホスト構成の心臓部です。だから FrontierStack はそれを一級の対象として扱います。Apache ペインは Homebrew 版 Apache のインストール・起動・検証・設定を行い、PHP・Localhost・Certificates・DNS の各ペインが、開発とホスティングの完全なスタックを仕上げます。あらゆる変更が検証を通るため、タイプミスがサイトを黙って落とすことはありません。
本章では、目の前の Mac で Web サイトを作り、動かすペインを扱います。そのスタックを実ドメインと公開インターネットへ繋ぐのは第 7 章、本番向けに堅牢化するのは第 10 章です。
4.1Apache ペイン
サイドバーから Apache ペインを開くと、Web サーバの状態がひと目で分かります。バージョン、起動の有無、待ち受けポート。上部のボタンが日々使う操作です — Start・Stop・Restart・Validate Config。検証は apachectl -t(本物の構文チェック)を実行し、結果を Last Result に表示するので、リロード前に変更が妥当だと確認できます。
FrontierStack は macOS のシステム版ではなく Homebrew 版 Apache を推奨します。Homebrew 版は /opt/homebrew(Intel Mac では /usr/local)以下に置かれ、brew services 経由で毎回 root を求められずに自分の権限で動き、System Integrity Protection に縛られません — だから最新の mod_php がきれいに読み込まれ、スタック全体が 1 つのツールチェーンに揃います。/etc/apache2 のシステム版は OS アップデートで消去され、Apple 同梱の libphp に縛られます。Homebrew 版 Apache が未インストールなら、ペインがワンクリックの Install Homebrew Apache… を提示します。
複数の Apache ビルド(Homebrew 版、旧来のローカルビルド、リモートサーバのもの)を併用する場合は、バイナリ選択(Add Homebrew Apache / Add Local Build…)で登録し、それぞれのバージョンとポートを見ながら切り替えられます。
/opt/homebrew/etc/httpd/frontierstack/ に置かれ、httpd.conf からの IncludeOptional で取り込まれます。アプリの vhost・MIME タイプ・管理対象 include をそこにまとめることで、手書きの httpd.conf は綺麗なまま保たれ、FrontierStack が何を追加したか常に分かります。4.2モジュール・ポート・管理対象の設定
Apache ペインの下部には、最も頻繁に編集する設定が、ファイルではなくコントロールとして並びます。
| セクション | 役割 |
|---|---|
| Ports | HTTP と SSL の待ち受けポートを設定(既定 80・443)。Nginx が 80/443 を使うなら Apache をそこから外します。Apply で Listen ディレクティブを書き換えてリロード。 |
| Apache Modules(Modules…) | 読み込み済みモジュールを一覧し、有効/無効を切り替え。未使用モジュールの無効化は最も手軽な堅牢化です。 |
| PHP Module | Web サイト向けに Apache が読み込む mod_php(libphp.so)のバージョンを選択 — 次節参照。 |
| WebDAV | 共有フォルダ向けに mod_dav を有効化。任意の Basic 認証ユーザ付きで、管理対象 include に書き込まれます。 |
| Edit MIME Types… | FrontierStack 管理の MIME ファイルに AddType マッピングを追加/削除。ディストリの mime.types には触れません。 |
コントロールとして出ていない項目には、設定行から Edit Managed Config…(FrontierStack の include)と Edit httpd.conf…(メインファイル)を直接編集できます。保存のたびに apachectl -t で検証し、グレースフルにリロードし、新しい設定が構文エラーならロールバックします — 誤った編集は、稼働中のサーバを壊す前に捕捉されます。
httpd.conf の手編集は強力で、無防備でもあります。アプリは構文エラーで検証・ロールバックしますが、構文は通るのに document root が誤った場所を指す設定は、なおファイルを露出させ得ます。FrontierStack 独自の追加は管理対象 include を優先し、大きな変更は控えを取ってください。モジュールを切り替えると、その LoadModule 行を書き換えて再検証します。変更で httpd -t が失敗した場合(代表例は proxy なしで proxy_fcgi を有効化するケース。アプリが自動で proxy も有効化します)、モジュールウィンドウはエラーを表示し、黙って閉じません。修正するか、Save anyway(このまま保存)を選びます。Apache が固まって起動しない場合(Homebrew の典型的な Bootstrap failed: 5: Input/output error。既にロード済み、または sudo brew services が httpd のパスを root 所有にしてしまったのが原因)、ペインの Recovery & reset(復旧とリセット)セクションに 3 段階の対処があります:Restart cleanly(ユーザとシステム両方の launchd ドメインで httpd を停止してから 1 回だけ起動)、Reset config to default(httpd.conf をバックアップして Homebrew の既定を復元)、Remove & Reinstall(root 所有のパスを消して formula を再インストール)。いずれもアプリ内コンソールで実行され、sudo プロンプトと出力を確認できます。Service Watchdog のキープアライブが Apache に対して有効な場合、httpd を自動で再起動することがあります(想定内ですが、手動復旧と競合するなら一時停止してください)。
4.3PHP バージョンの選択
PHP ペインを開くと、Mac にインストールされた PHP ランタイムを管理できます。Homebrew は複数のメジャーバージョン(例:[email protected] から最新版まで)を併存させられ、FrontierStack はそれらを、単一のグローバルインストールではなく、切り替える集合として扱います。
選択は 2 つに分かれます。
- Apache モジュール。Apache ペインの PHP Module セクションの Load for websites ピッカーで、Apache が読み込む
libphp.soのバージョンを選びます。変更すると管理対象設定を書き換えて Apache をリロードします。 - サイトごとの PHP。ローカル開発サーバ(下記 Localhost ペイン)には独自の PHP Version・PHP Binary 欄があり、あるプロジェクトを古い PHP で、別を最新で動かせます — マシンの他の部分が使うものを変えずに。旧来アプリと新規アプリを同時に成り立たせる、いつもの方法です。
Runtime Health ペインはより広い全体像を示します — PHP に加え Python・Node.js・Java・Go・Rust・Ruby・Perl・.NET — 欠落やサポート終了のランタイムを、問題になる前にフラグするセルフチェック付きです。
Runtimes セクションにはフロントエンド向けの React ペインもあります。新規アプリのスキャフォールド(Vite・TanStack Start・Next.js)、任意の React プロジェクトの指定、そして役割別に整理された厳選ライブラリ一覧を提供します — 状態管理(Zustand・Jotai・Redux Toolkit)、データ取得とサーバ状態(TanStack Query — 旧称 React Query — と SWR)、フルスタックフレームワーク(TanStack Start・Next.js)、ルーティング、バリデーション(ArkType・Zod)、フォーム、認証(Clerk)。各行にはドキュメントへのリンク、選択中プロジェクトでの使用状況、そのプロジェクトへのワンクリック npm install が並びます。
4.4サイトとバーチャルホスト
Apache ペインの Websites リストがバーチャルホストの管理場所です。各行にサイト名、バインドアドレス、ポート(例::8080)、そしてライブ状態を示す Running トグルが表示されます。ボタンで Add Site…、編集、複製、無効化、Push to Server…(連携サーバへ vhost をコピー)、ブラウザで開く、が行えます。Import Sites… と Copy from… は、MAMP・XAMPP・Apple の Server.app・別の Apache から既存 vhost を取り込み、既定で localhost にバインドします。
サイトの追加・編集では、vhost が必要とする要点を設定します。ServerName(ドメイン)、document root(フォルダを Choose…)、バインドのアドレスとポート。サイトを有効化するとライブ状態ドット付きで一覧に現れます。FrontierStack は vhost を管理対象ツリー下の .conf ファイルに書き込み、検証し、リロードします。vhost・証明書・Cloudflare DNS レコードをまとめて作るには New Site + DNS… を使います — 第 7 章で解説する一括ウィザードです。
127.0.0.1 にバインドすれば、Mac からしか到達できません — 作業中の最も安全な既定です。他のマシンから本当に到達させたいときだけ、バインドアドレスを 0.0.0.0 や LAN IP に変えてください。4.5サイトの TLS 証明書
Certificates ペインは、サイトに鍵マークを付ける証明書を発行・管理します。用途に応じた 3 つの方法があります。
| 方法 | 用途 |
|---|---|
| mkcert(Get Certificate (mkcert)) | 信頼されたローカル HTTPS。mkcert は Mac が信頼するローカル認証局をインストールするので、https://myapp.test がブラウザ警告なしで動きます — 開発に最適。Install mkcert でまず準備します。 |
| Let’s Encrypt (ACME) | 実ドメイン向けの、公開・ブラウザ信頼の証明書。acme.sh または certbot 経由。webroot(ドメインが既に HTTP を提供)または Cloudflare 経由の DNS-01(インバウンド HTTP 不要)で発行。Renew All Now と更新 cron で最新に保ちます。 |
| Create Self-Signed Certificate | ブラウザ警告が許容される内部用・テスト用の手早い証明書。 |
発行後、Deploy to Apache が証明書をサイトの vhost に組み込みます。Expiry Monitoring セクションは証明書(および Watch で追加した任意のドメイン)を監視し、期限切れの十分前に通知します — HSTS や最新の暗号方針を含むより深い堅牢化は第 10 章です。
CF_TOKEN ボールトシークレットとして保存され、実行時に注入されます。クラウド AI には決して送られません。4.6.htaccess エディタ
ディレクトリ単位の Apache ルール(リライト・リダイレクト・アクセス制御)は .htaccess ファイルに置かれます。FrontierStack はそれ専用のエディタを、行番号と構文の妥当性チェック付きで提供します。Use Site Root でサイトの document-root の .htaccess を開くか、custom path を指定します。Insert Recipe は、よくある正しいスニペット(フロントコントローラのリライト、HTTPS 強制ブロック)を挿入するので、記憶ではなく動くルールから始められ、保存前に明らかな問題をフラグします。Export PHP Router… は .htaccess のリライトルールを、組み込み PHP 開発サーバ用のルータファイルに変換します — サイトを Localhost ペインに移すときに便利です。
4.7Nginx とリバースプロキシ
FrontierStack は Nginx を、代替の Web サーバとして、またはアプリの前段のリバースプロキシとして管理します。両方がインストールされていると、Domains ビューはサイトをサーバごとに分類し — Apache のバーチャルホストと Nginx の server ブロックを並べて — 各 Nginx server ブロックの listen ポート・root・TLS 状態を読み取ります。リバースプロキシは、高位ポートで HTTP を話すアプリ(Node・.NET・Python のサービス)の前に立てる標準パターンです。Nginx が 443 で TLS を終端し、アプリへ転送します。Apache も Nginx も既定で 80/443 を欲しがるため、併用する場合は Apache ペインの Ports セクションで一方をそこから外してください。
4.8Localhost・DNS・開発スタック
ローカルの全体像を完成させる、もう 3 つのペインがあります。
- Localhost — 即席のローカル開発サーバのマネージャ。New Local Server を追加し、Runtime(PHP・Python/Django・Node/Vite…)とフォルダを選び、ポートと任意の
ServerNameを設定して Start。サーバごとの Environment Globals と .test リゾルバでmyapp.testがローカルに解決されます。Free Port ヘルパーと localhost を掴んでいるものを止める操作で、よくある競合を解消します。 - DNS — ローカルの名前解決と権威ホスティング。
dnsmasq・unbound・nsdを実行し、ゾーンファイルをインポート/エクスポートし、レコード変更時にリゾルバをフラッシュして、Mac が古い応答を返さないようにします。 - LAMP / DevStacks — ワンクリックのスタック。LAMP ペインはプリセット(Choose a Setup)を提供し、揃ったコンポーネント一式をまとめてインストール・起動(Install & Start・Start All・Stop All)。DevStacks はプロジェクトフォルダのフレームワークを検出し、それを動かす適切なコマンドと npm スクリプトを表示します。
Localhost の概観は、稼働中のローカルサーバをすべて並べて表示するので、世話の焼ける Terminal ウィンドウの壁なしに、多数のサイトを同時に動かせます。
vhost_create はバーチャルホストを作り、reload_webserver は Apache または Nginx を検証してグレースフルにリロードし、issue_certificate は Let’s Encrypt 証明書を取得します。いずれも変更を伴うツールなので、それぞれ承認カードを表示し、変更の有効化を必要とします — AI はこれらのペインであなたが行うことを正確に行い、許可されていないことは一切しません。第 5
データベースとデータ
MySQL・PostgreSQL・Redis などを 1 つのウィンドウから運用し、AI にサイトのデータベースを点検・修正させ、すべてのデータをバックアップ・検証・復元可能な状態に保ちます。
Web スタックは、その下にあるデータの質を超えることはできません。FrontierStack はデータベースを一級のサービスとして扱います。インストールして実行し、中身を閲覧し、AI 管理者がサイトのデータベースを平易な言葉で点検・修復し、そして — 多くの構成が忘れがちな部分ですが — 実際に復元できる検証済みのスケジュールですべてをバックアップします。本章では、リレーショナルエンジン、インメモリキャッシュ、新しいベクトル・分析ストア、そしてそれらすべてを守るバックアップの仕組みを扱います。
5.1MySQL/MariaDB ペイン
サイドバーの Databases セクションから MySQL を開きます。ペインはサーバが未導入なら Homebrew でインストールし、Server.app がかつて備えていた操作を提供します。Start・Stop とライブ状態ランプ、リッスンポート(既定 3306)、サーバ上のデータベース一覧です。MySQL 互換のフォークである MariaDB も同じように管理でき、ペインはインストールされている方を認識します。
ローカル開発は意図的な 1 つの慣習に従います。ローカルの root アカウントはパスワードなしです。これは MAMP/XAMPP の慣行であり、ワンクリック構築と AI の SQL ツールが資格情報の入力なしに動作する理由です。安全なのは、Mac 上の MySQL が 127.0.0.1 のみでリッスンし、そのマシンからしか到達できないからこそです。パスワード付きアカウントや連携サーバ上のデータベースなど、外部から到達する必要が生じた瞬間に、後述の秘密情報ボールトへ切り替えます。
root は、目の前の Mac で localhost にバインドされた MySQL にのみ適用されます。これは開発上の利便性であり、ネットワークからの接続を受け付けるサーバへの推奨ではありません。本番データベースには実際のパスワードを設定し、ボールトに保管します。5.2Database Ops と SQL の実行
Database Ops ペインは、データベースがブラックボックスでなくなる場所です。Replication セクションは、設定済みサーバが MySQL レプリカか PostgreSQL スタンバイかを検出し、遅延を表示します。MySQL は SHOW REPLICA STATUS(IO・SQL スレッド、Seconds_Behind_Source)を読み、PostgreSQL は pg_is_in_recovery() と再生タイムスタンプを使います。レプリケーションの停止やしきい値超過の遅延は、選んだチャネルにアラートを出します — Database Slave 監視プリセットの基礎です。
データの点検や修正には、AI 管理者の run_sql ツールがあります。「この注文の合計がなぜ間違っているのか」「元の重複ユーザより古い重複を削除して」のように平易な言葉で頼むと、ローカルサーバに対して SQL を実行し、結果を表として表示します — MAMP の Claude 連携によく似ています。文がデータを変更し得るため、run_sql は変更の有効化を必要とします。読み取り専用のクエリはアシスタントが有効になった時点で動作します。既定はパスワードなしのローカル root で、設計上ローカル専用です。
5.3パスワード付き・リモートのデータベース
ローカル root のショートカットは、ネットワークが始まるまさにその境界で止まります。パスワードが必要なデータベースや、リモート・連携サーバ上のデータベースでは、パスワードをプロンプトやツールに貼り付けることは決してしません。代わりに、AI 管理者の Script secrets (.env) バーに DB_PASSWORD や MYSQL_PWD という名前付き秘密として一度だけ追加し、アシスタントは run_script 経由で mysql クライアントを実行し、値を $DB_PASSWORD として参照しながら、名前付きサーバに対して SSH 経由で実行します。実際の値は Mac に留まり実行時に注入され、クラウドモデルが見るのは名前だけで秘密は見ません。
.env ボールトに追加し、$NAME として参照します。値は実行時にローカルまたは SSH 経由で注入され、AI には決して送られません。これは FrontierStack 全体で使う同じボールトモデルです — 第 13 章を参照してください。5.4PostgreSQL
高度な SQL・リッチな JSON・全文検索・GIS を求めるプロジェクトには Postgres を開きます。ペインは PostgreSQL(既定ポート 5432)をインストールして実行し、MySQL と並んで同じ開始/停止/状態の操作を備えます。アプリやフレームワークが前提とするなら PostgreSQL を、それ以外なら MySQL/MariaDB が手軽な既定です。両エンジンとも、後述のバックアップジョブと AI ツールの一級の対象であり、PostgreSQL は後述の特化型ストアのいくつかの土台にもなります — 埋め込み用の pgvector、時系列の TimescaleDB、Postgres データベース上に即席 REST API を載せる PostgREST です。
5.5Redis とその他のキャッシュ
セッション・キュー・レート制限・ホットパスのキャッシュは通常、リレーショナルテーブルよりインメモリストアを求めます。FrontierStack は Caching カタログから 2 つの標準を実行します。インメモリのキーバリューストアであり Redis Streams も支える Redis(ポート 6379)と、シンプルな分散キャッシュ用の Memcached(ポート 11211)です。他のサービスと同様にインストール・起動・監視できます。多くの CMS やフレームワークの構成は Redis を MySQL または PostgreSQL と組み合わせます。すべての選択肢はサービスカタログ(第 6 章)に並びます。
5.6ベクトル・分析データベース
2 つの新しいストアの系統が、独自のカタログカテゴリを持ちます。ベクトルデータベースは、検索拡張生成(RAG)や意味検索のための埋め込みを保持します。AI スタック(第 15 章)がモデルに自分のドキュメントへのアクセスを与える方法です。分析データベースは、トランザクション的な読み書きではなく、大規模データの高速な集計のために作られた列指向・時系列エンジンです。
| エンジン | 種類 | ポート |
|---|---|---|
| MySQL / MariaDB | リレーショナル | 3306 |
| PostgreSQL | リレーショナル | 5432 |
| Redis | インメモリキャッシュ/ストリーム | 6379 |
| Memcached | インメモリキャッシュ | 11211 |
| Qdrant | ベクトル(RAG/埋め込み) | 6333 |
| Chroma | ベクトル(埋め込み) | 8000 |
| Weaviate | ベクトル(ハイブリッド検索) | 8080 |
| Milvus | ベクトル(分散) | 19530 |
| pgvector | ベクトル(Postgres 拡張) | 5432 |
| ClickHouse | 列指向 OLAP 分析 | 8123 |
| InfluxDB | 時系列 | 8086 |
| TimescaleDB | 時系列(Postgres 拡張) | 5432 |
| Apache Druid | リアルタイム OLAP | 8888 |
完全にインプロセスのベクトル検索には FAISS(ライブラリ、ポートなし)もあります。フレームワークが前提とするエンジンを選んでください。各ペインは同じカタログの仕組みで一つひとつをインストール・実行します。
pgvector はそれを既存の PostgreSQL の中に保ち、Qdrant・Chroma・Weaviate・Milvus はより大きなコレクション向けの専用ストアです。5.7データパイプラインと ETL
これらのストアの間でデータを移動・整形することは、それ自体が一つの分野です。Data Pipelines & ETL カタログカテゴリが概観レベルでこれを扱います。数百のコネクタを持つ抽出・ロードの Airbyte と Meltano、SQL ベースの変換・モデリングの dbt、そして作業をスケジューリングする Dagster・Prefect・Kestra などのオーケストレーターです。これらは本格的なプラットフォームで、FrontierStack はインストール・実行して Web UI を提示しますが、パイプラインのロジックは各ツールの中にあります。プログラマブルなデータパイプライン DAG には、Workflow Orchestration カテゴリの Apache Airflow もあります。
5.8バックアップ:ダンプ・概要ペイン・CCC
テスト済みバックアップのないデータベースは、未来の障害です。FrontierStack はこれに 2 方向から取り組みます。Database Ops では、サーバごとに検証済みのダンプスケジュールを定義します。名前、エンジン(MySQL か PostgreSQL)、ホスト、ポート、ユーザ、データベース(空欄=すべて)、バックアップディレクトリです。期限の来たジョブはアプリ起動中に自動実行され、Run Now は即座に 1 回実行します。各実行はダンプ以上のことを行います — mysqldump は一貫した InnoDB スナップショットのため --single-transaction で実行され、続いて Verify が gzip の整合性とダンプが完了マーカーで終わっていること(切り詰められた・書きかけのファイルを検出)を確認し、.md5 サイドカーを書き、保持数にローテートし、鍵ベースの SSH で結果をオフサイトへ rsync します。
AI 管理者は同じ操作をツールとして公開します。db_dump はデータベースをターゲット上の .sql ファイルにダンプし(mysqldump または pg_dump を使用)、backup_now は設定・サイト・データフォルダのタイムスタンプ付き tar.gz を作成します。どちらも変更を伴うため、承認と変更の有効化が必要です。DB パスワードには $NAME のボールト秘密を参照し、貼り付けた値は決して使いません。
Backups 概要ペインは、すべての仕組みをまとめ、古さがひと目で分かるようにします。Time Machine の状態、Carbon Copy Cloner のタスク、アプリ管理の Apache 設定スナップショット、Git による設定のバージョン履歴、スケジュール済み自動エクスポートです。Carbon Copy Cloner ペインは CCC のタスクと履歴をその ccc コマンドラインツール経由で読み取り、タスクを必要に応じて Run できます。Time Machine と CCC はどちらも Alerts エンジンに供給されます — しきい値内に実行されていないバックアップや、失敗した CCC タスクは、選んだチャネルにアラートを出します(第 11 章)。
5.9復元 — そして復元の安全性
バックアップは復元のために存在し、復元こそが危険な半分です。AI の restore ツールは .tar.gz アーカイブを展開するか、.sql ダンプをデータベースにインポートします。ダンプのインポートは稼働中のデータベースを上書きし、アーカイブの展開はその場でファイルを上書きするため、restore は変更を伴い、破壊的になり得ます。常に変更の有効化付きの明示的な承認が必要で、SQL インポートは DB パスワードを $NAME のボールト秘密として参照します。
.sql ダンプのインポートはターゲットデータベースの現在の内容を置き換え、自動の取り消しはありません。復元の前には、ロールバックできるよう現在の状態の新しいダンプを取り(db_dump または Run Now)、正しいデータベース・正しいサーバを向いていること — 誤って本番ではないこと — を確認してください。5.10壊れたデータベースのリカバリ
データベースが単に停止するより悪い状態——起動しない、テーブルが破損している——になることがあります。FrontierStack は AI 管理者(第 13 章)に、手作業で使うのと同じツールを、いつもの承認カードのうえで与えます。mysql_check_tables と pg_check_tables は mysqlcheck/pg_amcheck を実行して破損・クラッシュしたテーブルを見つけます。repair をオンにすると先に mysqldump/pg_dump でバックアップを取ってから修復(--auto-repair/REINDEX)するので、修正は取り消し可能です。mysql_service_control と pg_service_control は、systemd・launchd・Homebrew・service(8) をまたいで、ローカルでも SSH 経由でも、サーバの起動・停止・再起動・状態確認を行います。
難しいケースにはガイド付きのスキル——「Recover Broken MySQL」と「Recover Broken PostgreSQL」——があり、手順全体をたどります。エラーログを読み、原因を診断し、読めるものをすべてダンプし、新しいデータディレクトリに再構築し、壊れたテーブルを修復または作り直し、再起動します——常に古いデータディレクトリはコールドバックアップとして名前を変えて退避し、決して削除せず、破損を伴う各ステップの前に確認します。リモートホストでは、サーバペインのデータベース行にある赤い Emergency ボタンが最短の入り口です。そのホスト向けの適切なリカバリスキルを読み込んだ状態でアシスタントを開きます。
5.11ORM とアプリネイティブのツール:Drizzle と Convex
最後に、2 つのツールがアプリケーションのスキーマ定義の場であなたを迎えます。Drizzle ORM ペインは Drizzle プロジェクト(そのテーブル・マイグレーション・バックエンドの方言)を検出し、drizzle-kit タスクを代行します — スキーマから SQL を Generate、Migrate、スキーマを直接 Push、既存データベースを Pull(イントロスペクト)、そしてデータ閲覧用に Drizzle Studio を開きます。Convex ペインは、組み込みデータベースを備えるリアクティブバックエンドの Convex を管理します。npx convex dev で関数を監視・プッシュするか、Docker でセルフホストのバックエンドを立ち上げます。どちらも Node.js を必要とし、未導入ならペインが Homebrew でインストールします。これらはアプリケーション自身のデータ層を扱います。上記のダンプとバックアップは、それらが書き込むものを引き続き守ります。
第 6
サービスカタログ
FrontierStack がインストール・実行・監視できる全サービスをカテゴリ別に。
FrontierStack は 112 カテゴリにわたる 1545+ サービスのカタログを備えています。各項目はアプリから検出・インストール・起動・設定・監視でき、AI 管理者はそのすべてを操作できます。本章はそのフィールドガイドです。各カテゴリと所属サービス、そして全サービスの 1 行説明を掲載します。サービス説明はアプリのラベルと一致させるため英語のままにしています。
各サービスには frontierstack.app/services/ に専用ページがあり、ポート・既定の Web UI・Homebrew フォーミュラを掲載しています。
6.1Overview
Local Health
built-in tool
Status Page
built-in tool
Alerts
built-in tool
Sites
built-in tool
Logs
built-in tool
Certificates
built-in tool
Tools
built-in tool
Scripts & Cron
built-in tool
Startup Items
built-in tool
Homebrew
built-in tool
Messaging Gateways
built-in tool
Notifications
built-in tool
Apple Services
built-in tool
Terminal Style
built-in tool
Setups
built-in tool
Paired Devices
built-in tool
Licences
built-in tool
Settings
built-in tool
6.2Setup & Migration
Migrate Setups
built-in tool
Apple Server Migration
built-in tool
Site Transfer
built-in tool
Install Wizard
built-in tool
6.3Locations & Places
Locations
built-in tool
Places
built-in tool
Device Discovery
built-in tool
Data Map
built-in tool
6.4Fleet & Remote
Remote Tools
built-in tool
Fleet Run
built-in tool
Remote KVM
built-in tool
GL.iNet KVM
built-in tool
Git Server
built-in tool
Remote Control & Lock
built-in tool
Server Clone
built-in tool
Headless Setup
built-in tool
Print Production
built-in tool
Screens
Polished VNC client for Mac & iOS (Edovia)
Cockpit
Browser console for Linux servers and Raspberry Pi (port 9090, web UI)
Windows Admin Center
Browser-based management for Windows Server fleets (port 443, web UI)
PiKVM
Open-source KVM-over-IP (Raspberry Pi) (port 443, web UI)
JetKVM
Compact, low-cost KVM-over-IP device (port 80, web UI)
TinyPilot
KVM-over-IP appliance (web UI) (port 443, web UI)
NanoKVM
Sipeed open KVM-over-IP (RISC-V) (port 80, web UI)
GL.iNet Comet (GL-RM1)
Compact KVM-over-IP with a browser console (port 80, web UI)
GL.iNet Comet Pro (GL-RM10)
KVM-over-IP with a built-in smart power plug (port 80, web UI)
Raritan Dominion KX
Enterprise KVM-over-IP switch (web UI) (port 443, web UI)
ATEN KVM over IP
KVM-over-IP switches & dongles (web UI) (port 443, web UI)
Jump Desktop
Fast, secure remote desktop (RDP/VNC/Fluid)
RustDesk
Open-source remote desktop with optional self-host relay (port 21115, web UI)
MeshCentral
Self-hosted web RMM and remote control (port 443, web UI)
Apache Guacamole
Clientless RDP, VNC and SSH gateway (port 8080, web UI)
Windows Remote Desktop
RDP access to Windows machines (port 3389)
WinRM / PowerShell Remoting
Remote command channel for Windows servers (port 5986)
Tactical RMM
Open-source RMM for Windows-focused fleets (port 443, web UI)
AnyDesk
Cross-platform remote desktop
6.5Networking
Traffic
built-in tool
Router & Network
built-in tool
Power over Ethernet
built-in tool
UniFi
built-in tool
SFTP
built-in tool
WebDAV
built-in tool
Time Capsule
built-in tool
Internet Health
built-in tool
Service Scan
built-in tool
Wi-Fi Analyser
built-in tool
BIND 9 (named)
Authoritative/recursive DNS server (port 53)
netboot.xyz
Network-boot OS installers via PXE/iPXE (port 3000, web UI)
Zeroconf / Bonjour
Zero-configuration service discovery (mDNS/DNS-SD) (port 5353)
6.6VPN
VPN
built-in tool
ZeroTier Controller
built-in tool
Tailnet
built-in tool
ZeroTier
Zero Trust SD-WAN / virtual networks — agent + API
ZeroTier Controller (self-hosted)
Run your own ZeroTier network controller (no Central) (port 9993)
NetBird
Open-source Zero Trust networking (self-hostable)
Twingate
Zero Trust remote access (VPN replacement)
CloudConnexa
OpenVPN's cloud-delivered VPN / ZTNA (formerly OpenVPN Cloud) (web UI)
Netmaker
Fast WireGuard mesh networks (self-hosted)
WireGuard
Modern, fast VPN — host your own, or the mesh base layer (port 51820)
OpenVPN
The classic open-source SSL/TLS VPN (port 1194)
Proton VPN
Privacy VPN (WireGuard/OpenVPN, Secure Core, kill switch)
Headscale
Self-hosted Tailscale control server (open-source) (port 8080, brew: headscale)
Nebula
Lightweight overlay mesh (Slack/Defined Networking)
OpenZiti
Zero-trust overlay fabric with SDKs (self-hosted)
Firezone
WireGuard-based zero-trust access gateway
tinc
Classic self-routing mesh VPN (open-source)
n2n
Peer-to-peer layer-2 VPN over a supernode (ntop)
innernet
WireGuard mesh with CIDR-based access (tonari)
strongSwan
IKEv2/IPsec VPN server (port 500)
wg-easy
WireGuard VPN with a simple web UI (port 51821, web UI)
TP-Link LightLink VPN
TP-Link remote-access VPN — managed via the Navi Desktop app
Tailscale
WireGuard mesh VPN (brew: tailscale)
Tunnelblick
Free OpenVPN client for macOS
6.7Routers & Firewalls
macOS Firewall
built-in tool
OPNsense
Open-source firewall/router OS (REST API) (port 443, web UI)
pfSense
FreeBSD firewall/router OS (REST via package) (port 443, web UI)
PoE Switch (RFC 3621)
Managed PoE switch — port power, budget & cycling over SNMP (port 161, web UI)
MikroTik (RouterOS)
RouterOS devices — REST API (v7+) (port 443, web UI)
UniFi
Ubiquiti Cloud Gateway / Dream Machine + Network controller (port 443, web UI)
UniFi OS Server
Self-hosted UniFi OS — run the full stack on your own Mac or Linux box (port 11443, web UI)
Peplink
SD-WAN routers with multi-WAN failover/bonding (port 443, web UI)
Cradlepoint
Cellular/5G edge routers (NCOS + NetCloud) (port 443, web UI)
OpenWrt
Open-source router firmware (LuCI / ubus) (port 80, web UI)
Firewalla
Home/SMB security router (cloud MSP API)
IPFire
Hardened open-source Linux firewall (web UI) (port 444, web UI)
VyOS
Linux network OS — unified CLI + HTTPS API (port 443, web UI)
Untangle / Arista NG Firewall
Debian network gateway — web admin (commercial) (port 443, web UI)
Sophos Firewall
Next-gen firewall appliance — web UI + API (commercial) (port 4444, web UI)
FortiGate
Fortinet next-gen firewall — REST API (commercial) (port 443, web UI)
Palo Alto Networks
PAN-OS next-gen firewall — XML/REST API (commercial) (port 443, web UI)
Cisco Secure Firewall
Cisco NGFW (Firepower/ASA) — FMC/FDM API (commercial) (port 443, web UI)
WatchGuard Firebox
Fireware firewall appliance — web UI + Cloud API (commercial) (port 8080, web UI)
UFW (Uncomplicated Firewall)
Easy iptables/nftables host firewall for Linux servers (manage over SSH)
6.8Web Servers
Apache
built-in tool
Nginx
built-in tool
Vercel
built-in tool
Railway
built-in tool
Vite
built-in tool
Localhost
built-in tool
Caddy
Automatic-HTTPS web server / reverse proxy (port 80, brew: caddy)
Laravel Herd
One-click PHP dev environment (Mac app) (port 80)
Apache Tomcat
Java servlet/JSP application server (port 8080, web UI, brew: tomcat)
Microsoft IIS
Windows web server and application platform (port 80, web UI)
OpenLiteSpeed
High-performance web server with web admin UI (port 7080, web UI)
Angular CLI
Scaffold, serve & build Angular apps (port 4200, web UI)
6.9DNS
Dynamic DNS
built-in tool
DNS
built-in tool
Domain Registrars
built-in tool
AdGuard Home
Network-wide ad/tracker-blocking DNS (self-hosted) (port 3000, web UI)
Pi-hole
Network-wide ad/tracker-blocking DNS sinkhole (port 80, web UI)
Nebula Sync
Sync configuration across Pi-hole instances
Kea DHCP
ISC's modern DHCPv4/DHCPv6 server (REST + DB back-ends) (port 8000)
ISC DHCP
Classic ISC dhcpd (EOL — migrate to Kea)
Dnsmasq
Lightweight DNS forwarder + DHCP + TFTP (port 53, brew: dnsmasq)
udhcpd (BusyBox)
Tiny DHCP server (BusyBox / embedded)
DNSimple
Managed DNS + domain registrar — live zone/record management (web UI)
Infoblox NIOS (DDI)
Enterprise DNS / DHCP / IPAM appliance (DDI) (port 443, web UI)
Windows Server DHCP
DHCP Server role on Windows Server
6.10Runtimes
Runtime Health
built-in tool
PHP
built-in tool
Python
built-in tool
Node.js
built-in tool
Java
built-in tool
Go
built-in tool
Rust
built-in tool
Ruby
built-in tool
Perl
built-in tool
.NET
built-in tool
Supabase Edge Functions
Deno serverless functions on the edge (port 54321)
code-server
VS Code in the browser (self-hosted) (port 8080, web UI, brew: code-server)
Next.js
React framework served by a Node process (SSR/SSG) (port 3000)
SvelteKit (Svelte)
Svelte app framework served by a Node process (SSR/SSG) (port 3000)
Nuxt (Vue)
Vue framework served by a Node process (SSR/SSG) (port 3000)
Astro
Content-first framework — zero JS by default; popular headless-WordPress front end (port 4321)
Tailwind CSS
Utility-first CSS — standalone build CLI (no Node)
.NET (ASP.NET Core)
Run ASP.NET Core & Blazor apps (Kestrel) (port 5000)
Wasmtime
Bytecode Alliance WebAssembly runtime (WASI)
Wasmer
WebAssembly runtime with a package registry
WasmEdge
Lightweight WASM runtime for cloud/edge & AI (CNCF)
wasmCloud
Distributed WebAssembly platform (CNCF) (port 4222, web UI)
Fermyon Spin
Serverless WebAssembly apps & HTTP microservices (port 3000)
6.11Databases
Database Health
built-in tool
MySQL
built-in tool
MySQL Clusters
built-in tool
Postgres
built-in tool
Database Ops
built-in tool
Cloud SQL
built-in tool
Drizzle ORM
built-in tool
Prisma
built-in tool
Airtable
built-in tool
Supabase
built-in tool
MongoDB
Document (NoSQL) database (port 27017, brew: mongodb-community)
Microsoft SQL Server
Microsoft relational database for Windows and Linux (port 1433)
Oracle Database
Enterprise relational database (port 1521, web UI)
CockroachDB
Distributed SQL database (port 26257, web UI)
Apache Cassandra
Distributed wide-column database (port 9042, brew: cassandra)
ScyllaDB
High-performance Cassandra-compatible database (port 9042)
Neo4j
Graph database with Cypher query language (port 7474, web UI, brew: neo4j)
Apache CouchDB
Document database with HTTP API and sync (port 5984, web UI, brew: couchdb)
Couchbase Server
Distributed document, key-value and search database (port 8091, web UI)
PlanetScale
Hosted MySQL with database branching (cloud API) (port 3306)
Neon
Serverless Postgres — autoscaling & branching (cloud API) (port 5432)
Turso
Distributed SQLite (libSQL) at the edge (cloud API) (port 8080)
PostgREST
Instant REST API over a PostgreSQL database (port 3000)
PocketBase
Open-source backend in one file (SQLite + auth + realtime) (port 8090, web UI)
Firebase
Google's backend-as-a-service — Firestore, Auth, Storage, Functions (cloud) (port 4000, web UI)
Patroni
HA PostgreSQL — automatic failover (port 8008, web UI)
6.12Vector Databases
Qdrant
Fast vector DB for embeddings & RAG (self-hosted) (port 6333, web UI)
Chroma
Developer-friendly embedding database (self-hosted) (port 8000)
Weaviate
Vector DB with built-in vectorizers & hybrid search (self-hosted) (port 8080)
Milvus
Scalable, distributed vector database (self-hosted) (port 19530)
pgvector
Vector search inside PostgreSQL (extension) (port 5432)
FAISS
Fast in-process vector similarity search (library)
6.13Analytics Databases
InfluxDB
Time-series database for metrics and IoT (port 8086, web UI, brew: influxdb)
DuckDB
In-process OLAP database — the SQLite of analytics
ClickHouse
Columnar OLAP database for fast analytics (port 8123)
Apache Druid
Real-time analytics database (OLAP) (port 8888, web UI)
TimescaleDB
Time-series database (PostgreSQL extension) (port 5432)
6.14Data Pipelines & ETL
Airbyte
Open-source ELT with 300+ connectors (self-hosted / cloud) (port 8000, web UI)
Meltano
Open-source ELT built on Singer taps & targets (CLI) (port 5000, web UI)
dbt
SQL-based data transformation & modeling (self-hosted / cloud) (port 8080, web UI)
Dagster
Asset-oriented data orchestrator (self-hosted / cloud) (port 3000, web UI)
Prefect
Modern Python workflow orchestration (self-hosted / cloud) (port 4200, web UI)
Kestra
Event-driven orchestration & scheduling, YAML flows (self-hosted) (port 8080, web UI)
Redpanda Connect (Benthos)
Declarative stream-processing & connectors (self-hosted CLI) (port 4195)
NATS JetStream Pipelines
Persistent streams & consumers for event pipelines (self-hosted) (port 8222, brew: nats-server)
6.15Caching
Redis
In-memory key-value store (port 6379, brew: redis)
Memcached
Distributed memory cache (port 11211, brew: memcached)
6.16Search
Elasticsearch
Search & analytics engine (Elastic) (port 9200, web UI, brew: elasticsearch-full)
Meilisearch
Fast, typo-tolerant search engine (port 7700, web UI, brew: meilisearch)
OpenSearch
Search & analytics engine (port 9200, web UI, brew: opensearch)
Photon
Self-hosted OpenStreetMap geocoder (search-as-you-type) (port 2322)
6.17Backup
Backups
built-in tool
Time Machine
built-in tool
Carbon Copy Cloner
built-in tool
Synology Active Backup for Business
Centralized backup for PCs, servers, VMs & SaaS (Synology) (port 5001, web UI)
Databasus
Self-hosted database backup & point-in-time recovery (web UI)
Restic
Fast, encrypted, deduplicated backups
rclone
Sync & mount 70+ cloud storages
Dropbox (Backup Target)
Use Dropbox as an encrypted off-site backup destination (restic / rclone)
Veeam Backup & Replication
Enterprise VM, server and cloud backup (port 9392, web UI)
BorgBackup
Deduplicating encrypted backups over SSH
Kopia
Encrypted snapshots to cloud or local storage (port 51515, web UI)
Duplicati
Web UI backups to cloud storage (port 8200, web UI)
6.18Storage & NAS
iCloud+
built-in tool
Xsan
built-in tool
Supabase Storage
S3-compatible object storage from Supabase (port 54321, web UI)
Nextcloud
Files, sync, office & app platform (port 80, web UI)
Syncthing
Peer-to-peer continuous file sync (port 8384, web UI, brew: syncthing)
TrueNAS
ZFS NAS OS — pools, snapshots, replication (self-hosted) (port 443, web UI)
ZimaOS / CasaOS
Personal-cloud NAS OS for ZimaCube / ZimaBoard (self-hosted) (port 80, web UI)
Synology DSM
Synology NAS appliance (DSM) (port 5001, web UI)
QNAP QTS
QNAP NAS appliance (QTS/QuTS hero) (port 8080, web UI)
Ceph
Distributed object/block/file storage cluster (self-hosted) (port 8443, web UI)
GlusterFS
Scale-out network filesystem (self-hosted)
iSCSI (SAN)
Block storage over TCP/IP — initiator & target (port 3260) (port 3260)
NVMe / NVMe-oF
NVMe SSDs & NVMe-over-Fabrics targets (TCP/RDMA/FC) (port 4420)
Fibre Channel (SAN)
FC SAN fabric — HBA ports, WWNs, multipath
RDMA / RoCE / iWARP
Remote Direct Memory Access fabrics — RoCE & iWARP
InfiniBand Fabric
InfiniBand HCA/fabric — ports, SM, port-error counters
NVIDIA NVLink
GPU-to-GPU interconnect — per-link state & bandwidth
NVIDIA NVSwitch
NVLink switch fabric — Fabric Manager service
Liqid (Composable)
Composable PCIe/CXL fabric — pool & attach GPUs/NVMe (web UI)
GigaIO FabreX
PCIe/CXL memory fabric — composable GPU pooling (web UI)
WEKA
Parallel filesystem for AI/HPC (GPUDirect) (port 14000, web UI)
ownCloud
Self-hosted file sync & share (port 80, web UI)
Seafile
File sync & share with client-side encryption (self-hosted) (port 8000, web UI)
Resilio Sync
P2P file sync (BitTorrent-based) (port 8888, web UI)
Dropbox
Cloud file sync & share (app + API) (web UI)
Samba
SMB file sharing (+ Time Machine) (port 445, brew: samba)
Netatalk
AFP file sharing for legacy Macs and Xserve estates (port 548)
File Browser
Web file manager for a directory (port 8080, web UI)
Filestash
Web file manager for S3/SFTP/FTP/WebDAV/… (port 8334, web UI)
Unraid
NAS/server OS — storage array, VMs & Docker (port 80, web UI)
6.19Object Storage & S3-Compatible
MinIO
S3-compatible object storage (port 9000, web UI, brew: minio)
SeaweedFS
Fast distributed object/file store (self-hosted) (port 8888, web UI)
Garage
Lightweight self-hosted S3 object store (Deuxfleurs) (port 3900)
Ceph RGW (RADOS Gateway)
S3/Swift object gateway on a Ceph cluster (self-hosted) (port 7480)
OpenStack Swift
Highly-available object store (OpenStack, self-hosted) (port 8080)
Cloudflare R2
S3-compatible object storage with zero egress fees (cloud) (web UI)
Backblaze B2
Low-cost cloud object storage, S3-compatible (cloud) (web UI)
Wasabi
Hot cloud object storage, S3-compatible, no egress fees (cloud) (web UI)
RustFS
High-performance S3-compatible object storage (Rust) (port 9000, web UI)
6.20Mail
Mail Server
built-in tool
Message Delivery
built-in tool
Proton
Encrypted mail, VPN, drive & passwords (cloud) (port 1025, web UI)
HEY
37signals hosted email & calendar (Imbox, Screener, Paper Trail) (web UI)
Rspamd
Fast spam-filtering system (self-hosted) (port 11334, web UI)
Apache SpamAssassin
Rule-based spam classifier (self-hosted) (port 783)
MailScanner
Email security framework / gateway (self-hosted)
Proxmox Mail Gateway
Anti-spam/AV email gateway appliance (self-hosted) (port 8006, web UI)
mailcow
Dockerized full mail-server suite (self-hosted) (port 443, web UI)
Modoboa
Mail hosting & management platform (self-hosted) (port 443, web UI)
OpenDKIM
DKIM signing & verification milter (self-hosted) (port 8891)
OpenDMARC
DMARC policy filter & reporting (self-hosted) (port 8893)
Postfix
SMTP mail transfer agent (port 25)
Dovecot
IMAP/POP3 mail delivery server (port 143)
Stalwart Mail Server
All-in-one secure mail server (SMTP/IMAP/JMAP) (port 8080, web UI)
Maddy Mail Server
Composable single-binary mail server (SMTP/IMAP)
6.21Mailing Lists
Mailing Lists
built-in tool
Mailchimp
Hosted email marketing & audiences (cloud) (web UI)
Brevo
Email/SMS marketing + transactional (cloud) (web UI)
MailerLite
Simple newsletter & subscriber lists (cloud) (web UI)
Klaviyo
E-commerce email/SMS & segmentation (cloud) (web UI)
Campaign Monitor
Designer-friendly email campaigns (cloud) (web UI)
Mailgun
Developer transactional email + lists (cloud) (web UI)
SendGrid
Twilio's email API & marketing lists (cloud) (web UI)
Amazon SES
AWS low-cost bulk/transactional email (cloud) (web UI)
Postmark
Fast, reliable transactional email (cloud) (web UI)
Resend
Developer-first transactional email API (cloud) (web UI)
MailPace
Fast, privacy-friendly transactional email (cloud) (web UI)
Nylas
Email/calendar/contacts API platform (cloud) (web UI)
Listmonk
Self-hosted high-performance newsletter manager (port 9000, web UI)
Mautic
Self-hosted marketing automation (port 80, web UI)
Mailtrain
Self-hosted Node.js newsletter app (port 3000, web UI)
Postal
Self-hosted full mail/delivery platform (port 5000, web UI)
6.22Email Deliverability & Reputation
Email Delivery
built-in tool
DMARC Aggregate Reporting
Collect & parse DMARC RUA reports (self-hosted: parsedmarc)
BIMI
Brand logo in the inbox via DNS + VMC (standard)
MTA-STS & TLS-RPT
Enforce SMTP TLS and get TLS failure reports (standard)
GlockApps
Inbox-placement & spam-filter testing (cloud) (web UI)
MXToolbox
DNS, blacklist & email health lookups (cloud) (web UI)
Google Postmaster Tools
Gmail sender reputation & spam-rate data (cloud) (web UI)
Mailhardener
All-in-one email-security monitoring & reporting (cloud) (web UI)
EasyDMARC
DMARC management & deliverability platform (cloud) (web UI)
dmarcian
DMARC reporting & deployment platform (cloud) (web UI)
6.23Message Queues & Streaming
Supabase Realtime
Postgres change streams over WebSockets (port 54321, web UI)
NATS
High-performance messaging + JetStream (self-hosted) (port 4222, brew: nats-server)
Apache Kafka
Distributed event streaming (self-hosted) (port 9092, brew: kafka)
Redpanda
Kafka-compatible streaming, no JVM/ZooKeeper (port 9092)
RabbitMQ
AMQP broker with optional MQTT and a separate management API (port 5672, web UI on 15672, brew: rabbitmq)
Apache Pulsar
Distributed pub-sub & queuing with tiered storage (port 6650, web admin on 8080)
Apache RocketMQ
Low-latency distributed messaging (ordered, transactional) (broker port 10911; NameServer 9876)
Redis Streams
Lightweight log/stream with consumer groups (Redis) (port 6379, brew: redis)
Celery
Distributed task queue for Python (workers + broker)
6.24Push Services
APNs
built-in tool
ntfy
Self-hostable pub-sub push (HTTP) (port 80, web UI, brew: ntfy)
Gotify
Self-hosted push server + Android app (port 80, web UI)
OneSignal
Hosted multi-channel push (cloud) (web UI)
Firebase (FCM)
Google's cross-platform push (cloud) (web UI)
Airship
Enterprise customer-engagement push (cloud) (web UI)
Matrix Notifications
Push via the Matrix chat protocol (web UI)
Synapse
Self-hosted Matrix homeserver (port 8008, brew: matrix-synapse)
Element
Flagship Matrix chat client
UnifiedPush
Open push standard (Google-free) (web UI)
PushDeer
Open-source, no-app-fuss push (web UI)
Pushover
Simple paid push to iOS/Android/desktop (web UI)
Apprise
One CLI/library → 80+ push services
6.25Chat & Collaboration
Discord
Community chat & voice (cloud) (web UI)
Slack
Team chat & workflows (cloud) (web UI)
Buzz
Group chat for humans + AI agents (Block; cloud or self-hosted) (web UI)
Matrix (Synapse + Element)
Open, federated chat — self-hosted (Docker) (port 8008, web UI)
Mattermost
Open-source Slack alternative (self-hosted) (port 8065, web UI)
Rocket.Chat
Open-source team chat platform (self-hosted) (port 3000, web UI)
Zulip
Threaded team chat (self-hosted or cloud) (port 80, web UI)
Ergo (IRCd)
Modern single-binary IRC server (IRCv3, built-in services) (port 6667)
InspIRCd
Modular C++ IRC server (self-hosted) (port 6667)
UnrealIRCd
Popular full-featured IRC server (self-hosted) (port 6667)
Solanum (IRCd)
The IRCd that runs Libera.Chat (charybdis fork) (port 6667)
ZNC (IRC bouncer)
IRC bouncer — stay connected, replay history (port 6697, web UI)
The Lounge
Self-hosted web IRC client (always-on) (port 9000, web UI)
KiwiIRC
Web IRC client + gateway (self-hosted) (port 7778, web UI)
Atheme (IRC services)
NickServ/ChanServ services for TS6 IRCds
Anope (IRC services)
IRC services (NickServ/ChanServ) for many IRCds
Libera.Chat
Public IRC network (FOSS communities) — connect, not self-host (port 6697)
Open OSCAR Server
Self-hostable AIM/ICQ (OSCAR) server — run your own AIM (port 5190)
AIM OSCAR Server
Alternative OSCAR server — make your own AIM chat network (port 5190)
Telegram
Cloud messaging with a powerful Bot API (cloud) (web UI)
TeamSpeak
Low-latency voice server (self-hosted) (port 9987)
Mumble
Open-source low-latency voice (self-hosted) (port 64738)
Jitsi Meet
Open-source video conferencing (self-hosted) (port 8443, web UI)
SimpleX Chat
Private messenger with no user IDs (self-hostable relays)
Session
Onion-routed private messenger (no phone number)
Prosody
Lightweight XMPP (Messages) server (port 5222, brew: prosody)
6.26SMS & iMessage Gateways
Gammu (gammu-smsd)
Send/receive SMS via a GSM modem (self-hosted)
Kannel
Open-source SMS/WAP gateway (self-hosted) (port 13013)
ModemManager
Linux modem daemon — SMS via mmcli (self-hosted)
SMS Gateway for Android
Turn an Android phone into an SMS HTTP API (self-hosted) (web UI)
SMSSync
Android SMS↔webhook relay (self-hosted)
Android + Tasker
DIY SMS gateway via Tasker automation (self-hosted)
Home Assistant SMS
SMS notify/receive in Home Assistant (Gammu)
AirMessage
Self-hosted iMessage bridge — server on this Mac (port 1359)
BlueBubbles
Self-hosted iMessage bridge — server on this Mac (web UI)
6.27Business Messaging
KakaoTalk AlimTalk
Kakao business notification templates — Korea (cloud) (web UI)
LINE Official Account
Customer messaging & loyalty on LINE (web UI)
WhatsApp Business Platform
WhatsApp business messaging — templates, catalogues (live) (web UI)
WeChat Official Account
WeChat business account — China (broadcasts, menus, mini-programs) (web UI)
Zalo Official Account
Zalo business account — Vietnam (broadcasts & chat) (web UI)
KakaoTalk Channel
Kakao business channel — Korea (friend broadcasts & chat) (web UI)
Viber Business Messages
Branded business messages on Viber (web UI)
Facebook Messenger
Messenger business messaging (Meta) (web UI)
Instagram Messaging
Instagram DM API for business (Meta) (web UI)
Apple Messages for Business
Store↔customer chat inside iMessage (web UI)
RCS Business Messaging
Branded rich business messaging (SMS successor) (web UI)
Attentive
SMS & email marketing for retail/DTC (web UI)
Postscript
SMS marketing for Shopify stores (web UI)
Omnisend
Email & SMS marketing automation (e-commerce) (web UI)
SimpleTexting
Business SMS/MMS marketing & two-way texting (web UI)
ManyChat
Chat marketing bots — Instagram/Messenger/WhatsApp (live) (web UI)
Respond.io
Omnichannel customer-conversation inbox (web UI)
Gupshup
Conversational messaging API (WhatsApp & more) (web UI)
WATI
WhatsApp Business team inbox & broadcasts (web UI)
Charles
Conversational commerce on WhatsApp (web UI)
Trengo
Multichannel team inbox for customer chat (web UI)
Intercom
Customer messaging & proactive marketing (live) (web UI)
Gorgias
E-commerce helpdesk with chat & proactive messages (web UI)
6.28Calendars
Calendar Discovery
built-in tool
Calendar Health
built-in tool
Event Server Monitoring
built-in tool
ICS Feeds
built-in tool
Radicale
Lightweight CalDAV/CardDAV server (port 5232, web UI)
Baïkal
PHP CalDAV/CardDAV server (SabreDAV) (port 80, web UI)
Nextcloud Calendar
Calendar app on a Nextcloud server (web UI)
DAViCal
PHP/PostgreSQL CalDAV server (port 80, web UI)
SOGo
Groupware (CalDAV/CardDAV/ActiveSync) (port 20000, web UI)
Apple Calendar Server
Migrate the old macOS Server CalDAV (port 8443)
Google Calendar
Hosted calendar (CalDAV / API) (web UI)
Outlook Calendar
Microsoft 365 calendar (Graph API) (web UI)
Calendly
Hosted scheduling / booking links (web UI)
Cal.com
Open-source scheduling (self-hostable) (web UI)
6.29Identity & Accounts
Accounts
built-in tool
Open Directory
Apple's built-in LDAP / Kerberos directory (port 389)
Dropbox Business
Team management & audit-log APIs for Dropbox Business (cloud) (web UI)
Keycloak
Open-source identity & access management (SSO) (port 8080, web UI)
FreeIPA
Open-source identity management (LDAP/Kerberos, self-hosted) (port 443, web UI)
Authentik
Self-hosted identity provider (Docker) (port 9000, web UI)
Okta
Workforce identity & SSO — live API health (web UI)
Microsoft Entra ID
Azure AD — cloud identity & SSO (Graph health) (web UI)
Google Workspace
Google's identity & productivity suite (Admin SDK) (web UI)
AD FS
Active Directory Federation Services (on-prem SSO)
Authenticate.com
Identity verification & KYC API (cloud) (web UI)
6.30Customer Identity
WorkOS
B2B auth — SSO, Directory Sync, AuthKit (live) (web UI)
Auth0
Hosted authentication platform (Okta) (web UI)
Clerk
Hosted auth & user management for web apps (cloud) (web UI)
Supabase Auth
Auth from the Supabase stack (cloud or local) (port 54321, web UI)
Better Auth
Framework-agnostic auth library for TypeScript apps
FusionAuth
Self-hostable CIAM / auth server (OAuth2/OIDC/SAML) (port 9011, web UI)
Ory Kratos
Headless identity & user management (self-hosted) (port 4433)
Ory Hydra
OAuth2 & OpenID Connect provider (self-hosted) (port 4444)
Zitadel
Self-hostable identity platform (OIDC/SAML, multi-tenant) (port 8080, web UI)
Authelia
SSO + 2FA auth gateway for your services (port 9091, web UI)
6.31Decentralized Identity
Hyperledger Aries (ACA-Py)
Issue/verify Verifiable Credentials over DIDComm (self-hosted)
walt.id
Open-source SSI stack — issuer, verifier & identity wallet (web UI)
Veramo
JS/TS framework for DIDs & Verifiable Credentials
6.32Version Control
Git
built-in tool
Gitea
Lightweight self-hosted Git service (port 3000, web UI, brew: gitea)
Forgejo
Community fork of Gitea (Codeberg) (port 3000, web UI, brew: forgejo)
GitHub
The Git host — live account dashboard (cloud) (web UI)
GitLab
Full DevOps platform — repos, MRs, registry (cloud or self-hosted) (port 443, web UI)
GitHub Enterprise
Self-hosted / managed GitHub for organizations (port 443, web UI)
Bitbucket
Atlassian Git hosting — Cloud or self-hosted (Data Center) (port 443, web UI)
Codeberg
Free community Git hosting (Forgejo, nonprofit) (port 443, web UI)
SourceHut
Lightweight, email-driven Git suite (cloud or self-hosted) (port 443, web UI)
AWS CodeCommit
Managed private Git repositories on AWS (API) (port 443, web UI)
Pierre
Fast code review & collaboration on Git (cloud) (web UI)
Graphite
Stacked-PR code review on top of GitHub (cloud + CLI) (web UI)
Phabricator / Phorge
Self-hosted code review & repos (now maintained as Phorge) (port 443, web UI)
SourceForge
Open-source project hosting & downloads (cloud) (port 443, web UI)
Google Code (archive)
Defunct — read-only archive for migrating old projects (web UI)
Subversion (SVN)
Apache Subversion — centralized version control (self-hosted) (port 3690)
Jujutsu (jj)
Git-compatible VCS with a simpler, more powerful model
gh-dash
Terminal dashboard for GitHub PRs & issues (gh extension)
code.storage
Code hosting / storage platform (cloud) — see code.storage (web UI)
Entire
Code collaboration platform (cloud) — see entire.io (web UI)
Gitea Actions Runner
CI runner for Gitea/Forgejo Actions
Webhook (git-deploy)
Push-to-deploy via webhooks (port 9000, brew: webhook)
6.33CI/CD
Woodpecker CI
Lightweight container-native CI (port 8000, web UI)
GitHub Actions
CI/CD in GitHub — live build & deploy monitor (cloud) (web UI)
CodeRabbit
AI code reviewer for pull requests (cloud + CLI/IDE) (web UI)
GitLab CI/CD
Pipelines built into GitLab (cloud or self-hosted) (web UI)
CircleCI
Cloud CI/CD with fast parallelism (cloud) (web UI)
Depot
Remote build acceleration — Docker & GitHub Actions runners (cloud) (web UI)
Bitbucket Pipelines
CI/CD built into Bitbucket Cloud (cloud) (web UI)
Travis CI
Hosted CI for open source & teams (cloud) (web UI)
Buildkite
Hybrid CI — your agents, their dashboard (cloud) (web UI)
Jenkins
The classic self-hosted automation server (port 8080, web UI, brew: jenkins-lts)
Drone CI
Container-native CI server (self-hosted) (port 80, web UI)
Concourse
Pipeline-centric CI with reproducible builds (self-hosted) (port 8080, web UI)
TeamCity
JetBrains CI/CD server (self-hosted or cloud) (port 8111, web UI)
GoCD
Open-source CI/CD with value-stream pipelines (self-hosted) (port 8153, web UI)
Argo CD
GitOps continuous delivery for Kubernetes (self-hosted) (port 8080, web UI)
Flux CD
GitOps toolkit for Kubernetes (self-hosted)
Spinnaker
Multi-cloud continuous delivery (self-hosted) (port 9000, web UI)
Azure DevOps
Azure Pipelines, Repos, Boards & Artifacts (cloud) (web UI)
Buildkite Agent
Self-hosted runner for Buildkite pipelines
Jenkins Agent
Build node that connects to a Jenkins controller
GitHub Actions Runner
Self-hosted runner for GitHub Actions
Blacksmith
Managed high-performance CI runners for GitHub Actions (cloud) (web UI)
GitLab Runner
Self-hosted runner for GitLab CI/CD (brew: gitlab-runner)
6.34Build & Compile
Build & Render Farm
built-in tool
Workbox
Google's service-worker libraries for PWAs
Vite PWA Plugin
Zero-config PWA for Vite (vite-plugin-pwa)
Next.js PWA
PWA/service-worker support for Next.js
Nuxt PWA Module
PWA module for Nuxt (@vite-pwa/nuxt)
Xcode Build / Xcode Cloud
Apple's build system (xcodebuild) + Xcode Cloud CI
Bazel
Fast, scalable multi-language build system (Google)
Tuist
Xcode project generation & build optimization
Buck2
Meta's fast, hermetic multi-language build system
CMake
Cross-platform build-system generator (C/C++)
Ninja
Small, very fast build backend
Meson
Fast, user-friendly build system (Ninja backend)
Gradle
JVM/Android build automation with build cache
Apache Maven
Java build & dependency management
distcc
Distribute C/C++ compiles across machines
Icecream (icecc)
Distributed compiler with central scheduler
Bazel Remote Execution
Run Bazel actions on a remote farm (RBE)
BuildGrid
Open-source Remote Execution API server (self-hosted)
Incredibuild
Commercial distributed build acceleration
ccache
Compiler cache for C/C++ rebuilds
sccache
Shared compiler cache (C/C++/Rust) with cloud backends
Bazel Remote Cache
Shared HTTP/gRPC cache for Bazel (self-hosted) (port 8080)
Tuist Cache
Binary caching for Xcode builds (Tuist)
6.35Internal Developer Portals
Backstage
Spotify's open-source developer portal framework (self-hosted) (port 7007, web UI)
Port
No-code internal developer portal (cloud) (web UI)
Cortex
Service catalogue with scorecards & maturity (cloud) (web UI)
OpsLevel
Service maturity & ownership portal (cloud) (web UI)
Humanitec
Platform orchestrator for internal platforms (cloud + agent) (web UI)
Score
Open workload spec for portable deployments (CLI)
Roadie
Managed (hosted) Backstage (cloud) (web UI)
6.36Infrastructure as Code
Terraform
HashiCorp's declarative infrastructure as code (CLI)
OpenTofu
Open-source, community fork of Terraform (CLI)
Pulumi
Infrastructure as code in real languages (CLI / cloud)
Ansible
Agentless configuration management & automation (CLI)
Chef
Policy-as-code configuration management (Progress Chef)
Puppet
Declarative configuration management at scale (Perforce)
Salt
Event-driven remote execution & config management (CLI)
Packer
Build identical machine images for any platform (CLI)
AWS CloudFormation
Native AWS infrastructure as code (templates / CLI) (web UI)
AWS CDK
Define AWS infra in code, synth to CloudFormation (CLI)
6.37API Testing & Synthetic Monitoring
Postman
API platform — build, test, mock & monitor (app / cloud) (web UI)
Bruno
Open-source, offline, git-friendly API client (app / CLI)
Insomnia
API client for REST, GraphQL & gRPC (app)
Grafana k6
Developer-centric load & performance testing (CLI)
Artillery
Load testing & smoke tests for APIs and services (CLI)
Checkly
Monitoring-as-code — API checks & browser synthetics (cloud + CLI) (web UI)
Changedetection.io
Website change detection & notifications (port 5000, web UI)
6.38Proxies & Load Balancers
Reverse Proxy
built-in tool
Debug Share
built-in tool
ProxySQL
High-performance MySQL proxy (port 6033, brew: proxysql)
MySQL Router
Routing for MySQL InnoDB Cluster (port 6446)
Nginx Proxy Manager
Web-UI reverse proxy (Docker) (port 81, web UI)
keepalived
VRRP virtual IP failover + LVS load balancing
6.39Proxy Gateways
HAProxy
TCP/HTTP load balancer & proxy (brew: haproxy)
Traefik
Container-native reverse proxy & LB (port 8080, web UI, brew: traefik)
Squid
Caching forward proxy (HTTP/HTTPS/FTP) (port 3128, brew: squid)
3proxy
Tiny multi-protocol proxy (HTTP/SOCKS) (port 3128)
Tinyproxy
Lightweight HTTP/HTTPS forward proxy (port 8888, brew: tinyproxy)
6.40CDN & Edge
Cloudflare
built-in tool
Akamai
Enterprise CDN, security & edge compute (cloud) (web UI)
Fastly
Real-time CDN with VCL/Compute edge (cloud) (web UI)
Imperva
WAF-first CDN & DDoS protection (cloud) (web UI)
Amazon CloudFront
AWS CDN tied to S3/EC2 origins (cloud) (web UI)
Google Cloud CDN
GCP CDN on global load balancing (cloud) (web UI)
Azure Front Door
Microsoft's global entry point: CDN + WAF + LB (cloud) (web UI)
6.41Hosting
Hostinger
built-in tool
DigitalOcean
built-in tool
Vultr
built-in tool
Linode (Akamai)
built-in tool
Hetzner
built-in tool
Sakura Cloud
built-in tool
ConoHa
built-in tool
Cloudways
built-in tool
SiteGround
built-in tool
WP Engine
built-in tool
Kinsta
built-in tool
Pressable
built-in tool
Contabo
built-in tool
Cloud Servers
built-in tool
Abacus SuperComputer
Always-on Ubuntu VM from Abacus.AI (2 vCPU / 8 GB, SSH + root) (web UI)
Fly.io
Deploy apps as microVMs on Fly's global edge (cloud CLI)
Coolify
Self-hosted PaaS (Heroku/Netlify/Vercel alt.) (port 8000, web UI)
Dokploy
Open-source deployment platform (PaaS) (port 3000, web UI)
CapRover
Self-hosted PaaS on Docker Swarm (port 3000, web UI)
Kamal
Deploy containers to your own servers over SSH (37signals)
Dokku
Minimal self-hosted PaaS (git push deploy)
6.42AWS Control
S3 Buckets
built-in tool
EC2 Instances
built-in tool
Lightsail
built-in tool
CloudFront/CDN
built-in tool
Route 53 DNS
built-in tool
RDS Databases
built-in tool
DynamoDB
built-in tool
CloudWatch Logs
built-in tool
SNS Topics
built-in tool
Billing Alerts
built-in tool
IAM Key Warnings
built-in tool
6.43FinOps & Cloud Cost
Infracost
Cost estimates for Terraform, in CI (self-hosted CLI / cloud)
OpenCost
CNCF open-source Kubernetes cost monitoring (self-hosted) (port 9003, web UI)
Kubecost
Kubernetes cost visibility & optimization (self-hosted / cloud) (port 9090, web UI)
CloudZero
Cloud cost intelligence & unit economics (cloud) (web UI)
Vantage
Multi-cloud cost reporting & optimization (cloud) (web UI)
Finout
No-agent FinOps platform with unified cost (cloud) (web UI)
CloudHealth
Multi-cloud cost & governance (VMware/Broadcom, cloud) (web UI)
AWS Cost Explorer
Native AWS cost analysis & forecasting (API) (web UI)
GCP Cloud Billing
Google Cloud billing reports, budgets & BigQuery export (API) (web UI)
Azure Cost Management
Native Azure (and AWS) cost analysis & budgets (API) (web UI)
6.44Containers
Containers
built-in tool
Kubernetes Clusters
built-in tool
Docker
built-in tool
OrbStack
built-in tool
Vagrant
built-in tool
Kamal
built-in tool
Proxmox VE
Open-source virtualization — KVM VMs + LXC containers (port 8006, web UI)
VMware vSphere
Enterprise virtualization — ESXi hypervisor + vCenter (port 443, web UI)
Microsoft Hyper-V
Windows Server hypervisor (Type-1)
XCP-ng
Open-source Xen hypervisor (XenServer alternative) (port 443, web UI)
Nutanix
HCI platform — AHV hypervisor + Prism management (port 9440, web UI)
Scale Computing HyperCore
SC//HyperCore HCI appliance (HC3) — REST API on :443 (port 443, web UI)
VergeOS
Verge.io — integrated virtualization, storage and networking (port 443, web UI)
HPE Morpheus
Hybrid-cloud management & orchestration (REST API) (port 443, web UI)
Platform9
Managed Kubernetes / private cloud (SaaS control plane) (port 443, web UI)
Azure Local
Azure Stack HCI successor — monitored via Azure ARM, no local API (web UI)
OpenShift Virtualization
Run VMs alongside containers on OpenShift (KubeVirt) (web UI)
OpenStack
Open-source private-cloud IaaS platform (web UI)
VMware vMotion
Live-migrate running VMs between ESXi hosts
Proxmox VE Live Migration
Live-migrate KVM VMs across Proxmox cluster nodes
Hyper-V Live Migration
Move running Hyper-V VMs between hosts with no downtime
Watchtower
Auto-update running Docker containers
Podman
Daemonless, Docker-compatible containers
Apple Container
Apple's native `container` tool — Linux containers in per-container VMs
Lima
Linux virtual machines (container machines) on macOS
Colima
Container runtimes on macOS via Lima (Docker/containerd/k8s)
OrbStack
Fast Docker & Linux machines for macOS
Kubernetes
The container orchestrator (kubectl) (port 6443)
Helm
The Kubernetes package manager (charts)
Dev Containers (VS Code)
Reproducible dev environments in a container
K3s
Lightweight certified Kubernetes (self-hosted) (port 6443)
minikube
Local single-node Kubernetes for development
kind
Kubernetes IN Docker — disposable clusters
k3d
k3s in Docker — lightweight multi-node clusters
k0s
Zero-friction single-binary Kubernetes (port 6443)
MicroK8s
Canonical's low-ops Kubernetes (snap) (port 16443)
RKE2
Rancher's security-focused Kubernetes (Gov-grade) (port 6443)
Talos Linux
API-managed immutable OS purpose-built for Kubernetes (port 50000)
kubeadm
The official cluster bootstrapper (vanilla K8s) (port 6443)
OpenShift / OKD
Red Hat's enterprise Kubernetes platform (port 6443, web UI)
Rancher Desktop
Desktop Kubernetes + container runtime for Mac
nerdctl
Docker-compatible CLI for containerd
Docker Swarm
Docker-native clustering (docker swarm / stack) (port 2377)
Portainer
Web UI for Docker & Kubernetes (self-hosted) (port 9443, web UI)
Rancher
Multi-cluster Kubernetes management (self-hosted) (port 443, web UI)
Nomad
HashiCorp workload orchestrator (self-hosted) (port 4646, web UI)
6.45Service Mesh (Kubernetes)
Istio
Envoy-based service mesh for Kubernetes
Linkerd
Lightweight, fast CNCF service mesh
Consul Connect
HashiCorp Consul service mesh & discovery (port 8500, web UI)
Cilium Service Mesh
eBPF-based, sidecarless service mesh & CNI
Kuma
Universal service mesh (Kong, CNCF) (port 5681, web UI)
Gloo Mesh
Istio-based multi-cluster service mesh (solo.io)
NGINX Service Mesh
Lightweight service mesh on NGINX/NGINX Plus (F5)
AWS App Mesh
Managed Envoy service mesh on AWS (ECS/EKS/EC2)
Kong Gateway
Cloud-native API gateway on Envoy/Nginx (self-hosted / cloud) (port 8001)
Tyk
Open-source API gateway & management (self-hosted / cloud) (port 8080, web UI)
Apache APISIX
Dynamic, high-performance API gateway (self-hosted) (port 9180, web UI)
Envoy Gateway
Gateway API management plane for Envoy Proxy (self-hosted)
6.46Apps & CMS
WordPress
built-in tool
WordPress Sites
built-in tool
Convex
built-in tool
RevenueCat
built-in tool
Drupal
built-in tool
Joomla
built-in tool
Statamic
built-in tool
Grav
built-in tool
Kirby
built-in tool
Craft CMS
built-in tool
ClassicPress
WordPress fork without the block editor (web UI)
Backdrop CMS
Drupal 7 fork for small-to-medium sites (web UI)
Bedrock (Roots)
Composer-managed WordPress boilerplate
Trellis (Roots)
Ansible server provisioning for WordPress
WordPress Playground
WordPress running in WebAssembly — no server needed (port 9400, web UI)
Ghost
Modern publishing & newsletter platform (port 2368, web UI)
Webflow
Visual website builder & hosted CMS (cloud) (web UI)
Framer
Design-first website builder with hosted CMS (cloud) (web UI)
Instatic
Self-hosted visual CMS with an AI page editor (open-source) (port 3001, web UI)
6.47Knowledge & Memory
Obsidian
built-in tool
Vault Notes
built-in tool
GraphRAG
Graph-based retrieval-augmented generation (Microsoft)
Graphify
Turn a codebase into a queryable knowledge graph (AI coding-assistant skill)
Logseq
Local-first outliner & PKM (Markdown/Org)
Notion
All-in-one workspace — docs, wikis, databases (cloud)
DokuWiki
Flat-file PHP wiki — the closest macOS Server “Wiki” replacement (port 80, web UI)
MediaWiki
The wiki engine behind Wikipedia (PHP/MySQL) (port 80, web UI)
Wiki.js
Modern self-hosted wiki (Node.js) (port 3000, web UI)
BookStack
Self-hosted docs/wiki organised as books (PHP) (port 6875, web UI)
Outline
Self-hosted team knowledge base (real-time) (port 3000, web UI)
Trilium Notes
Hierarchical personal notes (self-hosted server + app) (port 8080, web UI)
Zotero
Reference & research manager (app + API)
Readwise
Highlights sync & read-later (cloud API)
Memos
Lightweight, privacy-first notes/memo hub (port 5230, web UI)
Linkding
Minimal, fast self-hosted bookmark manager (port 9090, web UI)
Karakeep
AI bookmark/read-it-later (formerly Hoarder) (port 3000, web UI)
Wallabag
Self-hosted read-it-later (Pocket alternative) (port 80, web UI)
Docmost
Open-source collaborative wiki & docs (Confluence/Notion alt.) (port 3000, web UI)
AFFiNE
Docs + whiteboard + database (Notion/Miro alt.) (port 3010, web UI)
AppFlowy
Open-source Notion alternative (docs/boards/DBs) (web UI)
Joplin Server
Sync server for Joplin notes (E2EE) (port 22300, web UI)
Shiori
Simple self-hosted bookmark manager (Go) (port 8080, web UI)
6.48E-Commerce
Store Health
built-in tool
Sales Channels
built-in tool
Square
built-in tool
WooCommerce
WordPress e-commerce plugin (PHP) (web UI)
Adobe Commerce (Magento)
Enterprise PHP commerce platform (port 80, web UI)
Shopware
Symfony-based commerce platform (PHP) (port 80, web UI)
Saleor
GraphQL-first headless commerce (Python) (port 8000, web UI)
Medusa
Node.js headless commerce engine (port 9000, web UI)
Vendure
Node.js/GraphQL headless commerce (port 3000, web UI)
Stripe
Payments & checkout API (cloud) (web UI)
PayPal
Online payments & checkout (cloud) (web UI)
DOKU
Indonesian payment gateway (cards, e-wallets, VA, QRIS) (web UI)
Mollie
European payments (iDEAL, cards, SEPA) (cloud) (web UI)
Paddle
Merchant-of-record for software sales (cloud) (web UI)
Lemon Squeezy
Digital-products storefront & MoR (legacy — moving to Stripe) (web UI)
Braintree
PayPal's card/wallet gateway (GraphQL API) (cloud) (web UI)
PAY.JP
Japanese card payments API (cloud) (web UI)
KOMOJU
Japanese multi-method payments (konbini, cards, wallets) (web UI)
Adyen
Enterprise payments platform (webhook/report-driven) (web UI)
Wise
Multi-currency business account & payouts (cloud) (web UI)
GMO Payment Gateway
Japan's largest PSP (per-order API; no list API) (web UI)
Shopify
Hosted commerce platform & channel (cloud) (web UI)
Amazon
Amazon marketplace selling channel (cloud) (web UI)
FedEx
Shipping rates, labels & tracking (cloud) (web UI)
UPS
Shipping rates, labels & tracking (cloud) (web UI)
DHL
Shipping rates, labels & tracking (cloud) (web UI)
eBay Seller Hub
eBay marketplace selling channel (cloud) (web UI)
Etsy
Handmade/vintage & POD marketplace (cloud) (web UI)
Walmart Marketplace
Walmart marketplace selling channel (cloud) (web UI)
6.49QR & Link Management
QR & Link Health
built-in tool
BL.INK
Enterprise link management (cloud) (web UI)
Bitly
Links, QR codes, analytics (cloud) (web UI)
Rebrandly
Branded short domains (cloud) (web UI)
Short.io
Teams, custom domains (cloud) (web UI)
Dub.co
Modern marketing links & QR (open-source core) (web UI)
QR Code Generator PRO
Dynamic QR codes (cloud) (web UI)
Beaconstac (Uniqode)
QR analytics & management (cloud) (web UI)
Flowcode
Marketing QR dashboards (cloud) (web UI)
Scanova
QR campaign management (cloud) (web UI)
QR TIGER
Dynamic QR management (cloud) (web UI)
GS1 Digital Link
Own your product-QR resolver (self-host or SaaS) (web UI)
6.50Student Information Systems
PowerSchool SIS
K-12 student information system (cloud) (web UI)
PowerSchool Attendance
Attendance tracking within PowerSchool (cloud) (web UI)
Blackbaud SIS
Independent/private-school SIS (cloud) (web UI)
FACTS SIS
Private/faith-based school SIS (cloud) (web UI)
Infinite Campus
K-12 SIS & state reporting (cloud) (web UI)
Veracross
All-in-one independent-school platform (cloud) (web UI)
openSIS
Open-source student information system (self-hosted) (web UI)
RosarioSIS
Open-source SIS (PHP/PostgreSQL, self-hosted) (web UI)
SchoolPass
Attendance, dismissal & safety (cloud) (web UI)
RFID/NFC Attendance
Tap-card attendance with RFID/NFC readers (self-hosted) (web UI)
6.51Learning Management
Canvas LMS
Instructure Canvas — courses, assignments, grading (web UI)
Blackboard Learn
Higher-ed LMS (cloud) (web UI)
Schoology
K-12 LMS by PowerSchool (cloud) (web UI)
Google Classroom
Google's classroom & assignment tool (cloud) (web UI)
Moodle
Open-source LMS (self-hosted, PHP) (web UI)
Open edX
MOOC-scale open LMS (self-hosted) (web UI)
ILIAS
Open-source LMS (self-hosted, PHP) (web UI)
BigBlueButton
Open-source virtual classroom (self-hosted) (web UI)
Zoom
Video meetings & online classes (app)
Google Meet
Google's video meetings (cloud) (web UI)
ExamSoft
Secure exam delivery & analytics (cloud) (web UI)
ProctorU
Online exam proctoring (cloud) (web UI)
TAO Testing
Open-source assessment platform (self-hosted) (web UI)
6.52Digital Library
EBSCOhost
Research databases & e-journals (cloud) (web UI)
ProQuest
Dissertations, e-journals & databases (cloud) (web UI)
JSTOR
Academic journals & books archive (cloud) (web UI)
Koha
Open-source integrated library system (self-hosted) (web UI)
DSpace
Open-source institutional repository (self-hosted) (web UI)
Greenstone
Open-source digital-library builder (self-hosted) (web UI)
6.53Campus & School Ops
aSc Timetables
School timetable generator (desktop)
Mimosa Scheduling
Timetabling / scheduling software (desktop)
FET Timetabling
Open-source automatic timetabling (self-hosted/desktop)
Slate Admissions
Admissions & enrolment CRM (cloud) (web UI)
OpenApply
Admissions & enrolment for K-12 (cloud) (web UI)
Finalsite Enrolment
School websites & enrolment (cloud) (web UI)
FACTS Tuition Management
Tuition billing & payment plans (cloud) (web UI)
Flywire Education Payments
Cross-border tuition payments (cloud) (web UI)
StarRez
Student housing & residential life (cloud) (web UI)
eRezLife
Residence life & housing management (cloud) (web UI)
Ellucian Banner
Higher-ed ERP / student system (cloud or self-hosted) (web UI)
Workday Student
Cloud ERP for higher education (cloud) (web UI)
ParentSquare
School-home communication (cloud) (web UI)
Remind
Teacher-family messaging (cloud) (web UI)
Asset Panda
Asset & device tracking (cloud) (web UI)
Incident IQ
K-12 IT helpdesk & asset management (cloud) (web UI)
ClassLink
Education SSO & rostering (cloud) (web UI)
6.54Sourcing & Suppliers
AliExpress
Global supplier marketplace for drop-shipping (cloud) (web UI)
Alibaba
B2B wholesale sourcing (cloud) (web UI)
CJdropshipping
Sourcing + warehousing + fulfilment (cloud) (web UI)
Spocket
US/EU-supplier drop-ship marketplace (cloud) (web UI)
Zendrop
Drop-ship sourcing & auto-fulfillment (cloud) (web UI)
SaleHoo
Vetted supplier directory (cloud) (web UI)
DSers
AliExpress order automation (official) (cloud) (web UI)
6.55Print-on-Demand
Printful
Print-on-demand & fulfilment (cloud) (web UI)
Printify
Print-on-demand marketplace (cloud) (web UI)
Gelato
Global/local print-on-demand network (cloud) (web UI)
Gooten
Print-on-demand fulfilment platform (cloud) (web UI)
6.56Shipping & Fulfilment
Drop-shipping Health
built-in tool
AfterShip
Universal shipment tracking across 1,000+ carriers (cloud) (web UI)
ShipStation
Multi-channel order & label management (cloud) (web UI)
Easyship
Global shipping rates, duties & labels (cloud) (web UI)
Shippo
Multi-carrier rates, labels & tracking API (cloud) (web UI)
Pirate Ship
Free, discounted USPS/UPS labels (cloud) (web UI)
6.57Inventory Sync
SkuVault
Warehouse & inventory management (cloud) (web UI)
Cin7
Inventory & order management (cloud) (web UI)
Zoho Inventory
Multi-channel inventory & order management (cloud) (web UI)
Katana Cloud Inventory
Manufacturing & inventory control (cloud) (web UI)
6.58Profit Analytics
Triple Whale
E-commerce profit & attribution dashboard (cloud) (web UI)
Lifetimely
P&L and LTV analytics for Shopify (cloud) (web UI)
BeProfit
Profit & expense tracking dashboard (cloud) (web UI)
6.59Mesh Networking
RNS Nodes
built-in tool
Reticulum
Cryptography-based mesh networking stack (any medium)
Nomad Network (NomadNet)
Resilient comms over Reticulum (pages, files, messaging)
Sideband
LXMF messaging app over Reticulum (desktop/mobile)
Meshtastic
LoRa mesh radio for text & location (off-grid)
RNode LoRa Devices
Open LoRa radio interface for Reticulum (flash & configure)
Yggdrasil
Self-arranging encrypted IPv6 mesh (experimental)
cjdns / Hyperboria
Encrypted IPv6 mesh routing (source-routed)
B.A.T.M.A.N.-adv
Layer-2 community Wi-Fi mesh routing (Linux)
OLSR (olsrd)
Optimized Link State Routing for MANETs
Babel (babeld)
Robust distance-vector mesh routing protocol
Briar
P2P messaging over Tor, Wi-Fi & Bluetooth
AREDN
Amateur-radio high-speed mesh (ham licence)
qaul
Internet-independent P2P mesh messaging app
Serval Mesh
Off-grid mesh comms (Serval Project)
Ratspeak
Private, account-free mesh messaging (Reticulum-based)
6.60Anonymity Networks
Tor
Onion-routing anonymity network (client/relay/bridge/onion service) (port 9050, brew: tor)
I2P
Garlic-routed network — router, tunnels, eepsites, messaging (port 7070, web UI)
6.61Secrets & Vaults
Vault Links
built-in tool
Bitwarden
Password manager — cloud or official self-host (web UI)
Vaultwarden
Self-hosted Bitwarden-compatible server (Docker) (port 8222, web UI)
HashiCorp Vault
Secrets, PKI & dynamic credentials (self-hosted) (port 8200, web UI)
Step CA
Your own private certificate authority (self-hosted) (port 8443)
Let's Encrypt
Free TLS certificates via ACME — health & renewal monitor
Infisical
Open-source secrets for app configs (cloud or self-hosted) (port 8080, web UI)
Doppler
Hosted secrets & config manager (cloud) (web UI)
1Password SCIM Bridge
Automated 1Password user provisioning (self-hosted bridge) (port 3002)
1Password
Password manager with developer secrets API (cloud) (web UI)
Keeper Security
Password manager & Secrets Manager (cloud API) (web UI)
6.62Monitoring
Disk Health
built-in tool
Service Guardian
built-in tool
Grafana
Dashboards for any data source (self-hosted) (port 3000, web UI, brew: grafana)
Prometheus
Time-series metrics & alerting (self-hosted) (port 9090, web UI, brew: prometheus)
Alertmanager
Route and deduplicate Prometheus alerts (self-hosted) (port 9093, web UI)
Node Exporter
Unix host metrics for Prometheus (self-hosted) (port 9100, web UI, brew: node_exporter)
Windows Exporter
Windows host metrics for Prometheus (remote) (port 9182, web UI)
Zabbix
Enterprise monitoring — agents, SNMP, triggers (self-hosted) (port 8080, web UI)
Nagios Core
The classic check-based monitor (self-hosted) (port 80, web UI)
Checkmk
Auto-discovering IT monitoring (self-hosted) (port 8080, web UI)
Healthchecks.io
Cron & heartbeat monitoring (cloud or self-hosted) (web UI)
Datadog
Hosted metrics, logs, traces and synthetics (SaaS) (web UI)
New Relic
Hosted APM, infrastructure and logs (SaaS) (web UI)
Sentry
Error tracking and performance monitoring (web UI)
Honeycomb
Observability for high-cardinality events and traces (web UI)
Dynatrace
Enterprise observability and AIOps platform (web UI)
Matomo
Full-featured self-hosted web analytics (port 80, web UI)
Plausible
Lightweight, privacy-first analytics (port 8000, web UI)
Umami
Simple, privacy-focused analytics (Node) (port 3000, web UI)
GoAccess
Real-time access-log analyser (CLI/HTML)
Netdata
Real-time system metrics dashboard (port 19999, web UI, brew: netdata)
Uptime Kuma
Self-hosted uptime monitor (port 3001, web UI)
Scrutiny
S.M.A.R.T. drive health dashboard (port 8080, web UI)
Glances
Cross-platform system monitor (web/API) (port 61208, web UI)
Beszel
Lightweight server monitoring hub + agents (port 8090, web UI)
Speedtest Tracker
Scheduled internet speed tests + history (port 80, web UI)
UptimeRobot
Cloud uptime/SSL monitoring with status pages (web UI)
NUT (Network UPS Tools)
UPS monitoring server (upsd) for many devices (port 3493)
Homepage
Self-hosted services dashboard (gethomepage.dev) (port 3000, web UI)
PeaNUT
Modern web dashboard for NUT UPS servers (port 8080, web UI)
6.63Security Tools
Security
built-in tool
Malware Audit
built-in tool
Security Audit
built-in tool
EDR Fleet
built-in tool
Fail2ban
Bans IPs after suspicious activity (intrusion prevention) (brew: fail2ban)
Wazuh
Open-source SIEM & XDR (self-hosted) (port 443, web UI)
Suricata
High-performance IDS/IPS engine (self-hosted)
Snort
The classic network IDS (self-hosted)
LuLu
Free open-source outbound firewall (macOS app)
Burp Suite
Web app security testing — intercepting proxy & scanner (macOS app) (port 8080)
Yakit
Open-source web security testing platform & MITM (macOS app)
Strix
AI-assisted penetration testing from the local CLI
Fuzzilli
Coverage-guided JavaScript engine fuzzer (reviewed local binaries)
OWASP ZAP
Open-source web-app security scanner (DAST) — spider, active scan, proxy (port 8080)
Little Snitch
Commercial network monitor & firewall (macOS app)
Murus
GUI front-end for the macOS pf firewall (app)
Radio Silence
Lightweight macOS outbound firewall (app)
Vallum
Per-app outbound firewall & throttle (app)
Hands Off!
Per-app network + disk access control (app)
NetBarrier
Two-way macOS firewall (Intego, app)
ClamAV
Open-source antivirus engine (self-hosted) (brew: clamav)
YARA
Pattern-matching engine for malware (self-hosted)
AbuseIPDB
Crowd-sourced IP reputation / blocklist (cloud API) (web UI)
Phishing Catcher
Catch phishing domains from CT logs (self-hosted)
URLhaus
Malware-URL feed & lookup API (cloud · abuse.ch) (web UI)
OpenPhish
Live phishing-URL feed (cloud) (web UI)
MISP
Threat-intelligence sharing platform (self-hosted) (port 443, web UI)
CAPE Sandbox
Malware sandbox w/ config extraction (self-hosted) (port 8000, web UI)
Cuckoo Sandbox
Automated malware-analysis sandbox (self-hosted) (port 8090, web UI)
YARA-X
YARA rewritten in Rust — faster CLI scanner (self-hosted)
Volatility 3
Memory-forensics framework (self-hosted)
capa
Detect capabilities in executables (self-hosted)
oletools
Analyse malicious Office docs / OLE (self-hosted)
radare2
Reverse-engineering framework / disassembler (self-hosted)
binwalk
Firmware / embedded-file carving & analysis (self-hosted)
Nuclei
Template-based vulnerability scanner (self-hosted CLI)
OpenCTI
Cyber threat-intelligence platform (self-hosted) (port 8080, web UI)
TheHive
Security incident-response platform (self-hosted) (port 9000, web UI)
Cortex
Observable analysers & responders engine (self-hosted) (port 9001, web UI)
IntelOwl
OSINT / threat-intel analysis platform (self-hosted) (port 443, web UI)
AlienVault OTX
Open Threat Exchange IOC feed (cloud) (web UI)
Security Onion
NSM + SIEM + IDS Linux distro (self-hosted) (port 443, web UI)
GRR Rapid Response
Remote live-forensics / IR framework (self-hosted) (port 8000, web UI)
OpenEDR
Open-source endpoint detection & response (self-hosted) (web UI)
Santa
macOS binary allowlisting / blocklisting (self-hosted)
KnockKnock
Reveal persistently installed Mac software (self-hosted)
BlockBlock
Monitor & block persistence in real time (self-hosted)
ThreatLocker
Zero Trust app allowlisting & endpoint control (agent + cloud portal)
OPSWAT MetaDefender
Multi-engine malware scanning & file CDR (self-hosted / API) (port 8008, web UI)
osquery
Query your endpoint like a database (agent)
Fleet
Self-hosted osquery fleet manager (web UI + API) (port 8080, web UI)
Velociraptor
Endpoint visibility & DFIR hunting (self-hosted) (port 8889, web UI)
Zeek
Network security monitor / traffic analysis (self-hosted)
OpenVAS / Greenbone
Vulnerability scanning (self-hosted) (port 9392, web UI)
CrowdStrike Falcon
Cloud-native EDR/XDR (macOS sensor + API)
SentinelOne
Autonomous EDR/XDR (macOS agent + API)
Microsoft Defender for Endpoint
Microsoft EDR for macOS (agent + Graph API)
Sophos Central
Endpoint protection / MDR (macOS agent + API)
Bitdefender GravityZone
Endpoint protection / EDR (macOS agent + API)
Malwarebytes
Anti-malware (macOS app; business via Nebula API)
Huntress
Managed EDR/MDR for SMB & MSPs (agent + API)
Jamf Protect
Mac-native endpoint security (agent + API)
LimaCharlie
API-first SecOps cloud / EDR (agent + API)
Airlock Digital
Application allowlisting & execution control (agent + API)
Admin By Request
Endpoint privilege management / just-in-time admin (agent + API)
CyberArk EPM
Endpoint Privilege Manager (agent + API)
BeyondTrust EPM
Endpoint Privilege Management for Mac (agent + API)
AutoElevate (CyberFOX)
MSP privilege elevation & local-admin control (agent + API)
VirusTotal
Multi-engine file/URL reputation (API)
Cloudmersive
Virus-scan & content-protection API (cloud / self-host)
Hybrid Analysis
Malware sandbox (Falcon Sandbox) — API
Kolide
Device trust & posture (osquery-based agent + API)
AdGuard
Ad/tracker blocker app + AdGuard DNS & VPN (commercial)
CyberChef
The cyber-Swiss-army-knife for data (web UI)
6.64Secrets Scanning & Supply Chain Security
Snyk
Developer security — code, deps, containers & IaC (cloud + CLI) (web UI)
Dependabot
Automated dependency-update & security PRs (GitHub) (web UI)
Renovate
Automated dependency updates, any platform (self-hosted / app)
Trivy
All-in-one vuln, secret, IaC & SBOM scanner (self-hosted CLI)
Grype
Fast vulnerability scanner for images & SBOMs (self-hosted CLI)
Syft
Generate SBOMs from images & filesystems (self-hosted CLI)
Cosign
Sign & verify container images and artifacts (self-hosted CLI)
Sigstore
Keyless signing ecosystem — Cosign, Fulcio, Rekor (self-hosted / public)
Chainguard
Minimal, low/zero-CVE container images (cloud + chainctl) (web UI)
Socket
Proactive dependency / supply-chain attack detection (cloud + CLI) (web UI)
GitGuardian
Secrets detection across code & CI (cloud + ggshield CLI) (web UI)
Gitleaks
Open-source secrets scanner for git repos (self-hosted CLI)
TruffleHog
Find & VERIFY leaked secrets across code, git history, cloud & CI (self-hosted CLI)
OSV-Scanner
Dependency vulnerability scanner backed by OSV.dev (self-hosted CLI)
Lynis
Host security auditing & hardening for Unix/Linux/macOS (self-hosted CLI)
Semgrep Supply Chain
SAST + reachable-dependency (SCA) scanning (self-hosted CLI / cloud)
6.65Policy, Compliance & Governance
Vanta
Automated compliance — SOC 2, ISO 27001, HIPAA, GDPR (cloud) (web UI)
Drata
Continuous compliance automation & audit readiness (cloud) (web UI)
Secureframe
Compliance automation across 40+ frameworks (cloud) (web UI)
Sprinto
Compliance automation for fast-moving teams (cloud) (web UI)
Thoropass
Compliance + audit in one (formerly Laika, cloud) (web UI)
Hyperproof
Compliance operations & evidence management (cloud) (web UI)
OneTrust
Privacy, GRC & data governance suite (cloud) (web UI)
LogicGate Risk Cloud
No-code GRC & risk workflow platform (cloud) (web UI)
AuditBoard
Connected risk, audit & compliance platform (cloud) (web UI)
Eramba
Open-source GRC platform (self-hosted) (port 443, web UI)
SimpleRisk
Open-source risk management (self-hosted) (port 443, web UI)
OpenGRC
Open-source governance, risk & compliance (self-hosted) (port 8080, web UI)
OpenControl
Compliance-as-code documentation toolkit (self-hosted CLI)
Open Policy Agent (OPA)
General-purpose policy engine, Rego (self-hosted CLI) (port 8181)
Conftest
Test config files against OPA/Rego policies (CLI)
OPA Gatekeeper
OPA policy admission controller for Kubernetes (self-hosted)
Kyverno
Kubernetes-native policy engine, no new language (self-hosted)
HashiCorp Sentinel
Policy as code for the HashiCorp stack (CLI)
Checkov
Static policy scanning for IaC (self-hosted CLI)
Prowler
Open-source multi-cloud security & compliance scanner (CLI)
Scout Suite
Multi-cloud security-auditing tool (CLI)
CloudQuery
Cloud asset inventory as SQL (self-hosted CLI)
Steampipe
Query cloud APIs with SQL + compliance mods (CLI)
Cloud Custodian
Rules engine for cloud governance & remediation (CLI)
AWS Config
Native AWS resource configuration & compliance (API) (web UI)
AWS Security Hub
Aggregated AWS security findings & standards (API) (web UI)
OpenFGA
Open-source fine-grained authorization (Zanzibar-style, self-hosted) (port 8080)
Authzed / SpiceDB
Zanzibar-style permissions database (self-hosted / cloud) (port 50051)
Permify
Open-source fine-grained authorization service (self-hosted) (port 3476)
Aserto / Topaz
Authorization built on OPA + Zanzibar (self-hosted / cloud) (port 8383)
immudb
Immutable, cryptographically-verifiable database / audit log (self-hosted) (port 3322)
Securiti
Data privacy, security & governance platform (cloud) (web UI)
BigID
Data discovery, privacy & governance at scale (cloud) (web UI)
DataGrail
Privacy platform — DSR & data mapping automation (cloud) (web UI)
Transcend
Privacy & data-rights automation, incl. AI governance (cloud) (web UI)
MineOS
Data-governance & privacy operations platform (cloud) (web UI)
Osano
Consent management & privacy compliance (cloud) (web UI)
OpenMetadata
Open-source metadata, catalogue & lineage platform (self-hosted) (port 8585, web UI)
DataHub
Open-source metadata platform & data catalogue (self-hosted) (port 9002, web UI)
Amundsen
Open-source data discovery & metadata engine (self-hosted) (port 5000, web UI)
Apache Atlas
Metadata & governance for the Hadoop/data ecosystem (self-hosted) (port 21000, web UI)
Microsoft Purview
Data governance, compliance, retention & eDiscovery (cloud) (web UI)
Google Vault
Retention, legal hold & eDiscovery for Google Workspace (cloud) (web UI)
Smarsh
Communications capture, archiving & supervision (cloud) (web UI)
Logikcull
Self-service eDiscovery & legal hold (cloud, Reveal) (web UI)
Everlaw
Cloud litigation & eDiscovery platform (cloud) (web UI)
6.66MDM & Device Management
Apple Business Manager
built-in tool
Kandji
Apple MDM + endpoint security & compliance (agent + API)
Mosyle
Apple MDM + endpoint security (agent + API)
Jamf Pro
Apple MDM — device management & compliance (agent + API)
Microsoft Intune
Cross-platform MDM/MAM in Microsoft 365 (cloud + Graph API)
Addigy
Cloud Apple MDM for MSPs & IT teams (agent + API)
SimpleMDM
Straightforward Apple MDM with a clean REST API (cloud)
JumpCloud
Cloud directory + cross-platform MDM & SSO (agent + API)
Fleet (Apple MDM)
Open-source MDM + osquery for cross-platform device ops (self-hosted) (port 8080, web UI)
Munki
Open-source macOS software deployment (self-hosted)
MicroMDM
Open-source, self-hosted Apple MDM server — the Profile Manager replacement (port 8080)
NanoMDM
Minimal, scalable open-source Apple MDM server (port 9000)
AutoPkg
Automated macOS software packaging (CLI)
6.67Logging & Observability
Graylog
Centralized log management (self-hosted) (port 9000, web UI)
Logstash
ELK's ingest & transform pipeline (self-hosted) (port 9600, brew: logstash-full)
Kibana
ELK's search & dashboard UI (self-hosted) (port 5601, web UI, brew: kibana-full)
Loki
Grafana's log store — like Prometheus, for logs (self-hosted) (port 3100, brew: loki)
Vector
High-performance logs/metrics pipeline (self-hosted) (port 8686, brew: vector)
Fluent Bit
Ultra-light log forwarder (self-hosted) (port 2020, brew: fluent-bit)
Splunk
Enterprise log search, SIEM and observability (port 8000, web UI)
Elastic Cloud
Hosted Elasticsearch, Kibana and observability (web UI)
Dozzle
Live Docker container log viewer (port 8080, web UI)
6.68Incident Management & On-Call
PagerDuty
On-call scheduling & incident response (cloud API) (web UI)
Opsgenie
Alerting & on-call by Atlassian (cloud API) (web UI)
incident.io
Slack-native incident response & on-call (cloud API) (web UI)
Rootly
Slack-native incident management (cloud API) (web UI)
6.69Status Pages
Statuspage
Atlassian's hosted status pages (cloud API) (web UI)
Better Stack
Uptime monitoring, incidents & status pages (cloud API) (web UI)
Gatus
Automated health checks + status page (port 8080, web UI)
6.70Mining
Mining Rigs
built-in tool
Braiins OS+
Open ASIC firmware (Antminer) — autotuning + API (port 4028, web UI)
Hive OS
Cloud mining fleet OS & dashboard (web UI)
Awesome Miner
Windows-based mining management for large fleets (web UI)
LuxOS / Foreman
ASIC firmware (LuxOS) & Foreman fleet management (port 4028, web UI)
6.71AI / LLMs
AI Administrator
built-in tool
AI Models
built-in tool
Ollama
built-in tool
LM Studio
built-in tool
Model Costs
built-in tool
Skill Manager
built-in tool
Open WebUI
built-in tool
RAG Manager
built-in tool
Vector Databases
built-in tool
Firecrawl
built-in tool
Crawl4AI
built-in tool
Apify
built-in tool
Playwright
built-in tool
Browserbase
built-in tool
MLX
Apple-silicon model serving via MLX — CLI server or the oMLX menu-bar app (port 8080)
TurboFieldfare
Gemma 4 26B-A4B on Apple Silicon in ~2 GB of RAM (port 8080)
Cerebras
Very fast hosted inference on wafer-scale hardware (web UI)
MLX (Apple)
Apple's ML framework for Apple Silicon
vLLM
High-throughput LLM inference server (OpenAI-compatible) (port 8000)
llama.cpp Server
Lightweight local LLM server (OpenAI-compatible) (port 8080)
Mojo (Modular MAX)
Modular's AI language + MAX inference server (OpenAI-compatible) (port 8000)
LocalAI
Self-hosted, OpenAI-compatible inference server (port 8080, web UI)
Jan
Private, offline AI desktop app (OpenAI-compatible) (port 1337)
PrivateGPT
Ask questions of your documents, 100% offline (RAG) (port 8001, web UI)
IBM watsonx.ai
IBM's enterprise AI platform — Granite + third-party models (cloud/on-prem) (web UI)
Mem0
Memory layer for AI agents — self-hosted (Docker) or cloud (port 8888, web UI)
CrewAI (open source)
Multi-agent crews — Python framework + CLI (local)
Open Computer
Virtual OS for AI agents — QEMU VM per agent (Mintplex Labs) (web UI)
LiteLLM
Proxy/gateway for 100+ LLM APIs (OpenAI-compatible) (port 4000, web UI)
Tetrate Agent Router
Hosted LLM router — one OpenAI-compatible API (cloud) (web UI)
AnythingLLM
All-in-one self-hosted RAG chat app (port 3001, web UI)
Hugging Face
Model hub, Inference API & local tooling (web UI)
ChatLLM Teams
Abacus.AI's multi-model team chat & agent workspace (cloud) (web UI)
LibreChat
Self-hosted multi-provider AI chat UI (port 3080, web UI)
NotebookLM
Google's source-grounded research notebook (cloud) (web UI)
Open Notebook
Open-source, self-hosted NotebookLM alternative (port 8502, web UI)
OpenCode
Open-source AI coding agent (terminal)
Goose
Open-source local AI agent (CLI + desktop)
6.72AI Clusters
Exo Cluster
built-in tool
GPU Fabric
built-in tool
Petals
BitTorrent-style distributed inference of big models
Distributed Llama
Tensor-parallel Llama across cheap nodes (root + workers) (port 9998)
Slurm
HPC workload manager / job scheduler (port 6817)
Ray
Distributed compute for AI (training/serving/tuning) (port 8265, web UI)
Apache Spark
Distributed big-data processing engine (port 8080, web UI)
Dask
Parallel computing for Python (scales pandas/NumPy) (port 8787, web UI)
JupyterLab
Interactive notebooks for data & AI (Python) (port 8888, web UI)
Run:ai
GPU orchestration & fractional GPUs on Kubernetes (NVIDIA) (web UI)
NVIDIA Base Command Manager
GPU/HPC cluster provisioning & management (ex-Bright) (port 8081, web UI)
6.73Agent Platforms
Agent Platforms
built-in tool
Agent Registry
built-in tool
Task Queue
built-in tool
Model Router
built-in tool
Repository Connectors
built-in tool
Agent Sessions
built-in tool
Agent Jobs
built-in tool
OpenClaw
built-in tool
Hermes
built-in tool
Odysseus
built-in tool
DeerFlow
built-in tool
CoWork OS
built-in tool
OpenAI Codex Runtime
built-in tool
Claude Code CLI
built-in tool
Gemini CLI
built-in tool
Factory Droid
built-in tool
OpenCode
built-in tool
Goose
built-in tool
LangGraph Platform
built-in tool
CrewAI Enterprise
built-in tool
Microsoft AutoGen
built-in tool
Genspark
built-in tool
Agent Zero
built-in tool
NVIDIA NemoClaw
built-in tool
OpenHuman
built-in tool
Apple Intelligence
built-in tool
Sandcastle
Orchestrate sandboxed coding agents (isolated containers)
SuperAGI
Open-source autonomous-agent framework (self-hosted) (port 3000, web UI)
OpenHands (OpenDevin)
Open-source autonomous AI software engineer (self-hosted) (port 3000, web UI)
E2B
Secure cloud sandboxes for AI agents (spin up / clone / kill) (web UI)
Browserbase
Headless browser infrastructure for AI agents (cloud sessions) (web UI)
Manus
Autonomous general AI agent (cloud API) (web UI)
Devin
Cognition's AI software engineer (cloud API) (web UI)
GitHub Copilot
AI pair programmer — live org seat/usage monitor (web UI)
OpenAI Operator
OpenAI's browser-using agent (cloud) (web UI)
Hyperagent
Airtable's fleet-of-agents platform (cloud) (web UI)
Herdr
Agent multiplexer — tmux for AI coding agents (terminal)
ChatGPT Work Sites
OpenAI's work agent + published Sites/web apps (alpha) (web UI)
Lakebed
Agent-native runtime for full-stack TypeScript capsules (alpha) (port 3000, web UI)
6.74ML Workbench
MLflow
ML experiment tracking & model registry (self-hosted) (port 5000, web UI)
pandas
The standard Python DataFrame library
Polars
Fast multicore DataFrame library (Rust core)
scikit-learn
Classic machine-learning library for Python
XGBoost
Gradient-boosted decision trees (high-accuracy tabular ML)
PyTorch
Deep-learning framework (GPU/MPS accelerated)
Kaggle
Datasets, notebooks & competitions (CLI)
Kubeflow
ML toolkit & pipelines on Kubernetes (web UI)
ClearML
Experiment tracking, orchestration & MLOps (self-hostable) (port 8080, web UI)
Weights & Biases (Local)
Self-hosted experiment tracking & dashboards (port 8080, web UI)
DVC Studio
Data/model version control + experiment dashboard (web UI)
6.75AI Governance & Safety
Langfuse
Open-source LLM observability & tracing (self-hosted / cloud) (port 3000, web UI)
Helicone
LLM observability & gateway — logs, costs, caching (self-hosted / cloud) (web UI)
Arize Phoenix
Open-source LLM tracing & evaluation (self-hosted) (port 6006, web UI)
OpenLLMetry
OpenTelemetry instrumentation for LLM apps (SDK)
Promptfoo
Prompt/RAG testing, evals & LLM red-teaming (self-hosted CLI)
Ragas
Evaluation framework for RAG pipelines (Python)
Guardrails AI
Input/output validation guardrails for LLMs (Python)
NeMo Guardrails
Programmable guardrails for LLM conversations (NVIDIA, Python)
Lakera Guard
Real-time GenAI security — prompt-injection firewall (cloud / self-host) (web UI)
Protect AI
AI/ML security — model scanning & ML supply chain (cloud + OSS) (web UI)
garak
LLM vulnerability scanner / red-teaming (self-hosted CLI)
TruLens
Evaluation & tracking for LLM apps — feedback functions (Python) (web UI)
WhyLabs
AI observability & data/LLM monitoring (cloud + whylogs) (web UI)
Fiddler AI
AI observability & model monitoring with explainability (cloud) (web UI)
Credo AI
AI governance, risk & compliance platform (cloud) (web UI)
Holistic AI
AI governance, risk & audit platform (cloud + OSS) (web UI)
6.76GPU Infrastructure
NVIDIA DCGM
NVIDIA Data Center GPU Manager — telemetry & health (port 5555)
DCGM Exporter
Export NVIDIA GPU metrics to Prometheus (port 9400)
6.77Speech AI
Handy
Free local push-to-talk speech-to-text (Whisper)
Wispr Flow
AI voice dictation that types into any app
Voicebox
Open-source local voice-to-text for macOS
Whisper
OpenAI's speech-to-text model (Python)
Whisper.cpp
Fast C/C++ Whisper inference (CPU/Metal)
Faster Whisper
CTranslate2 Whisper — up to 4× faster
Coqui TTS
Open-source text-to-speech & voice cloning (port 5002, web UI)
Piper TTS
Fast, local neural text-to-speech
VibeVoice
Microsoft's long-form, multi-speaker TTS
Kokoro TTS
Small, fast, high-quality open-weight TTS (82M)
6.78Image & Video AI
ComfyUI
Node-graph Stable Diffusion / video workflows (port 8188, web UI)
AUTOMATIC1111 WebUI
Stable Diffusion web UI (txt2img/img2img) (port 7860, web UI)
InvokeAI
Pro Stable Diffusion studio (Unified Canvas) (port 9090, web UI)
Fooocus
Simplest Stable Diffusion — type a prompt, get art (port 7865, web UI)
6.79MCP
MCP Servers
built-in tool
Fleet Skill
built-in tool
MCP Server
built-in tool
6.80Self-Hosted Apps
PhotoPrism
AI-powered photo library (port 2342, web UI)
ResourceSpace
Open-source digital asset management (self-hosted) (port 80, web UI)
Pimcore
Open-source PIM / DAM / CMS platform (self-hosted) (port 80, web UI)
Paperless-ngx
Scan, OCR & archive documents (port 8000, web UI)
Paperless-AI
AI auto-tagging & chat for Paperless-ngx (port 3000, web UI)
FreshRSS
Self-hosted RSS reader (PHP) (port 80, web UI)
Miniflux
Minimalist RSS reader (Go) (port 8080, web UI, brew: miniflux)
Mixpost
Self-hosted social media scheduling (port 80, web UI)
Mealie
Self-hosted recipe manager & meal planner (port 9000, web UI)
Tandoor
Recipe manager & meal planner (port 8080, web UI)
Grocy
Groceries & household ERP (port 80, web UI)
Dashy
Feature-rich homelab dashboard (port 4000, web UI)
Heimdall
Simple application start page (port 80, web UI)
Homer
Static, fast services dashboard (YAML) (port 8080, web UI)
6.81Web3
The Graph
built-in tool
Foundry
Fast Solidity toolkit (forge/cast/anvil) (port 8545)
Anvil
Local Ethereum testnet (Foundry) (port 8545)
Solidity
Smart-contract compiler (solc)
Hardhat
Ethereum dev environment (Node.js) (port 8545)
Ganache
Personal Ethereum blockchain (dev) (port 8545)
IPFS
Distributed file system (Kubo) (port 5001, web UI, brew: ipfs)
Ceramic
Decentralized data network (ComposeDB) (port 7007)
6.82Crypto
Bitcoin Core
Full Bitcoin node (bitcoind) (port 8332)
Ethereum Node
go-ethereum (geth) execution node (port 8545)
BTCPay Server
Self-hosted Bitcoin payment processor (port 23000, web UI)
XMRig
Monero (RandomX) CPU/GPU miner
6.83RPC Services
Alchemy
built-in tool
Infura
built-in tool
6.84Tools
Apache Tika
Content detection & text/metadata extraction (port 9998)
Gotenberg
Stateless API to convert documents to PDF (port 3000)
LanguageTool
Self-hosted grammar & style checker (offline Grammarly alternative) (port 8081)
SearXNG
Private metasearch engine (self-hosted) (port 8080, web UI)
Stirling-PDF
Self-hosted PDF toolbox (merge/split/OCR…) (port 8080, web UI)
IT-Tools
Handy developer/IT utilities in one page (port 80, web UI)
Excalidraw
Virtual hand-drawn whiteboard (port 80, web UI)
Penpot
Open-source design & prototyping (Figma alt.) (port 9001, web UI)
Whoogle Search
Private, ad-free Google results proxy (port 5000, web UI)
6.85Home Automation
Apple Home
built-in tool
Power Control
built-in tool
Nori / SuperNori AI
AI family hub display + proactive family AI agent (cloud + device) (web UI)
Home Assistant
Open-source home automation hub (port 8123, web UI)
Node-RED
Flow-based automation wiring (port 1880, web UI, brew: node-red)
Homebridge
Bridge non-HomeKit devices to Apple Home (port 8581, web UI)
ESPHome
Firmware for ESP IoT devices (Home Assistant) (port 6052, web UI)
openHAB
Vendor-neutral automation platform (port 8080, web UI)
6.86Cameras
motionEye
Web frontend for motion (DIY NVR) (port 8765, web UI)
RTSP Cameras
Any RTSP-streaming IP camera (port 554)
ONVIF Cameras
Standards-based camera discovery & control (port 80, web UI)
go2rtc
Camera stream restreamer (RTSP/WebRTC/HLS) (port 1984, web UI)
Tapo Cameras
TP-Link Tapo Wi-Fi cameras (RTSP/ONVIF) (port 554)
Frigate
NVR with real-time object detection (port 5000, web UI)
Scrypted
High-performance camera hub (port 11080, web UI)
Shinobi
Open-source video management (CCTV) (port 8080, web UI)
ZoneMinder
Full-featured CCTV / video surveillance (port 8095, web UI)
Agent DVR
Cross-platform NVR with AI detection (self-hosted) (port 8090, web UI)
Blue Iris
Powerful Windows NVR (run on a Windows host) (port 81, web UI)
6.87IoT
SwitchBot
built-in tool
Zigbee
built-in tool
Zigbee2MQTT
Bridge Zigbee devices to MQTT (no vendor hub) (port 8080, web UI)
Z-Wave (Z-Wave JS UI)
Control Z-Wave devices via MQTT + web UI (port 8091, web UI)
Matter
Commission & control Matter devices (port 5580)
Thread
Low-power mesh for Matter devices
OpenThread Border Router
Run your own Thread border router (self-hosted)
Bluetooth (BLE)
BLE sensors & trackers
Bluetooth Beacons
iBeacon / Eddystone proximity beacons (BLE)
TP-Link Kasa & Tapo
Kasa & Tapo plugs/bulbs/strips + the kasa CLI
Amazon Alexa
Voice assistant ecosystem
Google Home
Google Home / Nest ecosystem
HomePod
Apple smart speaker & Home hub (AirPlay 2 / Matter / Thread)
6.88MQTT Brokers
MQTT Message Bus
built-in tool
Mosquitto
Eclipse MQTT broker (port 1883, brew: mosquitto)
EMQX
Scalable, clustered MQTT broker (port 1883, web UI, brew: emqx)
HiveMQ
Enterprise MQTT broker (Java) (port 1883, web UI)
6.89POS Systems
Toast POS
Restaurant POS platform (cloud) (web UI)
Lightspeed
Retail & hospitality POS (cloud) (web UI)
Floranext
All-in-one florist software — POS, e-commerce & orders (cloud) (web UI)
6.90CRM & Loyalty
Salesforce
The enterprise CRM (cloud) (web UI)
HubSpot
CRM + marketing/sales hubs (cloud) (web UI)
Zoho CRM
Affordable full-suite CRM (cloud) (web UI)
SuiteCRM
Self-hosted open-source CRM (PHP) (port 80, web UI)
EspoCRM
Lightweight self-hosted CRM (PHP) (port 80, web UI)
Odoo CRM
CRM inside the open-source ERP (Python) (port 8069, web UI)
Pipedrive
Sales-pipeline-first CRM (cloud) (web UI)
Square Loyalty
Points & rewards on Square (cloud) (web UI)
Loyalzoo
Digital loyalty for independents (cloud) (web UI)
Thanx
Guest engagement & loyalty for restaurants (web UI)
Punchh
Enterprise restaurant loyalty (PAR, cloud) (web UI)
VoucherVault
Self-hosted vouchers, gift cards & loyalty (port 8000, web UI)
6.91Helpdesk & Ticketing
Zammad
Open-source helpdesk & ticketing (self-hosted) (port 8080, web UI)
osTicket
Classic open-source support ticket system (PHP/MySQL) (port 80, web UI)
Freshdesk
Cloud helpdesk / customer support (API) (web UI)
6.92IT Assets
GLPI
Asset inventory & ITSM with CMDB (PHP/MySQL) (port 80, web UI)
Snipe-IT
Open-source IT asset management (PHP/MySQL) (port 80, web UI)
AssetTiger
Cloud asset tracking with barcodes (API) (web UI)
Lansweeper
IT asset discovery & inventory (cloud/on-prem API) (web UI)
Workwize
Global IT equipment lifecycle & logistics (cloud API) (web UI)
6.93Project Management
Jira
Issue tracking & agile project management (cloud API) (web UI)
Linear
Fast issue tracking for product teams (cloud, GraphQL API) (web UI)
Taiga
Open-source agile project management (self-hosted) (port 80, web UI)
OpenProject
Open-source PM with Gantt & roadmaps (self-hosted) (port 80, web UI)
Plane
Open-source Jira alternative (self-hosted) (port 80, web UI)
Leantime
Open-source PM for non-project managers (PHP/MySQL) (port 80, web UI)
Basecamp
Project management & team collaboration (cloud API) (web UI)
monday.com
Work OS — boards, projects & workflows (cloud API) (web UI)
Vikunja
Self-hosted to-do / task manager (port 3456, web UI)
Planka
Realtime kanban board (Trello alternative) (port 1337, web UI)
Kimai
Self-hosted time tracking (port 8001, web UI)
Focalboard
Self-hosted project boards (Trello/Notion alt.) (port 8000, web UI)
6.94PMS
Channel Manager
built-in tool
SuiteOp
built-in tool
Symplehost
AI property management for short-term rentals (cloud) (web UI)
Breezeway
Property operations & services for STRs (cloud) (web UI)
Operto
Smart-lock & guest-experience automation for STRs (cloud) (web UI)
PriceLabs
Dynamic pricing & revenue management for STRs (cloud) (web UI)
Beyond
Dynamic pricing, insights & direct booking for STRs (cloud) (web UI)
Wheelhouse
Dynamic pricing & market analytics for STRs (cloud) (web UI)
AirDNA
Short-term-rental market data & analytics (cloud) (web UI)
RankBreeze
Airbnb listing optimization & rank tracking (cloud) (web UI)
Truvi
Direct-booking website builder for STRs (cloud) (web UI)
Hostaway
Short-term-rental PMS & channel manager (cloud API) (web UI)
Guesty
STR property-management platform (Open API) (web UI)
OwnerRez
Vacation-rental PMS for owners & small managers (v2 API) (web UI)
Lodgify
Direct-booking website builder + channel manager (web UI)
Uplisting
STR PMS / channel manager (invite-only API) (web UI)
Streamline VRS
Enterprise vacation-rental management (partner-gated API) (web UI)
RemoteLock
Cloud access control for smart locks (REST API) (web UI)
Minut
Noise & occupancy sensors for rentals (Enterprise API) (web UI)
NoiseAware
Noise monitoring for rentals (partner-provisioned API) (web UI)
Hospitable
Guest-messaging automation & STR management (cloud) (web UI)
Hostfully
STR property-management platform & digital guidebooks (cloud) (web UI)
Boostly
SMS marketing & direct-booking growth for STRs (cloud) (web UI)
Cloudbeds
Hotel PMS, booking engine & channel manager (cloud) (web UI)
Beds24
PMS & channel manager with a deep API (cloud) (web UI)
AirHost
Japanese STR PMS & channel manager (cloud) (web UI)
HappyGuest
Digital guest directory & concierge for hospitality (cloud) (web UI)
Alexa Smart Properties
Managed Alexa for hotels & senior living (cloud) (web UI)
QloApps
Open-source hotel reservation system (port 80, web UI)
HotelDruid
Hotel/B&B management & bookings (port 80, web UI)
OpenHotel PMS
Open property-management system (web UI)
BookStack
Wiki/docs for SOPs & property info (port 80, web UI)
Easy!Appointments
Open-source appointment scheduling (port 80, web UI)
Turno
Vacation-rental cleaning & turnover scheduling (cloud) (web UI)
Rentals (Laravel)
Custom Laravel vacation-rental app (port 80, web UI)
6.95Meeting Rooms & Desk Booking
Skedda
Desk & space booking (cloud API) (web UI)
Robin
Room scheduling & desk booking (cloud API) (web UI)
Envoy Workplace
Workplace, visitor & desk management (cloud API) (web UI)
YAROOMS
Meeting room & desk booking (cloud API) (web UI)
OfficeSpace
Space management & desk/room booking (cloud API) (web UI)
Condeco (Eptura)
Enterprise room & desk booking (cloud API) (web UI)
DeskFlex
Desk & room reservation system (cloud API) (web UI)
Matrix Booking
Room, desk & resource booking (cloud API) (web UI)
6.96Coworking & Shared Spaces
OfficeRnD
Coworking & flex-space management (cloud API) (web UI)
Nexudus
Coworking management & white-label platform (cloud API) (web UI)
Optix
App-first coworking management (cloud API) (web UI)
Cobot
Coworking space management (cloud API) (web UI)
6.97Facilities & Maintenance
IBM Maximo
Enterprise asset management & CMMS (cloud/self-managed API) (web UI)
FMX
Facilities management & maintenance (cloud API) (web UI)
Archibus
IWMS — facilities, real estate & assets (API) (web UI)
6.98Accounting & ERP
Money Forward Cloud
Japanese cloud accounting & back office (cloud) (web UI)
freee
Japanese cloud accounting & HR (cloud) (web UI)
Xero
Cloud accounting for small business (cloud) (web UI)
ERPNext
Open-source ERP — accounting, inventory, HR (self-hosted) (port 8080, web UI)
Odoo
Open-source ERP suite — self-hosted (Python + PostgreSQL) (port 8069, web UI)
QuickBooks
Intuit cloud accounting (cloud) (web UI)
Plaid
Bank account linking & financial data (cloud API)
Expensify
Expense & receipt management (cloud API) (web UI)
Firefly III
Self-hosted personal finance manager (port 8080, web UI)
Actual Budget
Fast local-first envelope budgeting (port 5006, web UI)
Ghostfolio
Open-source wealth/investment tracker (port 3333, web UI)
Invoice Ninja
Self-hosted invoicing & payments (port 80, web UI)
Maybe
Open-source personal finance / net worth (port 3000, web UI)
6.99Healthcare
OpenEMR
Open-source EHR & practice management (PHP/MySQL) (port 80, web UI)
OpenMRS
Open-source medical record platform (Java) (port 8080, web UI)
GNU Health
Hospital & health information system (Python/Tryton) (port 8000, web UI)
LibreHealth
Open-source EHR / toolkit (PHP/MySQL) (port 80, web UI)
Orthanc
Lightweight DICOM server / PACS (REST API) (port 8042, web UI)
OpenDolphin
Open-source EHR / electronic karte (Japan) (port 8080, web UI)
ORCA
Japan Medical Association receipt/billing system (port 8000, web UI)
6.100Automation & Workflows
Automatio.ai
AI no-code web automation & scraping (cloud) (web UI)
Zite
AI app & workflow builder (cloud) (web UI)
AppSheet
Google no-code app builder from a spreadsheet/DB (cloud) (web UI)
Make (Integromat)
Visual scenario automation + AI agents — 3,000+ apps (cloud) (web UI)
Zapier
Cloud iPaaS — connect 7,000+ apps (cloud) (web UI)
n8n
Source-available workflow automation (self-hosted) (port 5678, web UI)
Pipedream
Developer-first workflow automation (cloud) (web UI)
Power Automate
Microsoft cloud + desktop automation (cloud) (web UI)
Activepieces
Open-source no-code automation (self-hosted) (port 8080, web UI)
Windmill
Scripts → workflows & internal apps (self-hosted) (port 8000, web UI)
Huginn
Self-hosted agents that watch & act (self-hosted) (port 3000, web UI)
Flowise
Drag-and-drop LLM app builder (self-hosted) (port 3000, web UI)
Langflow
Visual builder for LLM/agent flows (self-hosted) (port 7860, web UI)
Dify
Open-source LLMOps / AI app platform (self-hosted) (port 80, web UI)
Elgato Stream Deck
Hardware macro keypad with LCD keys
Touch Portal
Turn a phone/tablet into a macro deck (no extra hardware)
Bitfocus Companion
Open-source control surface for larger automation workflows (port 8000, web UI)
X-keys
Programmable keypads for NOCs & operations
Matric
Phone macro deck with live metric tiles
QMK / VIA
Open keyboard firmware + live key remapping
6.101Workflow Orchestration
Temporal
Durable execution platform for reliable workflows (port 8233, web UI)
Restate
Durable execution for resilient services (single binary) (port 9070, web UI)
Apache Airflow
Programmatic data-pipeline orchestration (DAGs) (port 8080, web UI)
6.102HRIS Integration
Unified.to (HRIS API)
Unified API across HRIS providers (web UI)
Apideck (HRIS API)
Unified HRIS API & integration platform (web UI)
Truto
Unified API for HRIS & more (cloud) (web UI)
Bindbee
Unified HRIS / employment API (cloud) (web UI)
6.103VoIP & Telephony
Asterisk
The open-source PBX engine (self-hosted) (port 5060, brew: asterisk)
FreePBX
Web GUI distro on Asterisk (self-hosted, Linux) (port 80, web UI)
FreeSWITCH
Carrier-grade softswitch (self-hosted) (port 5060)
FusionPBX
Multi-tenant web GUI on FreeSWITCH (self-hosted) (port 443, web UI)
Issabel PBX
Unified-communications distro on Asterisk (self-hosted) (port 443, web UI)
Kamailio
High-performance SIP server/proxy (self-hosted) (port 5060)
OpenSIPS
SIP proxy/router for large platforms (self-hosted) (port 5060)
PBXact
Sangoma's commercial PBX (appliance/cloud) (port 80, web UI)
Plivo
Voice & SMS API platform (cloud) (web UI)
Telnyx
Carrier-grade voice, SIP trunking & numbers (cloud) (web UI)
Bird (MessageBird)
Omnichannel CPaaS — SMS, voice, WhatsApp (cloud) (web UI)
Sinch
Global SMS, voice & verification CPaaS (cloud) (web UI)
Twilio Voice
Programmable voice calls & TwiML (cloud) (web UI)
VitalPBX
Modern Asterisk-based PBX distro (self-hosted) (port 443, web UI)
Vonage APIs
Voice, SMS & video APIs (cloud, ex-Nexmo) (web UI)
Wazo Platform
API-first open telecom platform (self-hosted) (port 443, web UI)
Yate
Flexible telephony engine — SIP/H.323/SS7 (self-hosted) (port 5060)
3CX
Commercial software PBX (self-hosted or hosted) (port 443, web UI)
6.104Contact Centre & IVR
Twilio Studio
Drag-and-drop IVR & call-flow builder (cloud) (web UI)
Twilio Flex
Programmable contact centre (cloud) (web UI)
Amazon Connect
AWS cloud contact centre (cloud) (web UI)
Genesys Cloud
Enterprise CX platform — Architect IVR (cloud) (web UI)
Five9
CCaaS with strong outbound dialing (cloud) (web UI)
Talkdesk
AI-forward cloud contact centre (cloud) (web UI)
RingCentral Contact Center
CCaaS on the RingCentral platform (cloud) (web UI)
8x8 Contact Center
UCaaS + CCaaS in one platform (cloud) (web UI)
Vonage Contact Center
Salesforce-centric contact centre (cloud) (web UI)
Dialpad Ai Contact Center
AI-native contact centre & real-time coaching (cloud) (web UI)
Aircall
Lightweight cloud call centre for teams (cloud) (web UI)
CloudTalk
Cloud calling for support & sales (cloud) (web UI)
GoTo Connect
Phone system + contact centre (cloud) (web UI)
Zoom Contact Center
Omnichannel CC on the Zoom platform (cloud) (web UI)
Freshdesk Contact Center
Freshworks phone channel (ex-Freshcaller, cloud) (web UI)
Zendesk Talk
Voice channel inside Zendesk Support (cloud) (web UI)
Intermedia Contact Center
CCaaS bundled with Intermedia Unite (cloud) (web UI)
6.105SEO & Marketing
Analytics
built-in tool
IndexNow Manager
built-in tool
Cloudflare Analytics
Privacy-first web & edge analytics (cloud) (web UI)
Ahrefs
Backlinks, keywords & rank tracking (cloud) (web UI)
Google Search Console
Search performance, indexing & sitemaps (cloud) (web UI)
Google Analytics
GA4 web & app analytics (cloud) (web UI)
PageSpeed Insights / CrUX
Core Web Vitals & Lighthouse scores per URL (cloud) (web UI)
Plausible Analytics
Privacy-first, self-hostable web analytics (port 8000, web UI)
Umami
Simple, self-hosted, privacy-focused analytics (port 3000, web UI)
Matomo
Full GA-style analytics, self-hosted (web UI)
GoatCounter
Minimal, open-source web analytics (port 8081, web UI)
PostHog
Self-hostable product analytics suite (port 8000, web UI)
Bing Webmaster Tools
Bing search performance & URL submission (cloud) (web UI)
Yandex Webmaster
Yandex search performance & indexing (cloud) (web UI)
Semrush
Keywords, competitors & site audit (cloud) (web UI)
Moz
Domain Authority & backlinks (cloud) (web UI)
Majestic
Backlink index — Trust & Citation Flow (cloud) (web UI)
DataForSEO
SERP, keyword & backlink data API (cloud) (web UI)
SerpApi
Real-time SERP scraping API (cloud) (web UI)
Yahoo! JAPAN Ads & Search
Japan's #2 search/ads ecosystem (cloud) (web UI)
Ptengine
Analytics + heatmaps, popular in Japan (web UI)
KARTE
Real-time user/CX analytics (PLAID, JP) (web UI)
AdEbis (アドエビス)
Ad attribution & marketing analytics (JP) (web UI)
Naver Search Advisor
Naver's Search Console (KR) — IndexNow partner (web UI)
Naver Analytics
Naver's free web analytics (KR) (web UI)
Beusable
Heatmap & UX analytics (KR) (web UI)
Airbridge
Mobile attribution & analytics (AB180, KR) (web UI)
adbrix
Mobile attribution & analytics (IGAWorks, KR) (web UI)
Google Lighthouse
Audit performance, PWA, SEO & accessibility
Shlink
Self-hosted URL shortener with REST API & analytics (port 8080, web UI)
YOURLS
Your Own URL Shortener (PHP) (port 80, web UI)
Kutt
Modern open-source URL shortener (port 3000, web UI)
Polr
Minimalist self-hosted link shortener (Laravel) (port 80, web UI)
Dub.co
Open-source link management for marketing teams (port 8888, web UI)
Nahpet
Self-hosted URL shortener with custom domains & analytics (port 3000, web UI)
Flink (URL Shortener)
Self-hosted shortener that keeps the path after the alias (port 8080, web UI)
Chhoto URL
Tiny, fast self-hosted URL shortener (Rust) (port 4567, web UI)
6.106Conversion Rate Optimization
Optimizely
Enterprise A/B testing & experimentation (cloud) (web UI)
VWO
A/B testing, heatmaps, surveys (cloud) (web UI)
AB Tasty
Personalization & experimentation (cloud) (web UI)
Statsig
Modern experimentation & feature flags (cloud, API) (web UI)
GrowthBook
Self-hosted A/B testing & feature flags (open-source) (port 3100, web UI)
Mixpanel
Product analytics & funnels (cloud) (web UI)
Amplitude
Product analytics & journeys (cloud) (web UI)
Hotjar
Heatmaps & session recording (cloud) (web UI)
Microsoft Clarity
Free heatmaps & session recording (cloud) (web UI)
FullStory
Digital experience & session replay (cloud) (web UI)
Lucky Orange
Heatmaps, recordings, live chat (cloud) (web UI)
Mouseflow
Session replay & heatmaps (cloud) (web UI)
Heap
Autocapture funnels & journeys (cloud) (web UI)
Contentsquare
Experience analytics & journeys (cloud) (web UI)
UserVoice
Product feedback & feature requests (cloud) (web UI)
Canny
Feature-request boards (cloud, API) (web UI)
Survicate
Website & in-product surveys (cloud) (web UI)
Qualtrics
Experience-management surveys (cloud) (web UI)
LaunchDarkly
Enterprise feature-flag management (cloud, API) (web UI)
Unleash
Self-hosted feature-flag management (open-source) (port 4242, web UI)
6.107Social Media
Buffer
Social media scheduling & publishing (cloud API) (web UI)
Postiz
Open-source, self-hosted social media scheduler (port 5000, web UI)
Postly
AI-powered social media publishing platform (web UI)
Post Planner
Content discovery & social scheduling (web UI)
Postcron
Multi-platform social media scheduler (web UI)
Publer
Social media scheduling & analytics (web UI)
Hootsuite
Social media management suite (cloud API) (web UI)
Later
Visual social scheduling (Instagram-first, cloud API) (web UI)
Metricool
Social analytics, scheduling & ads (cloud API) (web UI)
SocialPilot
Social scheduling for teams & agencies (cloud API) (web UI)
Mastodon
Self-hosted federated microblogging (ActivityPub) (web UI)
strfry
Fast C++ Nostr relay (single binary, one-click Docker) (port 7777)
nostr-rs-relay
Rust Nostr relay on SQLite (one-click Docker) (port 8080)
Nostream
TypeScript Nostr relay — Postgres, paid relays (Docker Compose) (port 8008)
HAVEN
Personal Nostr relay suite + Blossom media (Docker Compose) (port 3355, web UI)
Blossom Server
Nostr media/blob server — images & files (one-click Docker) (port 3000, web UI)
Pixelfed
Federated photo sharing (Instagram alt.) (port 80, web UI)
Lemmy
Federated link aggregator (Reddit alt.) (port 8536, web UI)
Misskey
Federated microblogging (rich Mastodon alt.) (port 3000, web UI)
6.108Media Servers
MediaMTX
RTSP/RTMP/HLS/WebRTC/SRT media server (port 8554, brew: mediamtx)
SRS
Simple Realtime Server — RTMP/WebRTC/SRT (port 1935, web UI)
Owncast
Self-hosted live streaming + chat (port 8080, web UI)
Restreamer
Restream one input to many platforms (port 8080, web UI)
Icecast
Audio streaming server (net radio) (port 8000, web UI, brew: icecast)
AzuraCast
Complete self-hosted radio station (port 80, web UI)
Jellyfin
Free home media server (Plex alternative) (port 8096, web UI, brew: jellyfin)
Plex Media Server
Popular home media server (port 32400, web UI)
Emby
Media server with live TV/DVR (port 8096, web UI)
PeerTube
Federated, P2P video platform (ActivityPub) (port 9000, web UI)
Navidrome
Self-hosted music server (Subsonic-compatible) (port 4533, web UI)
Audiobookshelf
Self-hosted audiobook & podcast server (port 13378, web UI)
Tvheadend
TV streaming server & DVR (DVB/IPTV) (port 9981, web UI)
TSDuck
MPEG transport-stream toolkit (CLI)
Wowza Streaming Engine
Commercial streaming server (RTMP/SRT/HLS) (port 8088, web UI)
Immich
Self-hosted photo & video backup (Google Photos alt.) (port 2283, web UI)
Channels DVR Server
Whole-home DVR for live TV & streaming (self-hosted) (port 8089, web UI)
Jellyseerr
Media request manager (Jellyfin/Plex/Emby) (port 5055, web UI)
Bazarr
Automatic subtitles for Sonarr/Radarr (port 6767, web UI)
Tdarr
Distributed media transcoding/health automation (port 8265, web UI)
Komga
Comics & manga server (self-hosted) (port 25600, web UI)
Kavita
Fast ebook/comic/manga server (port 5000, web UI)
RomM
Self-hosted ROM manager & player (port 8080, web UI)
Overseerr
Media request manager for Plex (port 5055, web UI)
Ombi
Media request system (Plex/Emby/Jellyfin) (port 3579, web UI)
Airsonic-Advanced
Self-hosted music streaming (Subsonic API) (port 4040, web UI)
Calibre-Web
Web reader/manager for a Calibre ebook library (port 8083, web UI)
Tautulli
Plex monitoring, history & stats (port 8181, web UI)
6.109Download Automation
qBittorrent
Open-source BitTorrent client with Web UI (self-hosted) (port 8080, web UI)
Transmission
Lightweight BitTorrent client + daemon (self-hosted) (port 9091, web UI)
SABnzbd
Usenet (NZB) downloader with Web UI (self-hosted) (port 8080, web UI, brew: sabnzbd)
NZBGet
Lightweight, efficient Usenet downloader (self-hosted) (port 6789, web UI)
Sonarr
Automated TV series management (self-hosted) (port 8989, web UI)
Radarr
Automated movie management (self-hosted) (port 7878, web UI)
Lidarr
Automated music collection management (self-hosted) (port 8686, web UI)
Readarr
Automated book & audiobook management (self-hosted) (port 8787, web UI)
Prowlarr
Indexer manager for the *arr stack (port 9696, web UI)
Tube Archivist
Self-hosted YouTube archive (index + watch) (port 8000, web UI)
Pinchflat
Self-hosted YouTube media downloader/archiver (port 8945, web UI)
6.110AV & Stage
AV Feeds
built-in tool
Dante (Audinate)
Audio-over-IP networking (AoIP)
Q-SYS
QSC's AV processing & control platform (port 1710, web UI)
QLC+
Open-source DMX lighting control (port 9999, web UI)
grandMA3
MA Lighting console / onPC show control
grandMA2
MA Lighting grandMA2 console / onPC
Depence²
Real-time 3D previz & show control (Syncronorm)
PixMob
Crowd LED wearables for stadium light shows
Xylobands
RF-controlled LED wristbands for events
OBS Studio
Live production, streaming & recording (port 4455)
NDI
Video-over-IP for production (NDI) (port 5959)
Resolume Arena / Avenue
VJ / media-server software (port 8080, web UI)
MadMapper
Projection mapping & LED control
Liquidsoap
Scriptable radio/audio stream engine
MPV
Scriptable media player (CLI)
Kodi
Media centre with JSON-RPC remote (port 8080, web UI)
VLC
Player with HTTP/telnet remote interfaces (port 8080, web UI)
Yodeck
Cloud digital signage (Pi players) (web UI)
Screenly / Anthias
Digital signage — cloud or open source (port 80, web UI)
Google Cast / YouTube Cast
Chromecast casting & control (port 8009)
ArKaos GrandVJ / XT
Live VJ mixing & video mapping
ArKaos MediaMaster (ChamSys)
Stage media server for lighting desks
Syphon
GPU frame sharing between Mac apps
SRT (tools)
Secure Reliable Transport for live video (port 9710)
WebRTC (WHIP/WHEP)
Sub-second video in any browser (port 8889)
AirServer
Turn this Mac into an AirPlay/Cast/Miracast receiver
Reflector
AirPlay/Cast screen receiver (Squirrels)
Chrome Remote Desktop
Free remote control of this Mac (web UI)
Riverside.fm
Remote podcast & video recording studio (cloud) (web UI)
6.111Render Farm
AWS Deadline / Deadline 10
Render farm queue manager (VFX/3D)
OpenCue
Open-source render manager (self-hosted)
Qube!
Commercial render farm / job manager (PipelineFX)
6.112Tracking & Telematics
Traccar
Open-source GPS tracking server (self-hosted) (port 8082, web UI)
OwnTracks
Private self-hosted location tracking (MQTT/HTTP) (port 8083, web UI)
TeslaMate
Self-hosted Tesla data logger (Docker) (port 4000, web UI)
Samsara
Fleet telematics platform (cloud API) (web UI)
Geotab
Fleet telematics (MyGeotab API) (web UI)
Fleetio
Fleet maintenance management (cloud API) (web UI)
Onfleet
Last-mile delivery management (cloud API) (web UI)
Bouncie
Connected-car OBD tracker (cloud API) (web UI)
AutoPi
Programmable vehicle IoT dongle (cloud API) (web UI)
flespi
Telematics IoT gateway & MQTT broker (cloud API) (web UI)
第 7
サイト・ドメイン・Web
Mac 上の vhost からレジストラ、DNS、CDN、検索エンジンまで — ドメインが本当に健全かを一目で示し、そうでないときに直すためのツール群を 1 つのペインに。
動く Web サイトとは、ただ Apache が起動していること以上のものです。ドメインが名前解決され、証明書が有効で、正しいマシンが応答し、その前に CDN が立ち、検索エンジンがその存在を知っている必要があります。FrontierStack はそのすべてを Sites ペインと小さなツール群に集約し、レジストラ・DNS・TLS・CDN・ホスト・SEO という連鎖全体を 1 つのウィンドウから可視化し、修正できるようにします。本章はスタックの上にある Web を扱います。vhost と証明書そのものは第 4 章を参照してください。
7.1Sites ペインと Domain Health
サイドバーから Sites を開きます。最上部には Domain Health セクション、つまり FrontierStack が把握するすべてのホスト名を集めたライブダッシュボードがあります。定義済みのローカル Apache・Nginx vhost、連携サーバ上の vhost、トークンにあるすべての Cloudflare ゾーン、レジストラ監視のすべてのドメインです。各ドメインには状態バッジ付きの行が並び、行の Check、またはヘッダーの Check All を押すと、アプリがドメインを端から端まで検査し、バッジを緑または橙に色付けします。
このダッシュボードの目的は、1 つの問いに確実に答えることです — このドメインは本当に配信されているか、どこから配信されているか? 検査は公開インターネットに対して実行されるため(実際の DNS 検索、実際の HTTP リクエスト、実際の TLS ハンドシェイク)、ローカルの設定確認では決して見えない障害を捉えます — 誤った IP を指すレコード、期限切れの証明書、「pending」のまま固まった Cloudflare ゾーン、名前解決はできるが 502 を返すサイト。
| 検査項目 | 測定方法 | 問題の見え方 |
|---|---|---|
| DNS | ホスト名の実リゾルバ検索(host/dig)と返る IP。 | レコードなし、または自分のサーバでないアドレス。 |
| HTTP | ステータスコードを記録するライブリクエスト(curl -w %{http_code})。 | 200–399 以外 — 404、502、リダイレクトループ。 |
| SSL/TLS | 証明書の終了日を読む TLS ハンドシェイク(openssl s_client → x509 -enddate)。バッジに残日数を表示。 | 期限切れ、まもなく期限切れ、または名前不一致。 |
| HTTP/3 | サーバが Alt-Svc ヘッダで HTTP/3 を告知しているとティール色のバッジが付きます。Apache 自体は HTTP/3 を持たないため、Apache サイトでこのバッジを得る通常の方法はドメインの Cloudflare ゾーンペインにある HTTP/3 トグルです(ブラウザはエッジと QUIC で通信し、オリジンは h1/h2 のまま)。HTTP/3 は UDP 443 を使うことに注意——TCP のみのファイアウォールではブラウザは黙って HTTP/2 にフォールバックします。 | h3 を配信しているはずのサイトにバッジがない——エッジ設定がオフか、UDP 443 がブロックされています。 |
| Cloudflare | トークンから取得するゾーンの状態とプラン。例:active · Pro。 | レジストラでネームサーバを切り替えていないため「pending」のゾーン。 |
| 配信ホスト | 応答した IP と Server ヘッダーから判定。 | リモートを期待したのに「This Mac (Apache)」、あるいはオリジンを隠す「Cloudflare」。 |
7.2ドメイン所有権の証明
ベンダーは、所有者にしか作成できない DNS TXT レコードの公開を求めることでドメインの所有を確認します — ACME の DNS-01 チャレンジと同じ「DNS による証明」ですが、レコードの形式はベンダーごとに異なります。Domain Health 行の確認(Verify)ボタンはその形式を 1 か所に集約します。サービス — Google(Search Console/Workspace)、Microsoft 365、Meta、Apple Business Manager、Atlassian、OpenAI、Stripe、GitHub 組織、またはカスタムレコード — を選び、ベンダーのコンソールからトークンを貼り付けると、FrontierStack が TXT レコードをドメインの Cloudflare ゾーンに直接公開します。ドメインが Cloudflare トークンにない場合は、DNS ホストに追加すべきレコードをそのまま提示します。トークンだけを貼り付けても自動補完されます(Google で abc123 を貼ると google-site-verification=abc123 になります)。
シートには apex にすでに公開されている確認レコードも表示されます — このドメインが現在どのサービスに証明済みかの簡易監査です。Check DNS は公開 DNS(1.1.1.1)に新しいレコードを照会するので、ベンダー側で「確認」を押す前に証明が見えているか確かめられます。
証明書については、Let's Encrypt サービスペイン(セキュリティとシークレットカテゴリー)がもう一方のドメイン証明の常時ヘルスチェックです。ACME API・Let's Encrypt のステータスページ・ドメインの実際の証明書を監視し、ACME クライアントは残り 30 日で更新するため、証明書の更新遅延を警告します — certbot/acme.sh の自動更新の故障を、訪問者が期限切れ警告を目にする数週間前に捉えます。
7.3AI SEO と「Fix My Site」
ドメイン行のバッジのうち 2 つは、単なる診断ではなくボタンで、問題を AI 管理者に引き渡します。Fix My Site は壊れた、あるいは不調なサイトを受け取り、決まった手順でアシスタントを動かします — Host ヘッダー付きでサイトをローカルに curl して障害を再現し、関連ログを読み、Apache・PHP・データベースの稼働を確認し、最も可能性の高い根本原因と具体的な次の手順を提示します。Allow changes がオフなら助言のみ、オンなら可逆的な修正(サービス再起動、設定ファイルの誤値修正、データベース修復)を適用できます。WordPress 向けの派生版もあり、定番の白画面、「Error establishing a database connection」、壊れたパーマリンク、固まったメンテナンスモードに対応します。
SEO アクションは端末上の読み取り専用監査を実行します — アシスタントがホームページ・robots.txt・サイトマップを取得し、100 点満点で採点し、短いレポート(タイトル、メタディスクリプション、見出し、クロール可能性、構造化データ)を書き出します。結果は SEO レポートシートで開き、所見を読んで対処できます。
7.4ワンクリック CMS インストール(Apps & CMS)
CMS のインストールは最初の一日にすぎません。残りを受け持つのが WordPressサイトです。ホスト(このMacまたは任意のフリートサーバ)を選び、一般的なウェブルート配下の wp-config.php を検索すると、そのマシン上の全 WordPress が、コア・プラグイン・テーマのバージョンと更新待ちの項目とともに一覧表示されます。すべて更新は、何かに触れる前にデータベースを書き出します。不具合のあるプラグイン更新は復旧できますが、失われたデータベースは戻らないからです。整合性を検査は、コアファイルを WordPress.org が公開するチェックサムと照合します。改ざんやバックドアを最も手早く見つける方法です。無料の WPScan トークンを追加すれば、インストール済みプラグインとコアを脆弱性データベースと照合し、修正が未公開のものを明示します。マルチサイトではサブサイトも一覧します。残る作業は、通常なら SSH とうろ覚えのコマンドを要するものばかりです。ロックアウトされた管理者のパスワード再設定、ドメイン移行のための検索置換(WP-CLI はシリアライズされた PHP 内の URL も正しく書き換えます。単純な SQL 置換ではデータが壊れるため、必ず予行演習から)、ステージングへの複製、データベースの書き出しと最適化です。複製はファイルをコピーし、複製側に専用のデータベースを与え、その中の URL を書き換え、検索エンジンよけを設定します。ステージングが本番に書き込んだり、検索順位で上回ったりすることはありません。すべて SSH 経由の WP-CLI で動作し、WP-CLI が無いホストにはインストールを提案します。サイトをピン留めすると、更新待ち・整合性検査の失敗・新たな脆弱性をアラートが知らせます。
WordPress が自前のマシンではなくマネージドホスティングにある場合も、ホスティングの各ペインがサイトを一覧します。WP Engine・Kinsta・Cloudways・Pressable は API 経由でインストール(環境・主要ドメイン・状態)を取得し、Cloud Servers で VPS インスタンスと並べて集約されるため、運用中のすべてを 1 つのインベントリで把握できます。これらはマシンではなくサイトなので、電源操作はありません。
Apps & CMS セクションは、セルフホスト CMS を Apache/PHP/MySQL スタックに 1 つのフローでインストールします。各アプリは専用ペインを持ちます:WordPress・Drupal・Joomla・Statamic・Grav・Kirby・Craft CMS。インストーラはアプリをダウンロード(Composer ベースの Statamic・Craft は composer create-project)してドキュメントルートに展開し、データベースが必要なもの(WordPress・Drupal・Joomla・Craft)はデータベースとユーザを作成して設定を所定の場所に書き出します。フラットファイル CMS(Grav・Kirby・Statamic)はデータベース不要です。続いてアプリのセットアップ/管理ページ(/wp-admin/install.php・/admin・/panel・/cp・/admin/install など)を開いてアカウントを作成でき、周辺の vhost・PHP・信頼された HTTPS は FrontierStack が設定します。インストール先フォルダは、Apache が既に管理しているサイトをメニューから選ぶ(ドメイン・ドキュメントルート・ポートを自動入力)か、選択…で新しい空フォルダを指定できます。新しいフォルダには対応する vhost が作成され、既存サイトのドメインなら更新されます。不具合時は上記の Fix My Site(AI) でデバッグします。
7.5Domain Registrar 監視
Sites はドメインが今日動くかを教えます。Domain Registrars ペイン(DNS カテゴリ)は、それが動き続けるかを教えます。ドメインを追加すると FrontierStack は次の 3 つをスケジュールで監視し、いずれかがずれるとアラートを発します。
- 有効期限 — 登録の終了日、レジストラ、ネームサーバ。RDAP で取得(
whoisフォールバックあり)。レジストラを問わずあらゆるドメインで機能します。 - DNS — ドメインがまだ名前解決されるか(
dig)。 - SSL — 証明書の有効期限。
opensslで直接確認。
更新警告は、有効期限がリマインダー期間内、すでに過ぎている、または自動更新がオフのときに発火します。対応レジストラでは、ペインがドメイン一覧と自動更新の状態を API で取り込めます — GoDaddy、Porkbun、Gandi、Value Domain、Route 53(AWS CLI 経由)、Cloudflare(Cloudflare トークンを再利用)。使える一覧 API がないレジストラ(Namecheap、Squarespace、Onamae)は手動で追加しますが、RDAP は引き続き監視します。
domain_check(読み取り専用)と domain_register ツールで実行でき、後者は明示的な確認の背後にゲートされています。登録には、保存済みのレジストラ認証情報と、一度だけ記入する登録者連絡先プロフィールを再利用します。7.6Cloudflare:ゾーン・DNS・キャッシュ・トンネル
Cloudflare ペインは、API トークンを貼り付け、どのゾーンをサイドバーに表示するかを選ぶ場所です。Pin to sidebar したゾーンはそれぞれ独自のペインになり、そのゾーンの Cloudflare/DNS/HTTP/SSL 健全性、DDoS・ボット保護、WAF ルール、Workers、CDN 分析、開発モード、キャッシュパージ(全体・URL リスト・プレフィックス単位)を備えます。トークンのスコープは慎重に — 読み取り専用トークンはゾーンを一覧できますが、DNS 編集、証明書の DNS-01 検証、開発モード、キャッシュパージ、ゾーン作成にはそれぞれ専用の権限が要り、新規ゾーンの作成にはアカウントレベルの Zone · Zone · Edit 権限が必要です。ペインは Cloudflare のトークンテンプレートに直接リンクし、「トークンをテスト」ボタンは実際の API を検査して、トークンがこれらの権限のうちどれを持ち、どれを欠くかを一覧表示します(読み取りは直接実行、書き込みは意図的に無効なリクエストで検査するため、何も変更されません)。Dashboard ボタンは現在のゾーンの Cloudflare Web コンソールへディープリンクします。
ピン留めしたゾーンに警告が出たり HTTP チェックが応答しなくなったときは、ペインの診断ボタンが、色付きドットで終わらせずに原因を突き止めます。配信経路の各レイヤを順に調べます — Cloudflare 上のゾーン状態、公開ネームサーバ、DNS 解決、エッジ経由の HTTPS(Cloudflare の 52x エラーを解読:521 オリジン停止、522 タイムアウト、524 アプリまたはデータベースのハング、525/526 オリジン TLS)、オリジンサーバのポート 80/443 への直接プローブ、そして FrontierStack がそのドメインを配信していると把握しているマシン(この Mac ならローカルの Web サーバ、連携サーバならオンホストモニタのサービス状態 — 停止中の mysql はレポートにそのまま現れます)。公開経路が壊れている場合はフリートもスイープします。どの連携サーバが稼働中か、どれがオリジン IP をバインドしているか、どれがこのドメインの vhost を既に配信できるか — オフラインになってサイトの玄関口 IP を道連れにしたホストを名指しし、引き継げるサーバも提示します。各レイヤの合否を表示し、どのレイヤが壊れ、どう対処すべきかを平易な結論としてまとめます。
Cloudflare はアプリの随所に登場します。AI の dns_record ツールは管理ゾーンにレコードを書き込み、既存レコードのその場更新 — サブドメインのプロキシ(オレンジクラウド)と DNS のみの切り替えを含む — もでき、issue_certificate は Cloudflare DNS-01 で検証でき、email_auth_dns は SPF/DMARC を公開できます(第 13 章)。同じアカウントは、ローカルサイトを公開する Cloudflare DDNS と Cloudflare トンネルも支えます — どちらも第 9 章で扱います。
7.7ホスティングプロバイダ
運用するものすべてが Mac 上にあるわけではありません。Hosting カテゴリは VPS とマネージドのプロバイダを同じウィンドウに取り込みます。VPS プロバイダ — DigitalOcean、Vultr、Linode、Hetzner、さくら ほか — は API トークンでサーバを公開します。貼り付ければ、ペインが各サーバをプラン・ロケーション・状態・IP とともに一覧し、確認付きで起動・停止・再起動できます。ダッシュボード型のプロバイダ(Hostinger のようなマネージドホスティング)はトークンを保存し、コントロールパネル・ドキュメント・サインアップへのクイックリンクを示します。いずれの場合も認証情報は Keychain に保存され、SSH で到達できるサーバはフリートの一部になります(第 8 章)。
7.8IndexNow:検索エンジンへの即時送信
ページが変わったとき、クローラーが気づくのを待つ必要はありません。IndexNow Manager(SEO & Marketing)は、参加エンジン — Bing、Yandex、Seznam、Naver ほか — に即座に伝えます。管理サイトの 1 つを選び、Install Key File を押すと、FrontierStack はサイトのドキュメントルートに <key>.txt ファイルを書き込み、エンジンがキー所有を確認できるようにします。Verify で配信を確認します。あとは単一の URL を送信、pending キューを一括送信、またはサイトマップから供給し、スケジュールで自動送信もできます。すべては api.indexnow.org に送られ、参加エンジンへ展開されます。URL のホストは選択中のサイトとそのキーに一致している必要があります。
gsc_verify_domain と index_site ツールでドメインを Search Console に確認し、サイトマップを送信します。Google にサインインしていれば自動で行われます。各 Domain Health 行の Index ボタンは両方の経路を一度に駆動します。7.9サイト転送:マシン間でのコピー
手作業の rsync なしにサイトを移す 2 つのツールがあります。Copy Websites Between Apache はローカルのケースを扱います — Mac に複数の Apache インストール(例えば Homebrew のものと古い Server.app のもの)があるとき、ソースのインストールを選び、移したいサイトにチェックを入れると、FrontierStack はそのドキュメントルートと vhost 定義を、現在選択中の Apache にコピーします。同じドメインのサイトは上書きされるので、移行後の再取り込みにも使えます。
サイトを別のマシンへ移すには、AI の promote_site ツールがローカルサイトを指定したフリートホストにクローンします — ドキュメントルートをアップロードし、向こう側に vhost(Apache または Nginx)を書き、Web サーバをリロードし、新しいホストを指す Cloudflare A レコードを追加できます。手動のフリートプッシュと同じ手順を、1 回の呼び出しで行います。
7.10新しい Web プロジェクトのプロビジョニング
以上の部品が組み合わさり、プロジェクトのインフラをゼロから立ち上げる単一のフローになります。発想は明快な役割分担です — あなたの AI ツール(MCP 経由)がコードを担い、FrontierStack がインフラを担います。組み込みの Provision Web Project スキルが、アシスタントをレシピの順に導きます。
- 確認 — ターゲット、特権アクセス、導入済み Apache/Nginx、接続済み DNS プロバイダを確認し、公開変更の前に不足する前提サービスを特定または導入します。
- ゾーン —
cloudflare_zone_createが Cloudflare ゾーンを作り、レジストラで設定するネームサーバを返します(トークンにアカウントレベルのゾーン作成権限がなければ率直に伝えます)。 - vhost とフォルダ —
vhost_createが Apache/Nginx サイトを定義します。ドキュメントルートが未指定なら、FrontierStack がプラットフォームに適した空フォルダを作成し、パスを返します。サイトのデザインやコンテンツ生成は行いません。 - DNS —
dns_recordが名前をホストに向けます。 - TLS —
issue_certificateが Let's Encrypt 証明書を発行します。 - プレビュー — localhost のテスト地点のための一時的な共有(第 9 章)。
- プロモート — 任意で
promote_siteがフリートホストにクローンします。
ドメインの登録は domain_register でこのレシピの先頭に加えられるため、エージェントは原理的に、名前を買い、ゾーンを作り、vhost を立て、証明書を発行し、フリートにクローンできます — 課金やシステム変更を伴う各手順は、必ず先にあなたの承認のためプレビューされます。
第 III
フリート・ネットワーク・セキュリティ
サーバを 1 つのフリートにまとめ、Mac・Linux・BSD・Raspberry Pi・Windows をひとつのウィンドウからネットワーク化・堅牢化・監視します。
第 8
サーバ連携:ロケーションとフリート
1 台の Mac は始まりにすぎません。FrontierStack は SSH で運用中の全サーバに手を伸ばし、そのとき自分がネットワーク上のどこにいるかも把握します。
ここまでは目の前の Mac の話でした。本パートでは視野を一気に広げ、運用環境全体を扱います。ラック内の Linux、いまも macOS Server が動く旧来の Xserve、棚の Raspberry Pi、クラウド VPS、そして Windows ホストまで。それぞれを SSH で一度連携すれば、FrontierStack はそれらを単一のフリートとして扱います。診断を実行し、コマンドを一斉展開し、サイトをデプロイし、健全性を見守ります。さらに、この Mac がネットワーク上のどこにいるかも把握するので、自宅・オフィス・カフェを移動するノートでも、いま単に見えないだけのサーバについて誤報を出すことはありません。
本章では連携とフリートの運用を扱います。第 9 章はネットワークと境界を、第 10 章は堅牢化とセキュリティ監査を、第 11 章は継続的な監視とアラートを掘り下げます。AI 管理者は同じツール群でここのほとんどを操作できます(第 13 章)。
8.1ロケーションとプレイス
Locations & Places ▸ Locations を開きます。ロケーションとは、名前を付けたネットワーク(Home・Office・On VPN)にすぎず、複数の信号から認識されます。Wi-Fi の SSID、ルータ(ゲートウェイ)の MAC アドレス、Wi-Fi の BSSID、IP アドレスのサブネットプレフィックス(例:192.168.1.)、グローバル IP のブロック、そして VPN が有効かどうかです。ヘッダーは今どこにいるか(Now: Office)を示し、その下にライブのスナップショット(Wi-Fi 名・IP・ゲートウェイ・VPN 状態)が並びます。検出は 30 秒ごとに走ります。
FrontierStack が見覚えのないネットワークを検出すると「新しいネットワークを検出」のバナーを表示します。「追加…」で保存できます。「現在のネットワークをロケーションとして追加」を押してから条件を調整することもできます。ロケーションは設定したすべての条件が成立したときに一致し(SSID とルータ MAC はいずれか一致)、空欄の項目は無視されます。複数が一致した場合は、リストの先頭ではなく最も限定的なものが採用されます。モードピッカーで自動検出の代わりに手動で固定することもでき、信号が曖昧なときに便利です。
信号の信頼度は同じではなく、この違いは見た目以上に重要です。サブネットは identity ではありません。家庭用ルータもカフェもホテルも 192.168.1.× を配るため、サブネットだけで定義したロケーションはまったく別の建物にも平然と一致します。ルータ MAC が最も強い信号です。1 台のハードウェアに固有で、特別な許可なしに読み取れます。ルータ照合が存在する前に保存したロケーションには、「現在のネットワークからすべての条件を更新」がワンクリックの修正になります。
8.11.1GPS で場所をピン留めする
やっかいなケース — 2 つの拠点が本当に同じサブネットを使っていて、MAC アドレスをいじりたくない場合 — では、ロケーションに GPS ピン を持たせることもできます。その場所に立って対象のロケーションを開き、「Pin This Spot (GPS)」を押します。半径スライダで「ここ」とみなす範囲を設定します(既定 150 m。屋内測位は粗く、拠点は点ではなく建物だからです)。
ピンは相互参照であり、必須条件ではありません。役割は 2 つです。弱い一致を裏付けること、そしてより有用なこととして、誤った一致を拒否することです。これにより、同じサブネットを使うカフェを Home と判定しなくなります。検出が悪化しないよう、共有されうる条件(サブネット、VPN の有無)だけで識別されたロケーションは、位置情報が得られていてそれと矛盾する場合、確定として報告されなくなりました。自信を持った誤答の代わりに Away / Unknown が表示されます。
デバイスもロケーションに属します。Device Discovery で、監視デバイスの ⋯ メニュー ▸ Assign to Location から特定の拠点に配置できます。自動のままにすると、そのサブネットを持つロケーションに入ります。デバイス自身のペインからも設定でき、各ロケーションの行には割り当て済みデバイスが一覧されます。Mac が認識済みのロケーションに到着すると、FrontierStack はそれらのデバイスを確認し(VPN 経由などで最近確認済みのものはスキップ)、状態を色で示します:緑=到達可能、赤=ここにあるはずなのに応答なし、オレンジ=この Mac が到達できない Wi-Fi セグメント上(別のアクセスポイントや帯域が典型。Mac が 5 GHz のときの 2.4 GHz 専用センサーなど)。オレンジは「消えた」ではなく「ここからは確認できない」という意味です。
これらすべての狙いは「ロケーション依存の監視」セクションです。Overview ▸ Alerts でデバイス・Wi-Fi・Cloudflare ゾーン・ウォッチを重要としてマークし、ここで「Office のときのみ」に絞ります。そのチェックは他の場所では一時停止され、ホテルから NAS が DOWN と鳴ることも、職場で自宅 Wi-Fi が失われたとアラートが出ることもありません。一時停止された項目は戻れば静かに再開します。ロケーション自体が変わったときは、ローカル通知の表示、Messaging Gateways 経由の「📍 Now at: Office」アラート送信、またはその両方が可能です。
get_location ツールでこれを読めます。アクティブなロケーション、判定方法(固定か自動検出か)、ライブのスナップショット、そして設定済み各ロケーションの条件です。これを使って、LAN 限定サービスが今いる場所から到達可能か、VPN で外出中かを推論します。8.2SSH によるサーバ連携
サーバは「Link a Server」シート(デバイスのペイン・Device Discovery・Cloud Servers/Remote Tools ペインから開けます)でフリートに加わります。名前、ホストまたは IP、ポート、SSH ユーザ名(root・ubuntu・ec2-user など)、ログインパスワードを入力します。そのパスワードは一度だけ使われます。アプリがこの Mac の管理対象 SSH 鍵をサーバの authorized_keys に入れ、以降は鍵のみで接続します。保存されるのはサーバのアドレスだけで、パスワードは破棄されます。
パスワードログインのない鍵専用サーバでは、「パスワードが使えない場合は鍵を手動でインストール」を展開し、表示された公開鍵を自分で authorized_keys にコピーしてから連携します。「監視ヘルパーも併せてインストール」にチェックを入れると、同じ手順でホストモニタを設定できます(後述)。
連携サーバには到達性を示す小さな緑/赤のステータスドットが付きます。Permission denied (publickey) で赤くなった場合(通常はサーバ再インストール後や鍵が未インストールのとき)、AI ツール repair_ssh_access が古いホスト鍵を消して管理対象鍵を再インストールします。一度きりのログインパスワードはボールトの秘密情報として保持され、ローカルで読み取られて鍵アクセスを再設定します。成功するとドットは再び緑になります。
repair_ssh_access ツールは一度きりのパスワードをローカルの .env ボールトから名前で読み取り、値が AI モデルに送られることはありません。8.3管理対象鍵と保存された sudo パスワード
鍵アクセスでアプリは接続できますが、多くの有用な操作(/var/log の読み取り、Apache 設定の編集、ファイアウォールのリロード)にはサーバ上の root が必要です。FrontierStack はホストごとの sudo パスワードでこれを扱い、macOS キーチェーンに保存します(平文ファイルには決して書きません)。サーバ連携時に自動取得され、後からホストのペインや Remote Tools のターゲットセクション(Sudo password 欄)で設定・変更できます。
root 限定のコマンドを実行するとき、ヘルパーは SSH セッション越しに保存済みパスワードで sudo の資格情報キャッシュを準備してからコマンドを実行します。パスワードが保存されていない場合、root 操作はパスワード不要の sudo -n にフォールバックし、それも未設定なら単に「needs sudo」と報告します。秘密情報は名前で参照されるため、複数を保持できます。たとえばサーバごとに異なる MySQL パスワードを .env ボールトに置けます。
sudo -S へ渡され、AI モデルに表示されることもログに書かれることもありません。欄を空にすれば失効でき、1 台だけ再登録・再鍵化しても他には影響しません。8.4Fleet Run — 全ノードへ 1 コマンド
Fleet & Remote ▸ Fleet Run は、単一の操作をすべての連携サーバ(または選んだ一部)へ一斉展開し、ホストごとのライブ結果を返します。Targets を選び(ホストをトグル。到達性ドットで起動中が分かります)、Operation を選んで「Run on N Server(s)」を押すと、すべてが SSH 上で並行実行され、各ホストが下に結果を返し、展開すれば全出力が見られます。
操作は OS を認識します。パッケージ更新はホストに応じて apt・dnf・pacman・zypper・apk・brew に割り当てられ、サービス再起動は systemd を試してから Homebrew にフォールバックします。OS ごとのコマンドを手で書く必要はありません。
| 操作 | フリート全体で行うこと |
|---|---|
| 全パッケージの更新/アップグレード | ホストのパッケージマネージャの update + upgrade を実行。展開前に確認します。 |
| パッケージのインストール | 指定パッケージ(例:htop)を選択した全ホストにインストール。 |
| サービスの再起動 | 指定ユニット(例:nginx)を systemd または brew で再起動。 |
| 再起動要否のチェック | 更新後に再起動待ちのホストを報告。 |
| ディスク使用量(df) | フリート横断の df で逼迫したディスクを発見。 |
| 稼働時間と負荷 | ホストごとの稼働時間とロードアベレージ。 |
| リポジトリの git pull | 各ホストの指定パスでリポジトリを pull。手早いデプロイ。 |
| カスタムコマンド | 選択した全ホストでシェルコマンドをそのまま実行。展開前に必ず確認。 |
Fleet Run はドリフトを見つける最速の手段です。ディスク使用量や稼働時間と負荷を実行してホストをひと目で比較するか、次の Remote Tools にあるファイルチェックサムやヘルスチェックで、フリート間で食い違った設定を見つけられます。
8.5Remote Tools — ノード単位の診断
Fleet & Remote ▸ Remote Tools は、実際のフリートデバッグ作業から抽出した SSH 駆動の診断スイートです。まずターゲット(固定サーバ、または保存していないアドレス用の Other (IP / host)…。その sudo パスワードもキーチェーンに保持されます)を選び、次にツールとそのパラメータを選びます。読み取り専用チェックに root は不要で、保護されたログや設定を読むものは保存済み sudo パスワードをヘルパー経由で使い、一部はmutating(変更あり)と表示されます。
| ツール | 用途 |
|---|---|
| Ping・Traceroute・Whois | 選んだノードからの基本的な到達性・経路・登録情報の照会。 |
| Net Info・Netstat | インターフェイスとアドレス。ルーティングテーブル、インターフェイス/プロトコル統計、アクティブソケット。 |
| Port Scan・Port Check・Web Check | 範囲スキャン、単一ポートのテスト、HTTP/HTTPS エンドポイント取得とステータス報告。 |
| TLS Inspect・TLS Expiry | 証明書の検査。選択ノード横断で有効期限を一括チェック。 |
| System Resources・Listening Ports | ノードの負荷・メモリ・ディスク。待ち受け状況(必要なら sudo で)。 |
| Tail Log・Config Test | 任意のログパスを tail。Web サーバ設定を検証。 |
| File Diff・Healthcheck | ファイル内容をノード間で比較(ドリフト)。各ノードでループバック越しに vhost のパスを叩く。 |
| rsync Deploy | ローカルフォルダをリモートパスへ送信。ドライランのプレビューと任意の --delete 付き。 |
| Security・SSH・Exposure・Auth・User 監査 | 任意のノードや IP に対する読み取り専用監査(第 10 章)。 |
| Flush DNS・Restart Backend | リゾルバキャッシュのフラッシュ。macOS Server の Web バックエンドを再起動(mutating — サイトが一瞬途切れます)。 |
一部のツールは複数の選択ノードに同時に働きます。File Diff・Healthcheck・TLS Expiry・配信経路診断(Serving Path Diagnosis)(どのノードが稼働中か、各ノードがどの公開 IP をバインドしているか、プロセス単位の CPU 飽和と停止中サービス、そしてピン留めした全 Cloudflare ゾーンのオリジン IP との照合)は設計上フリート横断で、すべての Web ノードが同じ内容を有効な証明書で配信していることを確認するのにまさに使えます。ペイン下部では、/etc/hosts(root、ヘルパー経由)と SSH ユーザ自身の ~/.ssh/known_hosts を SSH 越しに安全に編集でき、各保存はまず .fsbak にバックアップします。
8.6ホストモニタ(リモートエージェント)
SSH 診断はオンデマンドです。継続的な可視性にはホストモニタをインストールします。サーバ上に常駐する小さな読み取り専用の Go ヘルパー(fsagent)で、サイクルごとの SSH なしに自分の健全性を報告します。連携ホストのペインからインストールを選ぶ(または Link a Server のチェックボックスをオンにする)と、既存の鍵越しにアプリがホストの OS とアーキテクチャに合ったバイナリを送り、プラットフォームのサービス(systemd・launchd・BSD の rc.d)を設定し、その TLS 証明書をピン留めします。AI ツール install_monitor も要求に応じて同じことを行います。
登録されると、モニタはライブのメトリクスをストリームします。CPU・メモリ・マウントごとのディスク・起動中のネットワークインターフェイス、検出されたサービス、ファイアウォールと fail2ban の状態、そして GPU ホストでは GPU ごとの温度と使用率を報告し、マイニングや ML のリグでも温度が把握できます。list_monitors はフリートのヘルパー、バージョン、最新メトリクスを報告します。重要なのは、モニタは Mac アプリがオフラインのときでも監視を続けてアラートでき、自前のチャネルで直接通知し、アプリが戻れば蓄積分を再送します。ログウィンドウもモニタを優先します。サーバ上で root として動くため、sudo パスワードなしで特権ログを読めます。
登録済みホストのペインには動作と履歴チャートも表示されます。CPU・メモリ・ディスクを5分解像度で最大30日分描画し、学習したベースラインで異常を検出します。赤い縦線が同じタイムライン上にインシデントを示します。実線の赤はサーバの再起動(報告された稼働時間から導出)、オレンジの破線はウォッチドッグの問題 — サービスの強制再起動、データベース破損警告、再起動エスカレーションです。OS のクラッシュレポータが CPU を使い始めた場合(プロセスが繰り返しクラッシュしている状態)はオレンジの Crashes 曲線も加わり、「昨夜 MySQL が2回強制再起動され、何かがクラッシュループしていた」ことが一目で分かります。

モニタは既定で読み取り専用です。Host Monitor ペインでAllow actionsをオンにすると、小さく固定された制御動詞(任意シェルは決して含みません)が解放され、ゲートされた monitor_action ツールで駆動されます。許可リスト内サービスの restart/reload/start/stop、DNS フラッシュ、ファイアウォールや fail2ban のリロード、再起動です。各アクションはサーバ上に記録されます。対象は Linux(amd64/arm64/arm — あらゆる Raspberry Pi を網羅)、macOS(OS X 10.11 El Capitan までさかのぼるレガシー Intel ビルドを含む)、FreeBSD(pfSense/OPNsense/TrueNAS)、Windows です。
モニタを長期的に健全に保つ作業は自動化されています。モニタ認証情報をローテーションはベアラー認証情報をその場で差し替えます。新しいシークレットは Mac 上で生成され、承認済みの FS1 署名鍵で送られ、表示や AI への引き渡しなしにサーバ上で有効化されます。自己アップデートを許可が有効なら、新しいビルドの配布は構造的に安全です。候補バイナリのリリース署名を検証し、root 権限を与える前に互換性セルフテストに合格する必要があり、直前のバイナリはロールバック用に保持されます。新しいバイナリがヘルスチェックに応答しなければ、FrontierStack が自動的に元へ戻します。プルモードの更新は、恒久トークンではなく短命・単回使用の付与でバイナリを取得します。モニタが FS1 署名リクエストを検証しているときは、そのペインに FS1 signed バッジが表示されます。
8.7Cloud Servers・Server Clone・リモート Apache
コンピュート系のペインに加え、AWS ▸ DynamoDB は選択中のリージョンのテーブルを、ステータス・アイテム数・サイズ・パーティションキー/ソートキーとともに一覧します。実際にコストや事故につながる 2 点を重視しています。キャパシティモードのカプセルは、アクセスの有無にかかわらず読み書きキャパシティに継続課金されるプロビジョンドのテーブルと、リクエスト単位で課金されるオンデマンドのテーブルを区別します。PITR無効の表示は、ポイントインタイムリカバリが無いテーブルを示します。新規テーブルでは既定で無効であり、誤った書き込みから巻き戻す唯一の手段です。ポイントインタイムリカバリは各行のメニューから切り替えられます。DynamoDB には一括の describe が無いため、テーブルごとに問い合わせ、リージョンあたり 40 件を上限としています。
Fleet & Remote ▸ Cloud Servers は、API トークンを設定したクラウドプロバイダ(DigitalOcean・Vultr・Linode・Hetzner・Sakura・Contabo)と AWS の EC2・Lightsail・RDS を横断する 1 つのインベントリにまとめます。読み取り専用のロールアップです(電源制御は各プロバイダのペインに残ります)。IP を持つ起動中インスタンスごとに、待ち受けを調べる Services ボタンと、SSH で連携してモニタを一手にインストールする + Helper ボタンがあります。シートで正しいユーザ名と鍵を設定するだけです。
Server Clone は、フリートサーバをこの Mac に合わせて立ち上げるガイド付きウィザードです。検出した Homebrew スタックをインストールし、設定とサイトファイルを元のパスにコピーし、ドメイン設定をプッシュして Web サーバをリロードし、MySQL データベースをクローン(ローカルの mysqldump を SSH 越しにターゲットの mysql へパイプ)できます。各ステップは鍵ベースの SSH で実行され、再実行しても安全で、既存データは削除されません。
単一サイトを公開する準備ができたら、(ドメインのコンテキストメニューからの)Promote to Production プッシュが、その vhost 設定をローカルと同じパスへ送り、必要ならドキュメントルートとデータベースをコピーし、Cloudflare 経由で DNS をターゲットに向け、certbot で本物の Let's Encrypt 証明書を発行できます。ファイル・データベース・vhost・DNS・HTTPS を 1 回のプッシュで。
リモートサーバの Apache も直接管理できます。リモートホストが 1 つでもあると Apache ペインにホストセレクタ(This Mac/各連携サーバ)が現れます。サーバを選ぶと FrontierStack が SSH 越しにその Apache を検出し(バージョン・設定構成・実ログパス付きの全アクティブ vhost)、vhost・モジュール・MIME タイプ・ポート・WebDAV を編集できます。各変更は検証(httpd -t)して優雅にリロードしてから確定し、設定が無効ならロールバックします。レガシーの macOS Server.app の Apache ツリーも理解します。Sites リストの Push to Server… は、ローカルサイトの vhost をモニタ連携サーバにドキュメントルートを差し替えて展開します。これらが対応するローカル Apache と Sites のワークフローは第 7 章が扱います。
8.8KVM-over-IP:コンソールと電源、無人運用
SSH や画面共有は、マシンが起動しネットワーク上にあることが前提です。そうでないとき — カーネルパニック、BIOS/ファームウェア画面、ネットワークスタックが上がらない — に必要なのがアウトオブバンドアクセス、すなわち OS に依存せず実際の HDMI 出力を取り込み USB キーボード/マウスを注入する KVM-over-IP 機器です。リモート KVMペインは、所有する機器(PiKVM・JetKVM・TinyPilot・NanoKVM・GL.iNet Comet・汎用機)を好きなだけ登録でき、各機器はピン留めでき、Web コンソール(BIOS レベルまで)にワンクリックで接続できます。
電源制御を持つ機器はループを閉じます。ATX ボード付き PiKVM、ネットワーク PDU、あるいは GL.iNet の Comet Pro(GL-RM10) — KVM とスマート電源プラグを 1 台に兼ねる — は主電源を切り替えられ、本当にフリーズした機体を強制的に電源サイクルできます。こうした機器はサーバの電源セクション(SwitchBot・UPS・PDU コマンドと並ぶ)で電源ソースとしてリンクでき、オン/オフ/サイクルが可能です。AI 管理者からも操作できます:list_kvms・kvm_power・server_power(最後のものは reboot_host に応答しないハングしたサーバを、リンク済みのプラグ/PDU/KVM で再起動します)。
8.9古い Mac・Raspberry Pi・Windows ホスト
フリートの意義のひとつは、古い・風変わりなハードウェアを活かし続けることです。いまも macOS Server が動く旧来の Xserve や Mac mini は他のホスト同様に連携できます。リモート Apache 検出は Server.app 独自の Apache ツリーと内部ポートを理解するので、その Web サイトが表示され編集でき、モニタのレガシー Intel ビルドは OS X 10.11 El Capitan までさかのぼって動きます。棚いっぱいの Raspberry Pi は通常の Linux として連携できます。モニタの arm ビルドは Zero を含む全 Pi を網羅するので、CPU・ディスク・サービスを他のすべてと並べて監視できます。
Windows ホストは Microsoft の OpenSSH サーバ経由で参加します。SSH 診断のために Linux 同様に連携し、モニタはネイティブの Windows サービスとしてインストールします(Windows サービスはマシン環境変数を確実には継承しないため、設定は実行ファイルの隣のファイルから読みます)。Windows のモニタインストールは自動プッシュではなく、Host Monitor ペインから付属の PowerShell インストーラで手動で行います。
診断を超えた対話的な制御には、カタログにリモートアクセスツール(RustDesk・MeshCentral・Apache Guacamole・Windows Remote Desktop・WinRM)も揃っていますが、それらは SSH フリート自体ではなく運用するサービスです。フリートの強みは、すべてを 1 つのウィンドウから均一・スクリプト可能・低負荷で管理できることであり、第 13 章の run_script でノードを名前で指定すれば、AI がリモートサーバを 2 段階で診断・修正できます。読み取り専用のテスト、続いて最小限の修正、そして再実行で確認です。
8.10移行ウィザード:スタックを新しいデバイスへ
古いサーバの引退が「すべて手作業で再インストール」を意味することは、もうありません。FrontierStack はレガシーマシンからスタックを取り出し、選んだ移行先——この Mac、別の Mac、あるいは Linux——に立ち上げる移行ウィザードを備えています。移行元は読み取るだけで、書き込みはすべて移行先に対して行います。
Migrate Setups ペインは MAMP・XAMPP・Apple Server.app の Web スタックを扱います。移行元を自動検出し、何を引き継ぐかをチェックで選べます。Homebrew ツール、Web ファイル、MySQL データベース、サイト(vhost)、MIME の上書き、Apache モジュール、PHP 設定、WordPress の wp-config.php 修正、Git リポジトリなどです。Set up on ピッカーで移行先を選択します。This Mac のままならアプリ内で完全移行し、連携ホストを選べば SSH 経由でその新しいデバイスにスタックをインストールし、Web ファイル(rsync)とデータベース(SSH 経由のダンプ)をコピーします。Linux トグルで Homebrew の代わりに apt/dnf を使います。
Apple Server Migration ペインは Server.app マシン全体のためのワンクリックウィザードです。移行元(この Mac またはリモート)を指定すると、serveradmin で全サービス——Websites・Mail・Calendar と Contacts・Messages(XMPP)・VPN・DNS・DHCP・NetInstall・Open Directory・File Sharing・Time Machine・Profile Manager ほか——に加えて、稼働中の git サーバ・データベース・Docker・単体の Nginx なども棚卸しします。各サービスに状態バッジと現代的な代替が示され、妥当な代替が複数ある場合(Calendar → Radicale/SOGo/Baïkal、VPN → WireGuard/strongSwan、DHCP → dnsmasq/Kea)はどれを使うか選べます。移行先マシンと OS を選ぶと、代替をインストールし、正確な引き継ぎチェックリストを表示します。専用インポータを持つサービス——Websites(vhost とファイルの完全コピー)と Open Directory(ユーザとグループ)——はそれぞれのペインへ、検出された git サーバは Git Server 移行へ引き継ぎます。
serviceproxy が受け持ちますが、古いリリース——特に High Sierra——ではこのプロセスがハングします。接続は受け付け続けるのに、応答を返さなくなる状態です。ping は通り、ポートは開いて見え、SSH も使えるため、サイトは到達可能に見えながら、すべてが応答しません。この特徴ゆえに DNS やネットワークの障害と誤診されがちで、プロセス自体は生きているため「サービスは稼働中か」という確認でも検出できません。移行元マシンには http://127.0.0.1/ をサービス serviceproxy で監視する Service Guardian を設定してください(背後のバックエンドを見る場合は server-httpd)。移行を計画する間、ハングを検出して launchctl kickstart で自動復旧できます。サイトを素の Apache へ移行すれば、ハングしやすいプロキシを配信経路から恒久的に取り除けます。serveradmin を root で実行するため、まずそのホストの sudo パスワードを設定に保存してください(第 8 章「管理対象鍵と保存された sudo パスワード」)。一部の Apple サービスは設定を自動で引き継ぎ(DNS ゾーン、Apache vhost、Postfix の main.cf)、他はコピー先に代替をインストールして手順を提示します。各項目はAutomatic・Assisted・Manual と明示されます。8.11Git サーバ:Gitea とリポジトリ移行
Git Server ペインは、任意の移行先——この Mac、連携サーバ、NAS、Docker ホスト、Linux——にセルフホストの Gitea(自動 HTTPS のため Caddy 背後)を立ち上げます。プラットフォームを検出して適切な方法でインストールします。稼働後はアクセストークンで接続すると、バージョン・リポジトリ数のライブ監視と、ミラーが元から遅れたときのバックアップ鮮度アラートが得られます。
同じペインで別の Git サーバを Gitea へ移行・ミラーできます。ディスク上のベアリポジトリ——レガシー macOS アプリ Simple Git Server、Xcode Server、Gitolite、素の git-daemon、任意のフォルダ——か、稼働中のリモートサーバ(git://・https://・ssh:// の任意のクローンベース。リポジトリ名は SSH で列挙するか貼り付け)を指定します。Scan でリポジトリを一覧し、Migrate で各リポジトリを全履歴・全ブランチ・全タグごとミラークローンし、API でリポジトリを作成して Gitea へ push します。コピーはこの Mac 上で実行されます。
第 9
ネットワークと境界
LAN 上のあらゆるデバイスを把握し、ルータのライブ状態を読み取り、外の世界からサービスへ到達する — ポートを 1 つも開けずに、あるいは開けて。
サービスを動かす Mac はネットワークの中に存在し、現実のトラブルの多くはそのネットワークから始まります — WAN リンクが切れたルータ、誤ったサブネットに紛れたデバイス、何か月も前に開けたまま閉じ忘れたポート。FrontierStack は、ネットワークとその境界(LAN とインターネットの境目)を一級のオブジェクトとして扱います。ルータを直接読み取り、LAN をスキャンしてインベントリを作り、データフロー図を描き、外部へサービスを公開するための規律ある複数の方法を提供します。
本章はサーバを取り巻くネットワークを扱います。サーバ自体を SSH で連携する方法は第 8 章、ホストファイアウォール・fail2ban・セキュリティ監査は第 10 章、Cloudflare の DNS と TLS は第 7 章を参照してください。
9.1読み取り・操作できるルータとファイアウォール
FrontierStack は、管理 API があればそれを通じて、なければ SSH で、ネットワーク機器と対話します。最も緊密な連携は OPNsense(フル REST API)と Cloudflare(第 7 章)の 2 つで、より広範なルータ・ファイアウォール群はライブ状態を報告します。Router & Network ペインでアドレス・ベンダー・API キーを指定してデバイスを追加すると、AI 管理者の router_info ツールが バージョンとモデル、稼働時間、CPU・メモリ、WAN リンクとゲートウェイ(上/下)、インターフェイス、クライアント数を読み取れます — さらに FrontierStack がマップしないフィールドの生の API JSON も。読み取り専用で、デバイス自身の API を照会し、SSH は使いません。
| デバイス | FrontierStack の到達方法 |
|---|---|
| OPNsense | フル REST API — ライブ状態、ファイアウォールルール、境界のポートフォワード(rdr) |
| pfSense | API パッケージ経由の REST |
| MikroTik RouterOS | REST API(RouterOS v7 以降) |
| Ubiquiti UniFi/EdgeOS | コントローラ/ゲートウェイの API キー |
| OpenWrt | LuCI/ubus API |
| DD-WRT | Web 管理/SSH |
| ASUSWRT | ルータ Web API/SSH |
| FRITZ!Box | TR-064/Web 管理 |
| TP-Link Omada | コントローラ API |
router_info はそれがどこにピン留めされ、到達可能かを報告し — Router & Network で API キーを追加すればバージョン・ゲートウェイ・WAN・インターフェイスをライブで読み取れると案内します。OPNsense と pfSense では、API キーを設定すると継続的なファイアウォール監視(ピン留めデバイスのペインにあるトグル)が使えます。アラートのスイープごとにファイアウォール自身へゲートウェイ状態・インターフェイスのキャリア・サービスの稼働を照会します — マルチ WAN ルータがサイレントにフェイルオーバーして WAN 回線の死を隠しても(サーバは外に出られるのにサイトへのインバウンドは全滅)、原因不明の赤いドットの海ではなく、どのゲートウェイが落ち、どのポートがキャリアを失ったかを名指しで通知します。ルータには何もインストールしません。OPNsense の REST API は標準搭載、pfSense は REST API v2 パッケージのみ必要です。同じペインから OPNsense ルータをテイルネットに参加させることもできます。Mac 側で Tailscale にサインイン(Google アカウント可)して事前認証キーを発行し、デバイスペインの Tailscale セクションに貼り付けるだけで、FrontierStack が必要に応じて os-tailscale プラグインをインストールし、キーとログインサーバ(Headscale も可)を保存してサービスを API 経由で再起動します。ルータでのブラウザログインは不要です。
攻撃と障害の兆候。ゲートウェイを監視するのと同じスイープが、ルータ自身のトラブルも監視します。異常のあるルータはサイドバーでオレンジ+警告三角になります — 理由はホバーで表示。侵入検知プラグインを有効にした OPNsense では、同じ API 経由で直近の Suricata アラートを読み取り、件数と上位シグネチャを表示します(ファイアウォール UI を開かずに攻撃の試みを可視化。pfSense の REST API は IDS を一律に公開しないため現状は OPNsense のみ)。すべての監視対象ルータ — OPNsense、pfSense、OpenWrt ほか — では各スイープが、予期しない再起動(稼働時間の急減:クラッシュ・電源イベント・攻撃)、ルータ管理/SSH への総当たりの急増(失敗ログインの連続。最も多い送信元 IP をルータ自身のログから名指し)、リソース逼迫(メモリまたは負荷が危険なほど高い — DoS・暴走/侵害されたプロセス)、利用可能なファームウェア更新(古いファームウェア=既知の穴)も検出します。それぞれアラートを上げ、あるプラットフォームが報告できない兆候は単にスキップします — 誤った「異常なし」にはなりません。OPNsense と OpenWrt が最も多く報告し、pfSense の API はより限定的です。
ルータの操作と診断。AI 管理者は読み取り以上のこともできるようになりました:reboot_router はサーバの再起動と同じ方法でアプライアンスを再起動し(OPNsense/pfSense は API、OpenWrt は SSH)、「Allow changes」でゲートされます。ルータ自身のコンソールで行う方が本当に適したタスクのときは、アシスタントが open_web_ui でその Web UI を開くことを提案します — アドレスは推測せずデバイスペインから解決します。FrontierStack 自身はこれらアプライアンスのファイアウォールルールを意図的に編集しません — OPNsense/pfSense/OpenWrt は独自の設定システムでルールを管理するため、ペインとアシスタントは代わりにネイティブのファイアウォールページを案内します(ルータを右クリック ▸ Open firewall rules… が直接移動)。ペインの利便機能が 2 つあります:Diagnostics ボタンは API 不要の到達性チェック(ping、よく使う管理ポート 80/443/8443/53、逆引き DNS、ゲートウェイ)を実行するので、API キーがなくてもルータをトリアージできます。またルータ/ファイアウォールでは、Discover Services がポートスキャンではなく Web UI を開くことを提案します(自分の境界機器をスキャンするのは通常望ましくありません)。OPNsense や pfSense への SSH が拒否される場合、SSH が無効になっているか — より多いのは — 特定のインタフェース(多くは WAN ではなく LAN)でのみ許可されているためです:LAN 経由(例:VPN 経由)なら通常つながり、外部からは通常ブロックされます。Web UI で SSH と待ち受けインタフェースを有効にしてください(OPNsense は System ▸ Settings ▸ Administration ▸ Secure Shell)。SSH ボタン自体が非表示になるのは、管理シェルをまったく持たない民生用ゲートウェイ(NTT、一部の TP-Link/FRITZ!Box)だけで、その場合は Web UI が唯一の入口です。
9.2Device Discovery:LAN のインベントリ
Device Discovery を開き、Find Monitors を押します(先にサブネットを選んでも構いません)。FrontierStack は選んだ /24 を利用可能なすべての方法で一斉にスイープし、ルータ・アクセスポイント・スイッチ・NAS(Synology、QNAP、ZimaCube/ZimaOS など)・プリンタ・カメラ・他のサーバをまとめて浮かび上がらせます。
- Ping/ARP — ICMP スイープ。ARP/MAC が各ホストのベンダーを示します。TCP Probe をオンにすると、ICMP をフィルタするホストも見つかります。
- Bonjour(mDNS)と SSDP/UPnP — アドバタイズされたサービスとそのフレンドリ名。
- SNMP と LLDP/CDP —
net-snmpとlldpdをインストールするとモデル・ポート・近隣の詳細が加わります(ペイン内のボタンでインストール)。 - Windows サービスポート — ICMP をフィルタするマシンも、特徴的なポート(RDP・WinRM・SMB など)を探ることで見つかるため、Windows PC がスイープから隠れることはなくなりました。
スキャンは各ホストの到達方法も記録します。ローカルで AnyDesk が稼働中、または既定ポート 7070 で応答すると AnyDesk バッジが付き、この Mac 自身の tailscale status から Tailscale バッジ(ピアがオンラインなら緑)が付いてメッシュのピアを検出デバイスに対応付けます(保持するのはエンドポイント・ホスト名・OS のみで、ログイン名は保持しません)。直接接続の LAN では、macOS が既に Bonjour で把握している Mac やデバイスが低速な IP スイープより先に現れ、一覧がすばやく埋まります。デバイス詳細には対応する AnyDesk/Tailscale 行とアプリを開くショートカットがあります。
AI 管理者の discover_devices ツールは同じスキャンを実行し、種別を確信を持って識別できたデバイスを自動でピン留めします。あいまいなものは推測せず一覧に戻すので、アシスタントはそれが何かをあなたに尋ね、pin_device でピン留めできます。ピン留め(監視)されたデバイスはその種別のサイドバーセクションに現れ、ダブルクリックでペインを開けます。行の Open Web UI・Discover Services・Reclassify・Remove も使えます。アドレスが分かっていれば Add a device by IP フィールドが直接プローブしてピン留めします — 全体スキャンは不要です。
9.3Data Map
Data Map ペインはロケーションごとのデータフロー図を描きます。1 つの拠点で、データがどこに存在し、デバイスやサービスを横断してどう流れるかを示します。FrontierStack はそのロケーションのインベントリ — 検出したデバイス、その役割、(任意で)スキャンしたポート — をシリアライズし、秘密情報を伏せて、ローカルの claude CLI を通じてあなたのサブスクリプション Claude に渡します(アプリ内ハーネスが使う従量課金 API ではありません)。返答は Mermaid フローチャートと短い説明として戻り、ペイン内でオフライン描画されます。各ロケーションの最新図は保持され、Obsidian ボールトにランブックとして保存できます。ロケーション自体は第 8 章で説明します。
9.4ポートを開く:UPnP と NAT-PMP/PCP
従来の方法でインターネットからサービスへ到達するには、ルータのポートを Mac へフォワードする必要があります。手作業でルータにログインさせる代わりに、FrontierStack はルータがアドバタイズする標準プロトコルでマッピングを依頼できます。
- UPnP IGD(
miniupnpc経由)— 一般的な家庭用ルータの方法。 - NAT-PMP/PCP(
libnatpmp経由)— Apple 由来の方式とその現代的後継。 - OPNsense — その API を通じて境界ルールとポートフォワードを直接設定。
これらのツールは初回使用時にオンデマンドでインストールされます。一時セッション用に作ったマッピング(Debug Share 参照)は、セッション終了時に自動で撤去されます。
9.5ダイナミック DNS:変化する IP を追う
家庭や小規模オフィスの回線は静的 IP を持たないことが多く、今日のアドレスに向けたホスト名は明日には古くなります。Dynamic DNS ペインはホスト名を現在のパブリック IP に追従させます。Name、Hostname(例 myhost.duckdns.org)、プロバイダのアカウント情報でエントリを追加し、Update Now で即時公開するか、Update automatically をオンにします。更新を FrontierStack の実行中のみ行うか、システムサービスとして恒久的に行うかを選べるので、アプリを閉じてもレコードは最新に保たれます。Cloudflare ユーザにはより緊密な経路があります — パブリック IP を追う Cloudflare DDNS A レコードで、第 7 章と同じ Cloudflare 連携が動かします。他プロバイダは更新 URL による汎用インターバル更新がカバーします。
9.6トンネルとメッシュ:開けずに届く
外部からサービスへ到達するより良い方法は、受信ポートを完全に省くことです。トンネルは外向きの接続を張り、外部エンドポイントがそれに乗って戻ってくることで、何もフォワードせず NAT を越えます。
- Cloudflare Tunnel — クイックトンネルはアカウント不要で公開
*.trycloudflare.comURL を、名前付きトンネルは恒久的なホスト名を与えます。 - Tailscale — Serve はサービスを tailnet 内で非公開に保ち、Funnel は Tailscale ノードを通じてインターネットへ公開します。
マシン間の継続的な接続には、メッシュ/VPN ネットワークが、どこへ移動しても各ノードに安定した私的アドレスを与えます。FrontierStack は一般的なものを管理します — 対応ルータ(OPNsense)では API で、サーバでは SSH で。
| ネットワーク | 内容 |
|---|---|
| WireGuard | 現代的で高速なカーネル VPN トンネル — 他の多くが土台にする基盤層 |
| Tailscale | 出口ノードとサブネットルータを持つ WireGuard メッシュ。SSH または OPNsense API で設定 |
| Headscale | セルフホストのオープンソース Tailscale コントロールサーバ |
| NetBird | オープンソースのゼロトラストネットワーク。セルフホスト可能 |
| Nebula | 軽量なオーバーレイメッシュ(Slack/Defined Networking) |
| ZeroTier | ゼロトラスト SD-WAN/仮想ネットワーク — エージェント+API |
9.11.1テイルネット:Tailscale 全体のビュー
サーバごとの Tailscale 操作は各サーバのペイン内にあり、SSH 経由で「そのマシンでデーモンが動いているか」を確認します。テイルネットペインは、Tailscale 自身の API でしか分からないネットワーク全体の状況を扱います。API アクセストークン(このペインは書き込みを行わないため、デバイスの読み取り権限だけで十分)を貼り付けると、各デバイスのアドレス、OS、クライアントバージョン、所有者、タグ、最終確認時刻が一覧表示されます。
このペインの価値は「要対応」リストにあります。期限が近づいたノードキー(キーが失効するとデバイスは静かにテイルネットから外れ、再認証するまで戻りません=予定された障害)、承認待ちのデバイス、承認されていないルートを広告しているデバイス(ノードは正常なのにサブネットへ到達できない典型的な原因)、そして数週間チェックインしていないデバイスを表示します。キーの期限切れと承認待ちはアラートにも通知されます。
9.11.2自前の ZeroTier コントローラを運用する
ZeroTier のクライアントはメンバ側だけで、ネットワークの管理は通常 my.zerotier.com で行います。しかし zerotier-one はどのインストールでも、そのネットワークのコントローラ自体になれます。完全にセルフホストでき、メンバ一覧を第三者に預ける必要もありません。ただしこの構成にはローカルの管理 UI が一切付属しません。ZeroTier コントローラペインがその欠けた部分を埋めます。
コントローラの identity と所有するネットワークを表示し、メンバの承認キューをワンクリックの承認/取り消しで処理できます。承認済みでも 2 週間確認されていないメンバには印が付きます。使われていない許可はネットワークの穴になり続けるためです。ネットワーク名、公開/非公開、ルート、IP 割り当てプールを編集でき、ZeroTier 独自のルール言語でフロールールを記述できます。入力しながらローカルでコンパイルされ、よくある構成のテンプレートに加えて、全員を締め出すルールセットを保存する前に警告が出ます。
すべての操作はコントローラ自身のループバック API に対して SSH 経由で行われます。コントローラは 127.0.0.1:9993 で待ち受け、root 権限で読めるトークンで認証するため、FrontierStack はコントローラ API を外部に公開する必要がなく、むしろ公開しない設計です。内蔵の監査は、誰かが公開してしまっている場合や、ファイル権限が緩い場合、バックアップがない場合に警告します。Prometheus への書き出し、ウォームスタンバイのバックアップ/復元、ZeroTier Central からの移行アシスタントも用意しています。
identity.secret は代替不可能です。失うと、そのコントローラが持つすべてのネットワーク ID が孤立します。暗号化して別の場所にバックアップしてください。9.7UniFi:クラウドゲートウェイと Dream Machine
Ubiquiti のコンソールには専用ペインを用意しています。UniFi ゲートウェイは、汎用のルータ監視では見えない仕事をしているためです。UniFi ペインは Ubiquiti の 2 つの API を扱います。両者は答える問いが異なります。Site Manager キー(unifi.ui.com で作成する 1 つのキー)は、アカウント内の全コンソールを機種・ファームウェア・オンライン状態とともに一覧します。遠隔サイトが電源やインターネットを失ったことを知る唯一の方法です。ネットワークから切り離されたコンソールは、ローカルでは何も伝えられないからです。コンソール側(設定 ▸ 管理者とユーザ)で作成するローカル API キーは、ゲートウェイの現在の動作を明らかにします。
ローカル接続では、WAN 回線を ISP・レイテンシ・スループットとともに表示し、実際に通信を担っている回線を示します。この点が重要です。プライマリ回線が落ちると UniFi は無言でバックアップに切り替えますが、バックアップは多くの場合低速で従量課金です。通常これに気付くのは翌月の請求書です。さらに、アダプト済みデバイスとファームウェア、ゲートウェイが評価する順序どおりのファイアウォールルール、クライアント一覧、そしてすべてのポートフォワードを表示します。有効なポートフォワードはいずれもファイアウォールに意図的に開けた穴なので、任意の送信元アドレスからの接続を受け付けるものには印を付けます。公開ウェブサーバなら妥当ですが、それ以外では確認する価値があります。
アラートは、コンソールのオフライン、WAN 回線のダウン、バックアップ回線での稼働、デバイスのネットワーク離脱、インターネットに開放されたポートフォワードを対象とします。このペインは意図的に読み取り専用です。ルールやネットワークの変更は、その検証機構がある UniFi コンソール側に残します。PoE のポート制御は次節が扱い、コンソールの単純な到達性は従来どおり Router & Network にも表示されます。
9.8Power over Ethernet:電源ボタンのない機器の電源ボタン
アクセスポイント、カメラ、ドアコントローラ、デスクフォンには電源スイッチがありません。唯一の電源は接続先のスイッチポートです。そのため、応答しなくなった機器の復旧手段である「電源を入れ直す」には、通常ベンダの Web UI にログインするか、キャビネットまで歩く必要があります。
Power over Ethernet ペインは、そのポートをボタンに変えます。管理スイッチを IP で追加すると、ポートごとに PoE の状態(給電中、検索中、障害)、受電機器のクラス、優先度、スイッチが報告していれば消費電力が表示され、電源のオン/オフと電源の入れ直しが行えます。さらにスイッチの電力バジェット(総容量、使用中の電力、スイッチ自身の使用率しきい値の超過警告)も表示します。しきい値を超えるとスイッチは優先度の低いポートから給電を止めるため、ポート優先度もここで変更できます。
幅広く動作するのは PoE が標準化されているからです。RFC 3621 の POWER-ETHERNET-MIB は、ほぼすべての管理スイッチ(Cisco、Aruba/HPE、Netgear、TP-Link/Omada、Ubiquiti、MikroTik、D-Link、Zyxel)が実装しています。読み取りにはデバイス検出の SNMP コミュニティを使います。ポートの電源操作には読み書き可能なコミュニティが必要で、スイッチごとに設定し、キーチェーンに保存されます。接続機器の電源を切る操作は明示的な同意に値しますし、多くのスイッチではこのコミュニティが読み取り専用とは別に管理され、初期状態では無効になっています。監視を有効にすると、障害状態のポートや電力バジェットを超えたスイッチがアラートに上がります。どちらも、誰かがカメラの停止に気づくまで見えないままになりがちな問題です。
9.9インターネットヘルスと速度テスト
Internet Health ペインは回線そのものを見るための画面です。Targets の一覧(Cloudflare の 1.1.1.1 など、編集可能)を継続的に ping し、レイテンシとパケットロスを表示して 30 秒ごとに再テストします。ICMP をブロックするホストは :443 への TCP 接続レイテンシにフォールバックします。Live Traffic は全アクティブインターフェイスのリアルタイムスループットをグラフ化し、Addresses & Networks は各インターフェイス、そのサブネット(直接到達できるネットワーク)、ゲートウェイを一覧します。組み込みの traceroute は、トラフィックが横切る ISP やトランジット事業者を示します。Speed Test セクションで Test Now を押す — または AI に internet_speed を頼む — と、ダウンロード・アップロード・レイテンシ・応答性を測定します。Ookla の speedtest CLI があればそれを、なければ Apple の networkQuality を使います。
9.10Debug Share:localhost サーバを一時的に公開
localhost で動く開発サーバを同僚やスマホに見せたいとき、Debug Share ペインがそれをセッション中だけ公開し、その後自ら閉じます。ポートを入力(または Scan localhost で稼働中のサーバを検出)し、Expose via で公開方法を選び、Auto-close 時間を設定して、Open debug session を押します。すべての共有は FrontierStack 終了時にも自動で閉じます。
| 方法 | 到達範囲 |
|---|---|
| Cloudflare Quick Tunnel | 公開 *.trycloudflare.com URL、アカウント不要 — クライアントやスマホへの手早いプレビューに最適 |
| Tailscale Serve | 非公開 — tailnet 内からのみ到達可能 |
| Tailscale Funnel | 公開、Tailscale ノード経由(tailnet で Funnel を有効化する必要あり) |
| LAN forwarder | 0.0.0.0:<自動> → 127.0.0.1:port ブリッジ。同一 LAN の他マシンがループバック専用サーバへ到達できる |
LAN フォワーダには 2 つの追加機能があります。ホストファイアウォールがオンなら、ペインに Open port in firewall が現れ、そのポートをセッション中だけ pf ルールで許可します。また Outside access ピッカーで UPnP・NAT-PMP・OPNsense API 経由の WAN ポートをマップし、DDNS host と組み合わせれば、LAN 共有をパブリックインターネットから到達可能にできます — マッピングは共有終了時に削除されます。AI 管理者もセッションの開始・一覧・終了ができます(debug_share_open/_list/_close)。「Allow changes」がオンなら MCP 経由でも可能です。
9.11名前付きトンネル:恒久的な公開ホスト名
クイックトンネルはあえて使い捨てです。この Mac のサービスを実際のアドレスで恒久的に到達可能にしたいとき — セルフホストのアプリ、社内ダッシュボード、Webhook 受信口など — は、代わりに名前付きトンネルを使います。サービスに自分の Cloudflare ゾーン上の安定したホスト名(例:app.example.com)を与え、再起動しても維持され、他のトンネル同様に着信ポートを一切開きません:Mac が Cloudflare のエッジへダイヤルアウトするため、フォワードするものも、ポートスキャンで見つかるものもありません。
Cloudflare ペインの名前付きトンネルセクションで作成します:新規トンネル…、続いて自分のゾーン配下のホスト名と、その前段に置くローカルポート。FrontierStack はすでに保持しているトークンを使い、Cloudflare API 経由でセットアップ全体を実行します — トンネルを作成し、イングレスルール(hostname → http://localhost:PORT)を書き込み、ホスト名を <id>.cfargotunnel.com に向けるプロキシ済み CNAME を追加し、cloudflared service install で永続デーモンをインストールします。最後の手順には一度きりの管理者プロンプトが必要です(/Library 配下に LaunchDaemon を書き込みます)。cloudflared 自体は初回利用時に Homebrew から取得されます。トンネルと DNS の作成だけを行い、cloudflared を別ホストで実行したい場合は、この Mac で今すぐ実行のチェックを外します。削除はそのすべて — デーモン、DNS レコード、アカウント側のトンネル — を巻き戻します。AI 管理者も同じ 3 つの動詞(tunnel_create/tunnel_list/tunnel_delete)を持ち、作成はサービスをインターネットに公開するため赤い確認でゲートされます。
cloudflared service install は Mac ごとに 1 つのシステムデーモンを実行するため、ローカルで一度に動く名前付きトンネルは 1 つです。追加の名前付きトンネルをアプリで作成・ルーティングし、その cloudflared コネクタを他のマシンで実行することは可能です — アカウント・ホスト名・DNS はいずれの場合もセットアップされます。第 10
セキュリティと堅牢化
境界を守るのは仕事の半分にすぎません。本章では、使っていない扉を閉じ、開いている扉を見張り、そこを通ってよい相手を証明する方法を扱います。
サーバが最も無防備になるのは、何かに攻撃されたときではなく、静かに状態がずれていったときです。開けっ放しのファイアウォール、誰も無効化しなかったパスワードログイン、先週切れた証明書、誰にでも中継してしまうメールサーバ。FrontierStack は堅牢化を一度きりのチェックリストではなく、継続的で観測可能な状態として扱います。セキュリティペインは目の前のホストのコンソールであり、AI 管理者(第 13 章)が同じチェックを SSH 経由でフリート全体に適用します。ここで扱う内容はすべて、変更を依頼するまで読み取り専用で、どの変更もあなたが手作業で行えるものです。
10.1ファイアウォール:Application Firewall と pf
macOS は 2 つのファイアウォールを備えており、FrontierStack は両方を読み取ります。Application Firewall(ALF)はシステム設定で構成するアプリ単位の層で、セキュリティペインはその状態(有効・ステルスモード・すべての受信をブロック・アプリルール数)を表示するので、有効になっているかひと目で確認できます。pf パケットフィルタはより下位のポート単位の層で、FrontierStack が直接管理するのはこちらです。
アプリが管理する pf ルールは専用ファイル ~/Library/Application Support/FrontierStack/pf-frontierstack.conf に置かれ、システムの /etc/pf.conf に冪等に組み込まれた専用の frontierstack アンカーに読み込まれます。ルールを専用アンカーに置くことで、FrontierStack が Apple の基本ルールセットを編集することはなく、あなたのルールはリロードしても他を壊さずに残ります。ルールの追加・削除では、認証付きの管理者プロンプトを通じて pf がリロードされます。
AI 側では firewall_rule ツールがポートに対する許可/拒否ルールを 1 つ追加・削除し、必要に応じて送信元アドレスで絞り込みます。まず対象の OS を判別し、This Mac とリモートの macOS ホストには pf(frontierstack アンカー)を、Linux サーバには ufw を使います。Mac に ufw コマンドを、Linux に pf ルールを送ることは決してありません。
ufw を締める前に、ルールが管理経路を許可していることを確認し、別の入口(コンソール、KVM-over-IP、Headless Setup の画面共有)を確保しておいてください。10.2侵入防止と開放ポートの監視
開いたままにせざるを得ないポートにも見張りは必要です。セキュリティペインは 2 つの侵入防止エンジンを統合します。fail2ban は不正なログパターンに合致した IP アドレスを禁止します — SSH や Apache へのブルートフォースが典型です。ペインには導入・稼働状況、jail 数、現在禁止中のアドレス数が表示され、ワンクリックのリロードと、既存の設定を上書きせずに健全な SSH jail を投入する「スターター jail.local を書き込む」アクションがあります。CrowdSec はその上に共有レピュテーションネットワークを加え、アクティブな決定数とメトリクスボタンを表示します。どちらも Homebrew で導入する root サービスです。
Open Ports セクションはホスト上のすべての待ち受けを一覧します。併設の監視 — リモート操作・画面共有の露出 — は、VNC/画面共有(:5900)、Apple Remote Desktop、AnyDesk、TeamViewer、Chrome Remote Desktop、Splashtop、RustDesk、Tailscale の exit-node 広告を特に検出し、今まさに誰かが接続していれば赤く表示します。Recent Intrusions と Active Bans セクションは fail2ban.log、CrowdSec、Suricata の eve.json、Wazuh の alerts.json からの検出を新しい順に集約し、動かしていないソースは単に飛ばされます。新たな禁止、新たな待ち受け、進行中の受信セッションはそれぞれアラートを上げられます — 配信は第 11 章で設定します。
10.3SSH の堅牢化
SSH は多くのサーバで最も価値のある扉なので、セキュリティペインには SSH Hardening Audit があります。sshd -T で実効構成を読み — ディスク上のファイルではなく、ドロップインを適用したあとにデーモンが実際に使う設定を読み — 重要な項目(PermitRootLogin、PasswordAuthentication ほか)を指摘します。SSH がネットワークから到達可能なときは、ペインがそれを明示します。まさにそこで指摘が効いてくるからです。
インターネットに面したホストの基本は、鍵ベース認証と PasswordAuthentication no です。修正は本体ファイルではなく /etc/ssh/sshd_config.d/ を編集して行えば、パッケージ更新でも堅牢化が残ります。FrontierStack 自身のフリートチャネルはすでにこれらに従っています。Ed25519 鍵、BatchMode=yes、IdentitiesOnly=yes、そして known_hosts に記録される初回接続時のホスト鍵信頼(第 8 章)を使います。ホストの鍵アクセスが壊れた場合、repair_ssh_access ツールがローカルのボールトに保管した一度限りのログインパスワードで管理鍵を再インストールします — パスワードは Mac 上で読まれ、AI に送られることはありません。
10.4サーバセキュリティ:リモートホストの状態チェック
ここまではこの Mac のセキュリティペインの説明でした。サーバセキュリティペインは連携サーバ向けの対になるもので — 同じ状態チェックを SSH 経由で、フリート内のどのホストに対しても行います。サーバの詳細を開いてセキュリティ横の チェック… をクリックするか、ペインを直接開いてホストメニューからサーバを選びます。1 回のスキャンで、重要な SSH ハードニング(PermitRootLogin、PasswordAuthentication、待ち受けポート)、ファイアウォールの有無と有効状態(ufw、firewalld、nftables、生の iptables)、稼働中の侵入防止エンジン(fail2ban、CrowdSec)、保留中のセキュリティ更新の件数(apt、dnf、yum)、全インタフェースで待ち受けるサービス、ホスト整合性の兆候(スティッキビットのない誰でも書き込み可能なディレクトリ、想定外の SUID バイナリ)を報告します。
各所見は High · Warning · Info · OK でスコア付けされ、1 行のサマリバッジにまとめられます。フリートを見渡して、どのホストが対応を要するか一目で分かります。ペインは何も変更しません:修正するリンクが、実際に変更を行うペインへ移動します — ファイアウォールを有効化・ルール編集するサーバファイアウォールペイン、リモートツールの SSH ハードニングレビュー、fail2ban/CrowdSec を導入するセキュリティツールなど。root またはパスワードなし sudo で最も深く読み取れますが、なければ可能な範囲で実行し、その旨を伝えます。相互リンクは双方向です:ローカルのセキュリティペインは macOS ファイアウォールへ、サーバセキュリティはサーバファイアウォールへ、ピン留めサーバのペインは両方へリンクします。
10.5Malware Audit ペイン
Malware Audit ペインは 1 台の Mac のための防御者のダッシュボードで、安価で常時動く確認から重いフォレンジックへとセクション順に構成されています。
| セクション | 確認内容 |
|---|---|
| Protections | Apple 自身の層 — Gatekeeper(未署名アプリのブロック)、SIP(システム整合性保護)、FileVault、そして既知のマルウェアを自動でスキャン・除去する XProtect/XProtect Remediator。Re-check で再取得します。 |
| Persistence & Autoruns | サードパーティの LaunchAgents/LaunchDaemons — macOS の典型的な永続化ポイント。未署名の項目はオレンジで表示されるので、自分で入れたものか確認できます。Apple 署名済みの項目は正常です。 |
| ClamAV On-Demand Scan | シグネチャベースのアンチウイルス。パスを指定しScanすると感染ファイルの一覧が出ます。初回スキャン前にUpdate Signatures (freshclam)を実行してください。読み取り専用で、報告はしても削除・隔離はしません。 |
| YARA Rule Scan | IOC やマルウェアファミリーに対するルールベース分類。YARA-X(yr)またはクラシック YARA を使います。脅威インテリフィードのルールと組み合わせてください。 |
| File Reputation | ファイルの SHA-256 を計算し、その VirusTotal レポート(70 以上のエンジン、API キー不要)を開きます。ファイル本体はアップロードされず、ハッシュだけが使われます。 |
同じオンデマンド ClamAV スキャンはセキュリティペインにもあり、AI の malware_scan ツールは依頼に応じて任意のパスに対し ClamAV や YARA を実行します — いずれも読み取り専用です。

10.6より深いフォレンジックツール
クイックスキャンでは足りないとき、重い解析はSecurity Toolsカタログカテゴリの導入可能サービスとして用意されています — カタログのフィルタ(第 6 章)で表示できます。Volatility 3 は RAM キャプチャを調べるメモリフォレンジックフレームワーク、capa は実行ファイルに潜む機能(capability)を特定し、CAPE と Cuckoo サンドボックスは疑わしい検体を隔離環境で起爆させ、その構成と挙動を抽出します。その隣には Wazuh(ファイル整合性監視付きのホスト SIEM/XDR)や、URLhaus・OpenPhish・OpenCTI といった脅威インテリフィードがあり、YARA やサンドボックスのルールを供給します。これらは組み込みペインではなく本格的なツールです。FrontierStack が導入・管理するので、インシデントが要求したときにそこにあります。
10.7EDR Fleet ボード
すでにエンドポイントで商用 EDR エージェントを動かしているなら、EDR Fleet ペインがすべてのコンソールを横断する読み取り専用の集約を提供します。Add Console… を選び、プロバイダを選んで API 資格情報を貼り付けます — キーチェーンに保管され、AI には見えません。エンドポイント数と未対応検出数は各ベンダーの REST API から取得され、対応は SentinelOne、Huntress、CrowdStrike、Sophos Central、Bitdefender GravityZone、Microsoft Defender for Endpoint。Jamf Protect と LimaCharlie は到達性のために接続し、その他のコンソールは Generic(到達性のみ)として追加できます。Fleet totals 行が全体を合算します。ボードは数分ごとに更新し、コンソールが到達不能になると Security グループのアラートを上げ、未対応検出数がアラートの詳細に同伴します。深い作業には Open Console でベンダー自身のダッシュボードへ移動します。
10.8読み取り専用のセキュリティ監査
ホストの実態を最も早く知る方法は、AI の security_audit ツールです。This Mac または連携サーバに対し SSH 経由で、完全に読み取り専用の包括的なスイープを実行します。OS を自動判別し、保留中のセキュリティ更新、ディスク暗号化(FileVault または LUKS)、ファイアウォール(macOS では Application Firewall + pf、Linux では ufw/iptables)、SSH 堅牢化、待ち受けポート、UID-0 と特権アカウント、パスワード不要の sudo(NOPASSWD)項目、侵入防止、直近の失敗ログインを確認します。パスワード不要の sudo は使える場合のみ使い、使えない場合は優雅に縮退します。何も変更されません。優先順位付きの所見と具体的な修正案が得られ、自分で適用しても、通常の承認カードを介して AI に戻しても構いません。リモートで監査するには target にサーバ名を、ローカル Mac なら省略します。
10.9セキュリティ監査ペイン:サンドボックス内の「悪用可能なものだけ」監査
上記の読み取り専用 security_audit はホストがどう構成されているかを教えてくれます。セキュリティ監査ペインはより難しい問い — ここで攻撃者が実際に悪用できるものは何か? — に答えます。コーディングエージェントを敵対的な監査担当に変え、対象を把握し、多角的に攻撃を試みます — インジェクション、アクセス制御不備、認証・認可、ビジネスロジック、暗号、シークレット露出、SSRF、設定ミス、連鎖攻撃 — そして各所見を自ら反証しようと試み、具体的な攻撃経路があるものだけを残します。各所見には攻撃シナリオと修正案が付き、理論上のノイズはありません。
2 つのモードがあります。コードベースはエージェントをリポジトリや Web プロジェクトのフォルダに向け、ソースを監査します。インフラは FrontierStack が既に集めている信号 — Cloudflare ゾーンとその TLS/WAF 設定、ドメイン/証明書の健全性、ピン留めサーバの OS・公開サービス・リモートアクセス・MDM/アクティベーションロック/FileVault 状態、ローカルファイアウォール — を秘匿化したインベントリにまとめ、エージェントがそれを攻撃します。
実行全体は Sandcastle の Docker サンドボックス内で行われるため、信頼できないコードに向けた敵対的エージェントがホストに直接触れることはありません。初回監査時にサンドボックスのイメージとランナーをアプリが構築します(Docker または Podman の起動が必要)。以降は即座に開始します。所見は重大度バッジ付きで表示され、Obsidian に保存したり、重大/高リスクを アラートとして発報できます。他と同様、Mac から出るのは秘匿化済みのプロンプトのみ(シークレットは事前に除去)で、サンドボックス内のエージェントは claude setup-token のトークン(または Anthropic API キー)であなたの Claude サブスクリプションで認証します。
.env、秘密鍵、service-account.json — を含むフォルダはサンドボックスにマウントせず拒否します。クリーンなチェックアウトを監査してください。10.10Strix:AI ペネトレーションテスト
ここまでの監査は読み取り専用で、ホストの構成やコードのどこが悪用可能かを調べるものでした。Strix はさらに踏み込み、能動的なペネトレーションテストを実行します。セキュリティペインの Strix AI セキュリティテストセクションから、リポジトリフォルダ、Git URL、ドメイン、URL、IP アドレス(または連携ホストのいずれか)を指定し、深さを クイック・標準・ディープから選ぶと、攻撃対象領域をマッピングし、実際の攻撃経路を試み、ペネトレーションテストレポートを作成します。
FrontierStack はこれを、オープンソースの Strix コマンドラインエージェントを Mac 上でローカルに駆動し、そのディスク上の実行成果物 — 検出結果・実行メタデータ・レポート — を読むことで行います。ホスト型サービスをスクレイピングすることはありません。CLI が未導入ならその旨を示し Install Strix… リンクを提示します。Update Strix は uv または pipx 経由で更新し、スクリプトをシェルにパイプすることはありません。AI プロバイダキーは任意で、指定した場合は macOS Keychain に保存され、ローカルの Strix プロセスにのみ渡され、表示もクラウドモデルへの送信もされません — ペインはキーが設定済みかどうかのみを示します。
タイルは直近の実行を要約します:Critical・High・Medium の件数、所要時間、24 時間以内の新規、失敗したスキャン。実行中はライブのフェーズ表示と Stop ボタンが出て、新しい Critical/High の所見が現れると(アラートを消音が有効でない限り)ローカル通知が届きます。検出結果を開くとレポートを書き出すで詳細を確認でき、失敗したスキャンを再実行とスキャンエンジンを再起動で不調から回復します。重大な所見は機微情報として扱われ、クラウド AI に送られることはありません。AI アドミニストレーターからも strix_status・strix_scan・strix_control で駆動でき、第 13 章で扱います。
10.11Certificate Sources と TLS
証明書の失効は自ら招く障害です。Certificate Sources ダッシュボードは、ホスト上の発行スタックごとに 1 行を表示します — Let's Encrypt(acme.sh 経由)、Certbot、Step CA、Traefik、Cloudflare SSL — 失効日は openssl で証明書そのものから直接読み取ります。Cloudflare は分析用に構成したトークンとゾーンを使い、この Mac に存在しないソースは淡色で表示されます。Traefik はその acme.json を、Step CA はその URL をダッシュボードに指定できます。
証明書の発行には 2 つの経路があります。mkcert はローカルで信頼される証明書を作成します — 公的 CA が無関係な .localhost や LAN 名での開発に最適で、Certificates ペインの Get アクションは導入済みならこれを使います。一般に公開するものには Let's Encrypt を使います。AI の issue_certificate ツールが This Mac または連携サーバで acme.sh や certbot を実行し、DNS-Cloudflare 方式では実行時に注入される CF_TOKEN ボールトシークレットを読み — モデルに送られることはありません。
10.12メールのセキュリティ
メールサーバには 2 つの異なるリスクがあります。なりすまされること(誰かがあなたのドメインとしてメールを偽造する)と、悪用されること(見知らぬ相手のためにメールを中継する)です。FrontierStack は両方に対処し、Postfix が下層にいる旧 Apple Server のケースも理解するツールを備えます。
- なりすまし対策の DNS —
email_auth_dnsが SPF、DMARC、(任意の)DKIM の TXT レコードを生成します。SPF はドメインの送信元を宣言し、DMARC は失敗時の扱いを受信者に伝え、DKIM は送信メールを暗号署名します。publish=cloudflareならレコードを作成し、そうでなければ BIND、dnsmasq、レジストラに貼り付ける正確なレコードを表示します。 - DKIM 鍵 —
generate_dkim_keyはサーバ上でドメインとセレクタに対しopendkim-genkeyを実行し、公開鍵を公開すべき TXT レコードとして返します。秘密鍵は OpenDKIM ミルターのためサーバに残ります。 - Postfix の堅牢化 —
harden_mail_postfixは SSH 経由でpostconfにより安全なデフォルトを適用します。中継には SMTP AUTH を必須化(これでオープンリレーを閉じます)、未知・未登録の送信元ドメインを拒否、任意で送信者/ログインの一致を強制します。Postfix をリロードし、実効設定を表示します。 - オープンリレーテスト —
test_open_relayは安全な SMTP 会話(EHLO/MAIL FROM/RCPT TO を外部ドメインへ、送信せず QUIT)を行い、外部宛先が拒否されたか(良好)受理されたか(オープンリレー — 不良)を報告します。
serveradmin によって管理されている場合があり、main.cf を上書きして harden_mail_postfix の変更を黙って取り消すことがあります。実行後に結果を確認し、戻ってしまった場合は同等の設定を Server.app から再適用してください。10.13外部から変更してよいのは誰か
ここまでは FrontierStack が面倒を見るマシンの堅牢化でした。本節は FrontierStack 自身の堅牢化です。フリート全体の SSH 鍵・データベースのパスワード・クラウドトークンを預かるアプリは、管理下のどのサーバよりも魅力的な標的だからです。
FrontierStack は複数の入口から外部操作できます。AI クライアント向けの MCP サーバ、Webhook やモバイルパネル向けの受信 HTTP 制御サーバ、ショートカットや Siri 向けの App Intents、そして有効化した場合のエージェント連携です。いずれも独自のトークンを持ちますが、その上位にリモート制御・ロック内の 2 つの設定があります。それぞれが答える問いは異なります。
アプリロックは「ロック中に何が残るか」に答えます。パスワードを設定してロックすると、ウィンドウは覆われ、すべての外部経路が完全ブロックか読み取り専用に制限されます。
外部からの変更は別の問いに答えます。ロックしていない状態で、外部の呼び出し元が何かを変更するまでに何を要求するか、です。MCP サーバ・制御パネル・ショートカット・コマンドラインのすべての外部経路に同時に適用されます。レベルは 3 つ。全自動は確認なしで実行させます。接続するクライアントとその動作環境をすべて信頼できる場合にのみ妥当です。既定の操作ごとに確認は、変更のたびに呼び出し元を明示した承認パネルを表示します。パスワードが必要は、外部ツールがサーバに触れる前にパスワードを求めます。
確認レベルには、障害対応時に効く逃がし弁があります。承認時にこのセッションのみ許可を選ぶと 5 分間有効になりますが、その呼び出し元・その種類の操作に限られます。MCP クライアントからのサービス再起動を承認しても、同じクライアントでのシェル実行や、モバイルパネルからの再起動が許可されるわけではありません。この狭さこそが要点です。障害中に確認が繰り返されることが、人を「全自動」へ恒久的に切り替えさせる主因であり、横に漏れる許可はそれ以上に危険だからです。
どのレベルでも共通する 3 つの性質が、この設定を単なる設定項目ではなく信頼できるものにしています。読み取りは決して制限されません。障害中に暗転するダッシュボードは害にしかならないため、監視クライアントはどの設定でも動き続けます。認証情報・シェル・FrontierStack 自身の設定は、どのレベルでも外部から変更できません。これらは確認を出すのではなく拒否されます。パスワードの読み出しや任意コマンドの実行にとって、リモートツールからの要求はそもそも発生源として適切ではないという判断です。そしてセッション許可はディスクに書かれません。アプリの終了やロックで消えるため、5 分間の利便性が、与えたことを忘れた恒久的権限に変わることはありません。
10.14auth.md によるエージェントログイン
パスワードは自動化に最も向かない資格情報なので、FrontierStack はサードパーティサービスの長期パスワードを貼り付けるよう求めることは決してありません。代わりに auth.md を検出します — サービスが https://<host>/auth.md に公開できるオープン仕様(WorkOS 発)で、AI エージェントが代理でサインインする方法を伝えます。サービスの Connect ▸ Login Automation (auth.md) 開示と、AI の check_authmd ツールがその公開ファイルを取得し、広告されたフロー(agent-verified または user-claimed)、スコープ、OAuth エンドポイントを要約します — あるいは未公開と報告します。付与そのものはサービス側で行われ、短命で取り消し可能、スコープ付きのトークンが発行されます。FrontierStack はパスワードを保存しません。現在 Cloudflare と Firecrawl が auth.md を公開しており、対応サービスは増えつつあります。
10.15署名付きリクエストの信頼モデル(FS1)
FrontierStack 自身の制御面 — ローカルの制御サーバ、MCP サーバ、リモートの fsagent — は TLS 上のベアラートークンで保護されています。しかしトークン単体は共有秘密であり、再送可能で、誰が呼んでいるかの証明にはなりません。FS1 署名付きリクエストはその上に第二の要素を加えます。すべてのリクエストが承認済みのデバイス単位 Ed25519 鍵で署名され、サーバは公開鍵の許可リストを保持し、明示的に承認していない鍵で署名されたものを拒否します。漏れたトークンはそれ単体では何も制御できません — これはフリートがすでに信頼している SSH 鍵の HTTP 版です。
各リクエストはデバイスの鍵 ID、タイムスタンプ、ランダムなノンス、正規化文字列に対する署名を運びます。サーバは、鍵が承認済みであること、タイムスタンプが 60 秒の窓内であること、ノンスが未使用であること(署名が検証された後にのみ消費されるため、不正な署名でノンスを浪費できない)、署名が有効であることを検証します。同じ方式が macOS アプリ、Go エージェント、iOS クライアントで同一に実装され、言語横断テストで固定されています。
デバイスはサイドバー概要グループの Paired Devices ペインで管理します(以前はこのセキュリティペイン内にありました)。ペア済みの各電話・タブレットには、ラベル、鍵フィンガープリント、最終確認時刻、スコープ選択、Revoke ボタンが表示されます。ペアリングは数台ずつ持つ 1〜2 名を想定し — 登録は 4 台まで — 各デバイスはスコープを帯びます。
| スコープ | 状態・ログの閲覧 | サービス再起動 | フリート操作 | ツール/CLI/スクリプト |
|---|---|---|---|---|
readOnly | 可 | — | — | — |
restart | 可 | 可 | — | — |
operate | 可 | 可 | 可 | — |
full | 可 | 可 | 可 | 可 |
同じセクションには、制御サーバと MCP サーバそれぞれの署名要求(Require request signing)スイッチがあります。展開は意図的に緩やかです。署名が任意のあいだサーバはトークンまたは署名を受け入れ、すでに持っているトークンで最初の鍵を登録できるブートストラップ例外があるため — 強制を有効にしても全員を締め出すことは決してありません。
各行にはさらに 2 つのデバイス単位の制御があります。AI 管理者を許可(既定はオン、どのスコープでも)は、その電話が AI と会話できるかどうかを制御します — 信頼する 1 台にはチャットを許可しつつ別の 1 台をブロックできます。このスイッチは制限のみを行います:オンでも AI は依然としてアプリのロック解除、署名済みデバイス、変更を伴う操作には full スコープの「変更を許可」を必要とします。リモートシェルを許可は full スコープでのみ表示され、既定はオフです。これは電話がコマンドラインシェルを開き、さらにこの Mac がオフラインでも直接アクセスするために自身の SSH 鍵をサーバに導入するために必要な明示的許可です。電話を紛失した場合、紛失した電話を保護は端末と古いキュー操作を直ちに遮断し、セッションを終了し、到達可能なサーバから直接 SSH 鍵を削除し、プッシュトークンを無効化します。オフラインのサーバは復帰後にクリーンアップを完了できるよう一覧に残ります。
Bluetooth によるペアリングのフォールバック。新しい電話が Wi-Fi や Tailscale でこの Mac に到達できないとき — 制限されたゲストネットワーク、クライアント分離、キャプティブポータルなど — 登録は Bluetooth 経由でも完了できます。Bluetooth ペアリングを許可(既定はオフ)を有効にすると、Mac はペアリングダイアログを開いている間だけ短命の GATT サービスをアドバタイズします。電話は同じ一度きりの QR コードをスキャンし、まったく同じ署名付き登録ハンドシェイクを実行します — HTTPS の代わりに BLE で運ばれるだけです。FS1 署名はトランスポートに依存しないため、Bluetooth 経路は TLS チャンネルなしで同じ信頼保証を継承します。
full ではなく restart で。すべてのデバイスを登録したら、両サーバで署名要求を(エージェントでは require_sign を)有効にします。その後は、漏れたりスクリーンショットされたトークンは何も制御できません。呼び出し側は承認済みの秘密鍵も持っていなければならないからです。電話を紛失したり担当者が離れたら、ただちにデバイスを取り消してください。10.16ヘッドレス Mac の堅牢化
ディスプレイのないサーバには固有のセキュリティ上のトレードオフがあり、Headless Setup ツール(詳細は第 8 章と第 17 章)はここで最も重要なものを表に出します。System Status セクションは FileVault が有効なとき警告します。キーボードも画面もない暗号化 Mac は起動時に解除できず — オンラインに戻る代わりに FileVault のプロンプトで止まるからです。ヘッドレス機では一般に、フルディスク暗号化と無人再起動のどちらかを選ぶことになり、FrontierStack はその選択を、次の停電後に気づくのではなく明示的にします。そうしたホストで画面共有やリモートログインを有効にすることは、まさに Open Ports 監視がその後見張る種類の露出です。
第 11
監視とアラート
継続的なヘルススイープが、気にかけるすべてのサービス・デバイス・サブシステムを見守り、トラブルの最初の兆候を、あなたが普段確認しているアプリへのメッセージに変えます。
変更しかできないコントロールパネルは、半分の道具にすぎません。もう半分は、何かがおかしくなったとき——できれば障害になる前に——それを知ることです。FrontierStack は、監視対象として登録したすべてを継続的にスイープし、トラブルの最初の兆候を、あなたが選んだチャネルへのメッセージに変えます。本章では、全体を要約する Local Health ボード、警告を発報・配信する Alerts ペイン、それを運ぶメッセージングゲートウェイ、そしてクラウドサービス・プロジェクトツール・電源・ストレージ向けの専用モニタを扱います。
11.1Local Health ボード
Overview ▸ Local Health を開くと、「今、何か壊れているか?」に答える 1 画面が現れます。監視対象のサービス・デバイス・サブシステムはすべて UP または DOWN の行として、領域別(Web・データベースサービス、フリート、サイトと証明書、ディスク、UPS・SNMP デバイス、接続済みクラウドアカウント)にまとまって表示されます。最上部には X up / Y down の形式で 1 行サマリーがあり、すべての行を読まずともフリート全体の状態をひと目で把握できます。
このボードは、AI 管理者が get_server_health ツールで読むのと同じデータです。「何が落ちている?」と尋ねれば、この画面が示す内容をそのまま報告し、修正案を出す前に調査を申し出ます(第 13 章参照)。スイープはおよそ 60 秒ごとに走り、各 DOWN 項目はそれを所有するペインにも紐づけられます。これがサイドバーの行や Dock アイコンに赤いカウントのカプセルが現れる理由です——トラブルが「ある」だけでなく「どこにあるか」が分かります。
11.2Alerts ペイン:監視する対象

Local Health ボードは状態を表示します。Alerts ペイン(Overview ▸ Alerts)は、何がメッセージに値するかを判断して送信します。「重要なサービスを監視して通知する」をオンにすると、スイープがアラートを発報し始めます。監視する対象は次のとおりです。
- サイトとサービスの健全性 — HTTP/ループバックのチェック、TCP ポート、さらに踏み込んだプロトコルプローブ(SMTP/IMAP ログイン、データベースの
SELECT 1、LDAP バインド)。待ち受けてはいるが実際は壊れているサービスも検知します。MySQL プローブはさらに接続プール(max_connectionsに対する使用率と "too many connections" の拒否カウンタ)を読み取り、プールが 90% を超えたときやスイープ間にクライアントが拒否されたときに通知します。各スイープはデータベースヘルスペインの接続ヘルス履歴としてチャート化され、プール使用率の推移に、拒否バーストと停止が赤い線で刻まれます。 - 連携サーバ — 各フリートホストの SSH エンドポイントをスイープごとに到達性チェックします(ログイン試行なしの素の TCP 接続)。完全に停止したサーバは明確な「サーバダウン」アラートを発報し、復帰時には「サーバ復旧」を送ります。これはホストが稼働中に接続を制限しているときだけ出る SSH クールダウン通知とは別物です。
- 証明書とドメイン — フリート全体の TLS 有効期限に加え、レジストラ/DNS/SSL のチェックで、失効する当日の朝ではなく数日前に警告します(第 7 章)。
- ディスクの逼迫 — 後述の Disk Health モニタから、空き容量しきい値を下回ったボリュームを通知します。
- セキュリティの露出 — 新しい開放ポートや想定外のリスナー、VPN トンネルの切断、SSH がネットワークから到達可能な状態での重大な SSH 堅牢化の失敗。
- 決済の失敗と請求 — 接続した有料サービス(OpenAI・Anthropic・Cloudflare・Google Cloud)がクォータ不足・残高不足・認証エラーを返す——カード失効の症状です。
- 接続したクラウドサービス — Stripe・Shopify・Freshdesk・SendGrid などのライブ監視が、設定したしきい値を超えると発報します。
多くのチェックはしきい値ベースなので、「トラブル」の定義はあなたが決められます。証明書が残り N 日になったら、未対応チケットが一定数を超えたら、ディスクが一定割合を超えたら——。余裕を持ったしきい値にすれば、事後検証が事前の知らせに変わります。ペインには「侵入を通知」もあります。新しい fail2ban/CrowdSec のバン、高深刻度の Suricata シグネチャ、注目すべき Wazuh アラート(レベル ≥ 7)が発生時にメッセージされ、既存の履歴は再アラートされません。
11.3メッセージングゲートウェイ
アラートは届いて初めて役に立ちます。Alerts ペインでは複数のゲートウェイを同時に有効化でき、チャネルごとに複数の宛先を指定できるので、相手が既に開いているアプリに確実に届きます。ボットトークンや Webhook URL を貼り付け、テストを送れば稼働します。AI 管理者は get_messaging_channels で有効なゲートウェイを列挙し、send_notification で送信できます(第 13 章)。
| ゲートウェイ | 適した用途 |
|---|---|
| Telegram | ボットトークン。ゲートウェイごとに複数チャット。高速・無料・確実な携帯プッシュ。 |
| LINE(Messaging API) | LINE を使う相手、特に日本・韓国に届ける。 |
| Slack / Discord | チームチャンネルへの受信 Webhook。チームが既に話す場所に運用アラートを流す。 |
| ntfy | 公式サーバまたは自前のセルフホスト ntfy 経由のシンプルな携帯プッシュ。 |
| Apprise | ひと手間で 80 以上の宛先(Pushover・Matrix・Gotify・Microsoft Teams・PagerDuty ほか)へ展開。 |
| メール(SMTP) | 受信箱に届けたいもの全般。スケジュール配信の AI 評価レポートも運びます。 |
| SMS / WhatsApp | Twilio または WhatsApp Business Cloud API 経由で電話に直接。 |
| Slack/Discord Webhook | すべてのアラートと復旧の、チームに見える永続履歴。 |
| KakaoTalk | KakaoTalk ユーザへの「自分宛て」アラート。 |
| iMessage(Apple メッセージ) | Mac から直接送るネイティブな「自分宛て」アラート——外部サービス不要。 |
| PagerDuty/Opsgenie(ページング) | エスカレーション付きの本物のオンコール呼び出し——下記参照。 |
11.11.1オンコールの呼び出し(PagerDuty・Opsgenie・緊急 ntfy)
上記のメッセージゲートウェイは送りっぱなしのテキストです。ページングチャンネルは質的に異なり、ステートフルです。監視項目がダウンすると、FrontierStack はその項目にキー付けされたインシデントをトリガします——PagerDuty(Events API v2 のルーティングキー)または Opsgenie(GenieKey)がエスカレーションポリシーを実行し、誰かが応答するまでオンコール担当者にプッシュ・SMS・電話をかけ続けます。項目が復旧すると、FrontierStack は同じインシデントを自動的にリゾルブします。インシデントは項目ごとにキー付けされるため、フラッピングするサービスは 1 つのインシデントを更新するだけで当番を何度も呼び出さず、すでに終わった障害で誰も起こされません。オンコールサービスがない場合は、ntfy ゲートウェイのダウン時にページトグルで「ダウン」アラートを ntfy の最高優先度で送信できます——より大きく繰り返し鳴り、多くのスマホのサイレント設定を突破します(復旧とレポートは通常優先度のまま)。各ページングチャンネルのテストページを送信ボタンは実際のインシデントを発生させ、約 10 秒後に自動リゾルブして、エスカレーション経路全体を端から端まで検証します。
トークンと Webhook は macOS キーチェーンに保存され、Mac の外には出ません。スケジュール配信の AI 評価レポートも送れます。AI 管理者がライブの監視健全性から(読み取り専用の診断を実行して)サマリーを作成し、日次・週次でメール送信、あるいは有効なすべてのチャネルへプッシュします。重大項目が 2 件以上同時に DOWN のときは、任意でより詳しいレポートも送れます。
11.4配信エラーとその直し方
アラートが黙って送信失敗するモニタは無価値です。FrontierStack はすべての送信を検証します。ゲートウェイが失敗すると、Alerts ペインの配信エラーセクションに、平易な日本語の修正ガイドと、その下に生のエラー、そして設定の誤ったチャネルの設定へ直接スクロールする Fix ボタンとともに記録されます。サイドバーの Alerts 行と Dock アイコンに赤いバッジが現れて確実に気づけるようになり、クリアするまで残ります。AI 管理者は get_alert_errors で同じ一覧を読むので、「なぜアラートが届かない?」と尋ねるだけで済みます。
よくある原因は地味で、すぐ直せます。
| 症状 | 考えられる原因と対処 |
|---|---|
| メールが送信時に拒否される | SMTP の From アドレスが空、または宛先が未設定——Email チャネルで両方を入力。 |
| メール接続が拒否/タイムアウト | ポートやトランスポートの誤り。プロバイダに合わせる(587 STARTTLS または 465 SSL)とホスト。 |
| Telegram/Slack/Discord の 401 や 404 | 不正または失効したトークン/Webhook URL——新しいものを貼り付けてテスト送信。 |
| レポートが届かない | レポート配信が「メールのみ」だが Email チャネル未設定——「すべての有効チャネル」に切り替えるか Email を設定。 |
11.5オンホストの Service Watchdog とデータベースの健全性
ここまでのモニタはMac上で動作します。重要なサーバには、そのマシン自身に常駐するWatchdogも必要です。そうすればMacがスリープ・オフラインでも動き続けます。FrontierStackのService Watchdogはホストモニタとともに配備され(第8章)、短い間隔でサービスを確認し、失敗すれば再起動し、最後の手段として許可した場合だけマシンを再起動します。各ウォッチのチェック種別は、プロセス、HTTP/TCPプローブ、または専用のMySQL/PostgreSQLチェックです。
fsck、xfs_repair、chkdskなどのファイルシステム修復では、システムディスク上の全サービスが一時的に停止して見えることがあります。ローカルのService GuardianとオンホストのService Watchdogは修復プロセスを検出し、保存済みポリシーを変えずに、サービス再起動やリモートの再起動エスカレーションを含む自動復旧を一時停止します。障害カウンタを消去し、修復終了後も60秒待ってから新しい状態で再開します。停止状態はデスクトップと端末に表示されます。必要な場合は、ユーザが確認した手動操作を引き続き実行できます。データベースのハートビートは、プロセス/ポート確認が見逃す故障を捉えます。MySQLハートビートはパスワードなしでSELECT 1を要求します。成功または「access denied」ならMySQLが応答中、接続拒否、タイムアウト、接続上限到達なら異常です。MySQLパスワードは保存せず、テーブルも読み取りません。空のプローブ名はrootではないfs_watchdogになり、このアカウントは実在しなくても構いません。PostgreSQLハートビートはユーザ名やパスワードなしでpg_isreadyを使います。エラーログの早期警告をオンにすると、データベース自身のエラーログも追尾して破損の兆候を重大イベントとして通知します。これらはサーバ上で動くため、MacがオフでもntfyやWebhookで自律的に通知できます。
Aborted_connectsに計上します(毎分約2回、1日で数千回)。異常ではありません。サーバは正常で、チェックも正しく動作しています。ただしカウンタがハートビート自身の通信で埋まるため、総当たり攻撃や設定を誤ったアプリなど、本当の兆候を隠す恐れがあります。MySQLハートビートのパネルには任意の対処があります。空パスワードで権限を一切持たない(USAGEのみ。データは読めず、サーバ外からは接続できません)アカウントfs_watchdog@localhostと[email protected]を作成すると、プローブは正常にログインし、通常の接続として計上されます。FrontierStackは要求された時だけ、Database Healthに保存したMySQL管理者パスワードで作成し、実行するCREATE USER文を事前に表示します。SQLをコピーして自分で実行することも、後から同じパネルで削除することもできます。何もしなくても構いません(カウントは表示上の問題です)。mysqlcheck、検証済みバックアップ、任意の自動修復には、ウォッチのテーブルチェックと自動修復を開く、またはDatabase Healthを開き、対象データベースのスキャンと修復の設定を展開します。rootではなくfrontierstack_health@localhostのような専用アカウントを使ってください。ログインとSELECT 1にはUSAGE、全接続の表示が必要な場合だけPROCESS、明示的に検査するスキーマだけにSELECTを付与します。接続元はlocalhostまたはモニタの正確なプライベートアドレスに制限します。クライアントはサーバ上で動くため、MySQLを広いネットワークへ公開する必要はありません。チェック専用アカウントを作るには、your_databaseと例のパスワードを置き換えます。
CREATE USER 'frontierstack_health'@'localhost' IDENTIFIED BY 'use-a-unique-random-password';
GRANT SELECT ON `your_database`.* TO 'frontierstack_health'@'localhost';
このログインをDatabase Healthに保存します。手動チェックと検証済みバックアップが両方成功するまで自動修復はオフにしてください。完全なバックアップや修復に追加権限が必要な場合は、MySQLが示したスキーマ単位の権限だけを追加し、*.*は使いません。別のマシンから接続するモニタでは、localhostをその1つの正確なプライベートアドレスに置き換えます。
ピン留めサーバのサービス行では、定期テーブルスキャンまたはサーバ自己修復が有効な間、緑のDBチェッカー:オンを表示します。対象はあるがどちらも動いていない場合は一時停止、MySQLスキャンを選択していてもパスワードがない場合は緑ではなくオレンジのログインが必要を表示します。Database Healthは低頻度でテーブルを検査し、ハートビートは停止を素早く検出してサーバ上でMySQLを再起動するため、両方は補完関係です。
データベースが停止ではなく遅い・詰まっているときは、Database Healthペインの各対象にある「Why slow/stuck?」ボタンがその場で答えます。サーバのライブ活動(MySQLはSHOW FULL PROCESSLIST、PostgreSQLはpg_stat_activity)を読み、実行中クエリを形状ごとにまとめます。リモート対象はSSH経由で調べるため、データベースのポートを公開する必要はありません。
11.11.2保守のためにチェックを一時停止する
意図的にサービスを停止している最中に、再起動してくれるウォッチドッグはまさに邪魔です。保護をオフにして — そして自分で戻し忘れないことに頼る — のではなく、Guardian ヘッダーの 「Pause Checks…」、または各サービス行の一時停止ボタンを使います。15 分から 1 日までの範囲を選べます。
一時停止中、Guardian は対象のヘルスチェックも再起動も行わないため、作業と衝突しません。何も無効化されず、設定も失われません。Keep Alive、Auto Recover、しきい値、間隔はそのまま保持され、時間が過ぎれば自動的に再開します。「Resume Now」を押せば即座に再開できます。一時停止がその期間を超えて残ることはなく、アプリを終了して再度開いても同じです。
11.6ケーススタディ:High Sierra Server.app の serviceproxy ハング
High Sierra 上の macOS Server(Server.app)を今も動かしている古い Mac には、よく知られた故障があります。Web フロントプロキシ——実際のバックエンドの手前でポート 80/443 を握る launchd ジョブ com.apple.serviceproxy——が、ときどきハングするのです。TCP 接続は受け付け続けるのに一切応答しなくなるため、背後のすべてのウェブサイトが停止する一方、プロセスチェックはどれも正常に見えます。Apple からの修正はありません。このスタックはサポート終了です。Service Watchdog はまさにこのケースを念頭に作られています。
ウォッチの設定方法。サーバのペインでサービス名 serviceproxy のウォッチドッグ項目を追加し、——ここが重要ですが——プロセスチェックではなく、ターゲット http://127.0.0.1/ の HTTP チェックを設定します。本当の故障(接続は受けるが応答しない)を見抜けるのは HTTP プローブだけです。失敗すると、ウォッチドッグは launchctl kickstart で復旧します——管理者が手で打つ修復コマンドそのものです。HTTP ステータスが 500 未満なら生存と見なされ(プロキシが 403/404 を返しても応答している証拠です)、各プローブは 6 秒でタイムアウトするため、ハングしたプロキシはタイムアウトでチェックに失敗します。プロキシ背後のバックエンドも同様に server-httpd として監視できます。
推奨タイミング。チェックは 30 秒ごと、3 回連続で失敗したら再起動、再起動は最大 3 回、再起動後の猶予はデフォルト(約 20 秒。古いハードウェアの Apache にも十分)のまま。これで行動前に約 90 秒かけてハングを確認します——1 回の遅い応答や一時的な負荷スパイクでは kickstart せず、本物のハングなら約 2 分でサイトが自動復旧する長さです。サイトが重要なら 15〜20 秒間隔・2 回失敗(確認まで約 40 秒)に詰めても構いません。それ以上詰めても誤再起動が増えるだけです——古いマシンは負荷時に応答へ数秒かかることが普通にあるからです。「回復に失敗したらサーバを再起動」は、完全に無人のマシンでない限りオフのままに。実際には kickstart でハングは解消しますし、この種のマシンでの最終手段の再起動はダウンタイムを増やすだけです(ブートループ防止ガードにより、ウォッチドッグ再起動の間隔は最低 30 分が強制されます)。
なぜプロセスチェックではだめか。serviceproxy という名前のプロセスは存在しません——このジョブは特殊な設定ファイルを持つ httpd として動きます——そのため v1.6.1 より古いモニタは、正常なプロキシを恒久的に「停止中」と誤読し、何度も再起動を繰り返し、再起動へのエスカレーションを許可していれば正常なマシンを定期的に再起動していました。v1.6.1 からモニタは launchd にジョブの実状態を問い合わせるため、プロセスチェックも真実を伝えます。ただし本当のハングを捉えるのは引き続き HTTP チェックです。原因不明の再起動を繰り返す古いサーバがあれば、まずモニタのバージョンを確認してください。なお「なぜ再起動した?」はウォッチドッグ起因の再起動を明示的に帰属させます(v1.6 以降のモニタでは理由付き。それより古いモニタもスタンプを残し、それも報告されます)。
serviceproxy の引退です。Apple Server 移行ウィザード(第 8 章)が Server.app マシンを棚卸しし、ウェブサイトをサポート中のシステム上の素の Apache へ移して、ハングしがちなプロキシを配信経路から外します。それまでは HTTP ウォッチが古いマシンを健全に保ちます。配信についてもう 1 つの保証があります。アラートは決して沈黙しません。メッセージングゲートウェイに加えて、状態変化のアラートはすべて、ゲートウェイとは独立にネイティブの macOS 通知とプッシュも発報します——メールをオフにしすべてのチャネルを無効にしても、サービスの停止は Mac 上であなたに届きます。データベースのリカバリ——mysqlcheck/pg_amcheck の実行や AI ガイド付き再構築——は第 5 章で扱います。
11.7インシデント・オンコール・ステータスページ
すでに正式なインシデント対応を運用しているチーム向けに、FrontierStack はそれを置き換えるのではなく、お使いのツールへ接続します。各ツールはカタログのエントリから開けるライブペインを持ち、読み取り専用の API キーを貼り付けると現在の状態を表示します。
- インシデント管理・オンコール — PagerDuty(オープン/高緊急度のインシデント、オンコール担当、サービス)、Opsgenie(未対応/未確認のアラート、US/EU リージョン切替)、incident.io と Rootly(進行中のインシデント)。
- ステータスページ — Statuspage(未解決インシデントと DOWN のコンポーネント)と Better Stack(モニタの up/down/paused)。
各ペインでキーを設定し(例:PagerDuty ▸ Integrations ▸ API Access Keys)、接続を確認します。これらは同じ監視像に流れ込むので、PagerDuty のオープンインシデントやステータスページの DOWN コンポーネントが、自前の健全性と並んで表示されます。
11.8SaaS ライブ監視とプロジェクト管理ペイン
FrontierStack はインフラだけにとどまりません。設定駆動の SaaS ライブ監視が接続済みクラウドアカウントを見守り、数分ごとに更新します。各サービスには資格情報フォーム、ライブのメトリックタイル、「Alert me」トグル、しきい値があります。アラート対応サービスはメトリックが線を超えると DOWN アラートを発報し、残りは到達性を監視します。ライブ監視には Stripe(要対応の係争、残高)、Shopify と WooCommerce(未処理注文)、Freshdesk と Zammad(オープン/保留/期限超過チケット)、SendGrid・Mailgun・Postmark(バウンスとブロック)、GitHub Copilot(非アクティブシート)、アイデンティティプロバイダの Okta と Microsoft Entra ID が含まれます。サービスをピン留めすれば、アラート設定に関わらず常時 Local Health に表示できます。
同じパターンがプロジェクト管理ツールにトークンログインのライブペインを与えます。Jira(オープン/未割当/ブロック/スプリント内の件数)、Linear、monday.com、OpenProject、Plane、Taiga。これらはアラート源というよりダッシュボードですが、チームの作業量を、それを動かすサーバと同じウィンドウに並べます。メール配信には専用の統合 Email Delivery ペインがあり、トランザクションプロバイダのメトリックと SPF/DKIM/DMARC チェックを統合します(第 7 章)。
11.9キュー運用
キュー運用は RabbitMQ、Kafka、NATS/JetStream、Redpanda、AWS SQS、Azure Service Bus、Google Pub/Sub、Celery/Flower、Redis Streams、Apache Pulsar、Apache RocketMQ の読み取り専用ダッシュボードです。ブローカ、名前空間、クラウドアカウントごとにモニタを追加します。プロバイダが公開する範囲で、キューまたはコンシューマグループ名、待機中・処理中・コンシューマ数、遅延、デッドレター数、最古メッセージの経過時間を表示します。メッセージ本文を読んだり保存したりすることはありません。
クライアントポートと管理ポートは分けて扱います。たとえば RabbitMQ クライアントは通常 AMQP の 5672、管理 API は 15672、NATS クライアントは 4222、監視は 8222、Pulsar クライアントは 6650、HTTP 管理 API は 8080 です。監視エンドポイントは非公開にしてください。オンホストの FrontierStack モニタを経由しない場合は TLS と監視専用アカウントを使います。
連携サーバでは導入済みモニタを選ぶと、署名付き接続を通じて、資格情報を受け取らないヘルパから上限付きサマリーを取得します。クラウドプロバイダは通常のローカル CLI プロファイル、またはキーチェーンに保存した権限を絞った資格情報を使います。重大しきい値は Alerts スイープに入り、同じサニタイズ済みサマリーを iPhone/iPad アプリと AI 管理者の読み取り専用 get_server_health ツールから確認できます。このダッシュボードには消去・削除・発行・確認応答・再生の操作はありません。
11.10UPS 監視と SNMP デバイス
電源は、停電するまで忘れられがちな故障モードです。FrontierStack は UPS を 3 通りで検出します——macOS の電源ソース(pmset -g ps)、NUT デーモン(upsc)、apcupsd(apcaccess)——そして充電・残時間・負荷・入力を Power Control の UPS セクションに表示します。アラートをオンにすれば、ユニットがバッテリー駆動になったとき、設定した低充電しきい値に達したとき、コントローラとの通信を失ったときに呼び出されます。UPS をピン留めすれば Local Health と Places マップに残せます。NUT や apcupsd が無ければワンクリックボタンでインストールできます。スキャンはこれらのデーモンの応答を待つため、実行中は Stop ボタンが表示されます。NUT サーバが固まっている場合は待ち続けずに停止でき、取得済みの読み取り値は保持され、自動更新は Refresh を押すまで一時停止します。
SNMP を話すその他のもの——マネージドスイッチ、プリンタ、ネットワーク UPS、NAS——には、デバイス詳細ペインの SNMP / OIDs セクションが直接問い合わせます。組み込みのテンプレート(System、Host Resources、Interfaces、Printer RFC 3805、UPS RFC 1628、Synology、QNAP、APC PowerNet)を選んで Query を押せばラベルと値の読み出しが得られ、単一のカスタム OID を手動で取得することもできます。OID をウォッチすることも可能です。比較としきい値(より大きい、等しい、含む、または単に「変化したら通知」)を設定すると、FrontierStack がポーリングし、条件が満たされるとアラートを発報します。net-snmp を使い、ワンクリックでインストールできます。
11.11ディスク・RAID・SMART の健全性
ドライブは、耳を傾けていれば予兆とともに故障します。Disk Health ペイン(組み込みの監視ツール)は複数の層を組み合わせます。ボリュームの空き容量と Time Machine の状態は常に表示されます。smartmontools をインストールすると(ワンクリックの Install ボタン)、各物理ドライブがディープ SMART 属性——健全性、温度、通電時間、代替済み/保留中セクター、故障予測フラグ——で補強され、ドライブごとに Check ボタンと、生レポート用の Details シートで確認できます。ドライブは SMART 失敗または懸念される属性(代替済み/保留中セクター、故障予測)でアラートを発報し、完全な死亡時だけではありません。
ソフトウェアの AppleRAID セット(ミラー、ストライプ、連結)は、レベル・状態・メンバーごとの状態とともに独自のセクションに表示されます。セットが劣化したりメンバーがオフラインになるとアラートが発報します。Alerts & Thresholds でディスクアラートをオンにすれば、他のすべてのモニタと同様にチャネルへ流れます。
これらのモニタを合わせると、ひと目で見るボード 1 つ、調整するペイン 1 つ、あなたに届くチャネル 1 式が得られます——そして同じ健全性を読み、あなたに代わって同じ通知を送る AI 管理者(第 13 章)があります。フリート全体の CPU・メモリ・GPU メトリックをこの像に流し込むホストモニタは第 8 章で扱います。
第 IV
自動化と AI
スクリプトとスケジュール、AI 管理者、MCP、AI スタック。FrontierStack をコントロールパネルから「ひとりでに働く存在」へと変える 4 つの章。
第 12
スクリプト・cron・自動化
毎日使うコマンドを保存し、本物のシステム cron でスケジュール実行し、FrontierStack を Apple ショートカット・Siri・Mac の他の仕組みと連携。ワンクリックのスクリプトから、ハンズフリーの音声コマンドまで。
優れたサーバ管理者は、同じ数種類の作業を何度も繰り返します。バックアップを取る、キャッシュを温める、バックエンドを正しい手順で再起動する、vhost が思った通りのものを実際に配信しているか確認する。FrontierStack はそれぞれを保存済みスクリプトとして取り込み、ワンクリックで実行し、信頼できると判断したら cron に渡して無人で走らせます。そこからさらに外へ — Apple ショートカット、Siri、frontierstack:// URL スキーム、そしてアプリ自身がスケジュールで行うアクションへと広がります。
本章は自動化の機械的な側面 — スクリプト、スケジュール、macOS の自動化の入口 — を扱います。知的な側面、つまりこれらのスクリプトをあなたの代わりに書き・保存し・スケジュールする AI は、第 13 章です。ここで扱うものはすべて、AI 管理者が自身の監査済みツールを通じて操作できるため、両章は同じ仕組みを両端から説明しています。
12.1Scripts & Cron ペイン
サイドバーから Scripts & Cron を開きます。保存済みスクリプトのライブラリとスケジューラが 1 か所にまとまっています。上部の Saved Scripts セクションには保存した全スクリプトが、名前と本文の冒頭行とともに並びます。各スクリプトには 4 つのボタンがあります — Run(今すぐ実行)、Schedule(後述の cron に渡す)、Edit(エディタを開く)、そして削除のゴミ箱アイコン。Add Script… で新規作成します。
保存済みスクリプトは、アプリが解釈する断片ではなく、ディスク上の本物の実行ファイル(シェル・PHP・Python)です。分かりやすい名前と、目的を記したメモを付けておけば、半年後の自分(あるいはライブラリを走査する AI 管理者)が、何をするスクリプトかをひと目で把握し、正しいものを選べます。保存されたファイルそのものが実行されるので、手で試したものが、そのままスケジュール実行されます。
各スクリプトは既定の This Mac、ローカルの Docker コンテナ、または名前を指定した連携サーバを SSH 経由で対象にできます。資格情報が必要な場合、スクリプトはローカルの .env ボールトの名前付きシークレットを環境変数($DB_PASSWORD、"$SSH_SUDO_PASS")として参照します。アプリは実行時に実際の値を注入し、その値がクラウドモデルに届くことは決してありません(第 13 章)。
12.2cron でのスケジュール実行
Cron Jobs セクションは、本物のシステム crontab への分かりやすいフロントエンドです — アプリが独自に考えた別物のスケジューラではなく、何十年も Unix で無人作業を走らせてきた、まさにその cron です。各行はジョブの名前、スケジュールの平易な説明(FrontierStack が 5 フィールド構文を翻訳します)、実行するコマンドを表示し、有効/無効の切り替えと、Run(今すぐ実行)・Edit・削除のボタンを備えます。
保存済みスクリプトの Schedule、または任意コマンド用の Add Job… を押すとスケジュールビルダーが開きます。頻度(毎時・毎日の指定時刻・毎週)を選ぶと、FrontierStack が crontab エントリを書き込み、自身のジョブには # AC: コメントを付けて後から名前で見つけ・更新できるようにします。AI 管理者でも同様で、list_cron がジョブを読み、schedule_cron が作成・更新します(同名のジョブがあればその場で更新)。
完全に制御したい場合は、ペイン下部の Edit raw crontab を展開します。これはテキストエディタで開いた標準の crontab で、FrontierStack 管理のジョブは # AC: コメントとして現れるため、どの行がアプリの所有かが分かります。手で編集して Apply を押します。
FS_TRIGGER、FS_LOCATION、FS_DEVICE、FS_DISK…)を環境変数として受け取ります。時刻は cron、イベントはトリガーが担当します。12.3同梱のサンプルスクリプト
FrontierStack は、実績ある定番の管理スクリプトを小さな読み取り専用ライブラリとして同梱しています。あなたのスクリプトではなく — その場で編集はできません — が、どれも全ソースを読んで学び、自分のライブラリにコピーして手を加えられます。Mac の Web スタック(とくに旧 macOS Server バックエンド)の実地の癖を踏まえているため、自作の前に 1 つ読んでおくと不意打ちを避けられます。AI 管理者も list_sample_scripts と read_sample_script でまず読むので、その生成スクリプトも同じ苦労から得た知見を受け継ぎます。
| スクリプト | 機能 |
|---|---|
apache_real_docroot | vhost が実際に配信しているドキュメントルートを特定 — 設定が主張する場所ではなく、Apache が実行時に解決する場所。 |
apache_url_matrix | vhost 上のパス一覧の HTTP ステータスを、本物のホストヘッダーで検査して報告 — どの URL が健全かをひと目で確認。 |
fleet_file_diff | 1 つのファイルのチェックサムをフリート全体で比較し、設定ドリフト — ある 1 台が静かに他と食い違った箇所 — を発見。 |
macos_httpd_vhosts | macOS Server バックエンドの vhost → docroot マップをダンプ — その旧スタックが何を配信しているかを正確に把握。 |
macos_web_restart | macOS Server の Web バックエンドを正しい手順で再起動 — 雑な apachectl ではなく、正しい順序で。 |
node_healthcheck | 1 つの vhost のフリートドリフト/ヘルスチェックをノード横断で実施。 |
php_opcache_check | OPcache の状態を CLI と Web SAPI の両方について報告 — これらは別々に設定され、ずれやすい。 |
12.4Apple ショートカット・App Intents・Siri
FrontierStack はネイティブの App Intents を備えます — macOS の ショートカットアプリ、Spotlight、そして(いくつかは)話せる組み込み Siri フレーズとして現れるアクションです。ホットキー・メニューバー・フォルダアクションから起動するショートカットに組み込めます。Automator からも利用可能で(Automator はショートカットや AppleScript を実行できるため)。出荷時のアクション:
| アクション | 機能 | 組み込み Siri フレーズ |
|---|---|---|
| Run Server Script | 保存済みスクリプトを名前で実行。 | — |
| Start / Stop Service Group | グループ内の全サービスを一括で起動/停止。 | “Start my servers with FrontierStack” |
| Restart Service | Apache・Nginx・MySQL・PostgreSQL を再起動。 | “Restart a service with FrontierStack” |
| Restart Docker Container | 名前指定したコンテナを再起動。 | — |
| Get Local Health | ローカルヘルスの要約(サービスの up/down)を返す。 | “Check server health with FrontierStack” |
| Apply Sidebar Preset | サイドバーを保存済みプリセットに切り替える。 | — |
| Flush DNS Cache | macOS の DNS リゾルバキャッシュをフラッシュ。 | — |
| Send Notification | アラートチャネル経由で通知を送信。 | — |
| Ask Server Assistant | AI 管理者に普通の言葉で質問し、回答をワークフローに返す。 | “Ask FrontierStack…” |
カタログはさらに広く — Get Server Status、List Servers、List Docker Containers、Check a Website などもショートカット作成に利用でき、組み込みの Siri フレーズを持たないものも含めて使えます。
12.5スクリプトからアプリを操作する
App Intents は本物のショートカットアクションなので、macOS の shortcuts コマンドラインツールでシェルから呼び出せます — 保存済みスクリプト、cron ジョブ、Automator の「シェルスクリプトを実行」、あらゆるランチャの中で便利です。FrontierStack のアクションを一行のショートカットに包み、shortcuts run "My Shortcut" で呼び出して、スクリプトの他の処理と連鎖させます。
この組み立ては AI 管理者に任せられます。ショートカット経由でアプリを操作する自動化スクリプトを頼むと、list_app_intents を呼んで利用可能なアクションと各々の正確な shortcuts run 呼び出しを把握し、save_script でスクリプトを作成(または schedule_cron でスケジュール)します。ヒントではなく、完成して実行可能なスクリプトが手に入ります。
12.6スケジュールされたアプリアクション
cron ジョブはシェルコマンドを実行します。スケジュールされたアプリアクションはそれとは異なり、アプリ自身がスケジュールで行うタスクで、保存した資格情報と、あなたや AI 管理者が使うのと同じ監査済みツールを用います — 生のシェルコマンドではありません。連携サーバの再起動、アプリが制御するローカルサービスの開始・停止・再起動、DNS のフラッシュを時間割で行うのに使います。schedule_app_action で管理し、list_app_actions で一覧でき、ペインの Scheduled App Actions に現れます。作成の自然な方法は AI 管理者に頼むこと — 「web-03 を毎晩 3 時に再起動」— そして承認することです。
cron との重要な違いが 1 つあります。アプリアクションは FrontierStack が起動している間だけ実行されます。アプリを通じて動作するため、アプリが閉じている間に期限を迎えたものは取りこぼします。一方 cron は、アプリが開いていようといまいと、システムレベルで実行されます。何があっても起こさねばならないことは cron を、アプリ自身の資格情報とツールで行わせたいことはアプリアクションを選んでください。
12.7frontierstack:// URL スキーム
すべてのペイン・サーバ・サイト・コンテナ・Cloudflare ゾーンに frontierstack:// のディープリンクがあります。AppleScript、Automator のシェルステップ、ランチャ、あらゆるスクリプトランナーから、open frontierstack://pane/Security のような一行で、アプリを前面に出して目的のペインへ直行します。ヘッドレスでアクションを実行するのではなく、特定の場所でアプリを画面に出したいときに、FrontierStack を既存のワークフローへ組み込む最速の方法です。URL スキームの完全なリファレンスは第 18 章にあります。
12.8バックアップ・ログ・変更ログの自動エクスポート
定型自動化の最後のピースは、FrontierStack 自身が生成したファイルをスケジュールで Mac の外へ出すことです。Backups の概要にある Auto-export to a folder セクションは、生成された成果物を選んだ任意のフォルダへコピーします — オフサイト保全のための Dropbox フォルダ、または独自の後続ルールを駆動する Hazel 監視フォルダへ。3 つのフィードが組み込まれています:
- 設定バックアップ — 構成バックアップの zip。
- 変更ログ — アプリを通じて行われた変更の記録。
- アプリログ — FrontierStack 自身のログの zip。
各フィードに間隔(毎時・6 時間・12 時間・毎日・毎週)を設定し、保存先フォルダを選び、必要なら Empty after export をオンにして、コピー後にソースをローテートできます(変更ログとアプリログに便利。際限なく肥大しません)。Export now はフィードを即時実行し、各フィードは前回の結果を表示します。ファイルは選んだフォルダに FrontierStack-<feed>-<timestamp> として置かれます。
これで機械的な道具一式がそろいました。保存して実行するスクリプト、それをスケジュール実行する cron とアプリアクション、ホットキーや音声で起動するショートカットと Siri、どこへでも飛べる URL スキーム、結果を箱の外へ送り出す自動エクスポート。次章では、これらすべてをあなたの代わりに書き・配線できるオペレータを紹介します — AI 管理者です。
第 13
AI 管理者
サーバを把握し、不具合を診断し、あなたの承認のもとで修正する、ツール使用アシスタント。秘密情報はモデルに渡しません。
AI 管理者 — AI ハーネス — こそが、FrontierStack を単なるコントロールパネル以上のものにしています。これはあなたの構成を正確かつライブに把握する、ツール使用アシスタントです。問題を普通の言葉で伝えると、読み取り専用の診断で原因を調べ、分かったことを説明し、実行前にあなたが承認する修正案を提示します。この Mac でも、SSH で連携したすべてのサーバでも動作し、パスワードを見ることは決してありません。本章では、その考え方、できること、安全に保つ方法を説明します。

.env 秘密ボールト、長期メモリ。13.1モデルを選ぶ
管理者は特定のベンダーに縛られません。ペイン上部で、駆動するモデルを選びます。
- FrontierStack AI — ゼロ保持サービスを利用できる場合の既定ハーネスエンジンです。自分の API キーは不要で、Enfour AI Cloud 経由で Qwen3 を実行します。FrontierStack AI サーバは現在ユーザに無料ですが、将来は有料サービスになる場合があります。上流キーとプロバイダ接続先は Enfour のサーバ内にあり、送信前に固定伏字化を行い、サービスはゼロ保持を証明する必要があります。最終ハーネス自体がゼロ保持のため、同じテキストを二重送信せず、別のクラウドプロンプトファイアウォール検査を省略します。ツール制限と操作承認は変わりません。
- クラウドモデル — 難しい診断や複数ステップの作業に最も適した選択肢。API キーを用意します(ローカル保存)。
- AI サブスクリプション(VibeProxy 経由) — Claude Pro/Max・ChatGPT Plus/Pro・Gemini・Kimi・Qwen・GitHub Copilot をすでに契約しているなら、これが推奨の選択です。VibeProxy がそれらのサブスクリプションをハーネスへ橋渡しし、同じフロンティアモデルがトークン課金なしで応答します — 従量課金の API キーはリクエストごとに課金されますが、契約済みのサブスクリプションに追加費用はありません。VibeProxy ペイン(第 15 章)からインストールできます。停止した場合、ハーネスは自動的に別のエンジンへ切り替えます。
- ローカルモデル — Mac 上で動く Ollama・LM Studio、または OpenAI 互換サーバ(LocalAI・Jan・llama.cpp)、さらに Apple Intelligence:Apple シリコン+macOS 26 のオンデバイス・ファウンデーションモデルで、ネイティブに、あるいは Apfel(AI モデルペインがインストール・起動し、ログイン時やアプリ起動時の自動起動も設定できるワンコマンド)経由で利用します。ローカルモデルは作業を完全オフラインに保ち — データは Mac の外に出ないため、下記の送信前検査は不要となり非表示になります。ローカルモデルの実行は第 15 章を参照。
- MCP 経由の自前サブスクツール — すでに支払っている定額プランの Claude Code・Claude Desktop・Cursor からアプリ全体を操作。トークン課金はありません。第 14 章で扱います。
13.2画像対応モデルにペインを確認させる
設定が FrontierStack 上に見えていても管理者のツールではそのコントロールを確認できない場合は、プロンプト上のスクリーンショットを添付…をクリックします。Qwen 専用ではなくモデルの機能で、対応する OpenAI 形式、Anthropic、ローカル Ollama の画像モデルへ適切な形式で送ります。対応状況が不明なカスタムモデルや経路にも試行できますが、接続先が画像を拒否する場合があります。
FrontierStack が画面を自動撮影することはありません。画像を 1 枚選び、送信用プレビューを先に確認します。最大 1,800 ピクセルに制限し、再描画してメタデータを除去し、macOS の文字認識をローカルで行って、保存済み資格情報、個人アカウント名、非公開フリート識別情報、秘密らしいトークンを含む行を黒く隠します。OCR は多層防御であり保証ではありません。対象ペインだけに切り取り、送信前にプレビューを確認してください。
13.3会話の流れ
同僚に指示するように依頼します — 「なぜサイトが 502 を返すの?」、「shop.example.com の証明書がもうすぐ切れるか確認して」、「db-02 の Postgres を再起動して」。管理者は次のループで動きます。
- 足場を固める。動く前に、実際の構成(サービスカタログ、連携サーバとデバイス、現在のヘルスボード)を把握し、一般論ではなくあなたのマシンに合った回答をします。
- 読み取り専用で調べる。ログを読み、診断を実行し、ポートや証明書を確認し、設定ファイルを調べます。何も変更しません。
- 説明し、提案する。分かったことを伝え、変更が必要なら、実行したい正確なコマンドやファイル編集を提示します。
- あなたが承認する。システムを変更するものは、その操作を承認するまで実行されません。承認後に修正を実行し、再確認します。
13.4信頼モデル:既定は読み取り専用
本章で最も重要な節です。管理者は、コントロールを失わずに本番サーバを任せられるよう設計されています。
| 設定 | 解除されるもの |
|---|---|
| (既定) | 読み取り専用。ログ・ヘルス・設定・診断などすべてを見られますが、何も変更できません。 |
| 変更を許可 | 変更を伴う操作(サービス再起動、ファイル書き込み、証明書発行、ファイアウォールのポート開放)を許可。各操作には依然として承認カードが出ます。 |
| スクリプトを許可 | 汎用シェルツールと保存済みスクリプトの実行を許可。スクリプトと平易な説明が実行前に承認のため表示されます。 |
これらのトグルの上に、2 つの原則があります。
- 操作ごとの承認。変更を許可していても、変更を伴うステップは必ず先に(実際のコマンドや差分が)表示され、その操作を承認するまで実行されません。場当たり的な変更に「すべて承認」モードはありません。
- リモート操作には個別の同意が必要。連携サーバを監視ヘルパー経由で操作するには、そのサーバ自身の「アクションを許可」スイッチ(Host Monitor ペイン、第 8 章)も必要です。
- 破損を伴うデータベース操作には高性能モデルが必要。データベースの修復・復元・再構築は取り返しがつかないため、FrontierStack はこれらのステップをフロンティアモデルにハードゲートします——小さなモデルやオンデバイスモデルでもログを読んで診断はできますが、高性能モデル(Claude Opus/Sonnet、GPT-4o/o シリーズ、Gemini Pro)に切り替えるまで、破損を伴うツールは拒否されます。
DELETE/TRUNCATE、データベース/テーブルの削除、対象を限定しない更新、ファイルの削除/上書き、ディスク消去、破壊的な保存済みスクリプト、cron ジョブ、イベントトリガは承認前に拒否されます。構造化されたファイル書き込みでは以前のファイルを退避します。vhost_remove は Apache/nginx の vhost を可逆的に無効にし、ドキュメントルートを保持します。名前付きバックアップから意図的に復元する操作だけは、別途厳しく制限されたローカル復旧フローで利用できます。13.5秘密情報のボールト
実運用には資格情報(DB パスワード、SSH の sudo パスワード、Cloudflare トークン)が必要です。FrontierStack はこれらをローカルの .env ボールトに保管し、モデルには決して見せません。
管理者の スクリプト秘密情報(.env) バーで名前付きの秘密を追加します — 例:DB_PASSWORD、CF_TOKEN、SSH_SUDO_PASS。アシスタントが必要なスクリプトを書くとき、参照するのは値ではなく名前です。
mysql -u root -p"$DB_PASSWORD" -e "SHOW DATABASES;"
実行時にアプリが実際の値を環境変数として注入します — ローカル、または対象サーバ上で SSH 経由で — しかもスクリプトが実際に参照する名前だけを注入します。モデルには(正しいスクリプトを書けるよう)秘密の名前は伝わりますが、値は決して渡らず、コマンド出力は送信前に秘密情報が伏せられます。
- シェル:
$NAME/"$NAME" - PHP:
getenv('NAME') - Python:
os.environ['NAME']
PROD_DB_PASSWORD、STAGING_DB_PASSWORD、サーバごとの BALTHAZAR_MYSQL_PW など。アシスタントは対象に合う名前を選び、対応が曖昧なら推測せず尋ねます。13.6プロンプトファイアウォール
プロンプトファイアウォールは、FrontierStack の常時オンの固定伏字化に加える任意の意味検査です。Ollama または対応するローカル OpenAI 互換モデルを使うこの Mac 上か、明示的に Enfour AI Cloud を選びます。検出時は、警告して確認、自動伏字化、送信ブロックのいずれかを行えます。
オンデバイス検査はすべてこの Mac 内で完結します。Enfour AI Cloud に渡るのは、既知の認証情報・ユーザ名・プライベートアドレス・秘密らしいパターンを FrontierStack が除去した後のテキストだけです。現在はユーザに無料です。クラウドサービスは毎回ゼロ保持を証明する必要があり、証明またはサービスが失われた場合は未検証となり、ブロックモードでは送信を停止します。上流プロバイダのキーと接続先はアプリへ渡らないため、Enfour は新しいキーを配布したりアプリに任意の接続先を指定したりせず、将来プロバイダを変更できます。
13.7管理者にできること:ツール
アシスタントは監査済みの固定されたツールを通じてのみ動作します。各ツールはガード付きで、読み取り専用ツールは常に動作し、変更ツールは上記トグルと承認を要します。役割別に示します。
| 領域 | 代表的なツール |
|---|---|
| 把握・足場固め | app_capabilities(管理対象)、search_app_help(FrontierStackの設定・コントロールに関する現在のヘルプ)、list_targets(サーバとデバイス)、get_server_health、get_location、get_sidebar_state |
| 診断(読み取り専用) | diagnose(ping・dig・curl・netstat・df・ps…)、read_logs/tail_log、security_audit、port_check、cert_expiry_check、whois_lookup、ip_analysis、metrics_snapshot、php_test/python_test |
| サービス制御 | service_action(Homebrew サービス)、repair_service、reload_webserver、restart_app、monitor_action(サーバのヘルパー経由)、reboot_host |
| Web とデータベース | list_sites/read_site_file/write_site_file、vhost_create/vhost_remove、list_databases/run_sql、db_dump/backup_now/restore、issue_certificate |
| ネットワークと境界 | firewall_rule、flush_dns、dns_record(Cloudflare)、router_info(状態・ヘルス・セキュリティ兆候)、reboot_router、open_web_ui、discover_devices/pin_device、internet_speed |
| メールセキュリティ | email_auth_dns(SPF/DMARC/DKIM)、harden_mail_postfix、test_open_relay、generate_dkim_key、install_mail_cert |
| セキュリティテスト | strix_status(Strix の導入状況・スキャン履歴・所見を読む)、strix_scan(許可済みのペネトレーションテストを実行)、strix_control(停止・再実行・再起動・消音)— 操作系の 2 つはローカル専用 |
| ファイルとシェル | read_remote_file/write_remote_file/upload_file、そして run_script — この Mac または任意の連携サーバ上の汎用シェル |
| スクリプトとスケジュール | list_scripts/run_saved_script/save_script、schedule_cron、schedule_app_action、list_sample_scripts |
| メッセージング | get_messaging_channels、send_notification、get_alert_errors |
| ナレッジ | list_skills/load_skill、list_notes/read_note、obsidian_search/obsidian_read_note、remember/list_memory/forget |
| アプリ自体 | open_pane、set_pane_visible、manage_palette、set_services_visible — アシスタントがサイドバーを案内・再構成できます |
汎用の run_script ツールはアシスタントのシェルです。固定ツールでカバーされないことは、小さく読みやすいスクリプトを書いてあなたに承認を求めて実行します。リモートサーバでは 2 段階で動きます — まず読み取り専用のテストスクリプトで問題を特定し、次に最小限の修正、そして再テストで確認します。
13.8スキル・ノート・メモリ
3 つの機能により、管理者は一般的な既定値ではなくあなた自身の知識から作業します。
13.11.1スキル
スキルは厳選された複数ステップのプレイブックです — フリートのセキュリティ監査、Web スタックの再起動手順など。AI Skill Manager で管理します。アシスタントは(名前だけで)安価に一覧し、必要なときにそのフル手順を読み込むため、即興ではなくあなたが承認した手順に沿って作業します。
13.11.2AI と共有したノート
ノートペイン(第 3 章)には資格情報・ランブック・手順を保管し、各ノートには既定でオフのロックが付きます。アシスタントが読めるのは、AI と共有で明示的にロック解除したノートだけです。存在を知るためにタイトルは見え、本文は作業に必要なときだけ読みます。
13.11.3長期メモリ
「LINE が私の優先チャネルだと覚えて」や「週末はメッセージを送らないで」と伝えると、ルールを永続的な memory.md に保存し、今後のセッションでも守ります。メモリはいつでも一覧・削除できます。
13.9この Mac とフリート
ほぼすべてのツールはターゲットを取ります。省略するとこの Mac で実行され、連携サーバ名を指定すると、同じ診断・ログ読み取り・スクリプト・修正がそのサーバで SSH 経由で実行されます(読み取り専用ツールは読み取り専用のまま)。だから 1 つの会話が 「この Mac のディスクを確認」から 「同じことを web-01 と edge-03 でも」へ滑らかに移れます。サーバ連携とホスト監視ヘルパーは第 8 章で扱います。
特権作業の前に、ハーネスは選択したターゲットの秘密を含まないアクセス状態を読みます。連携サーバでは SSH/root/sudo パスワードが FrontierStack のキーチェーンに保存済みかを示します。モデルに届くのは利用可否だけで、値は決して届きません。この Mac では、承認済み特権ヘルパーが使えるか、または対応する操作で通常の macOS 管理者パスワード入力が表示されるかを示します。アクセス可能なら、アシスタントは説明だけで止まらず、あなたの承認後に限定ツールを試します。自由記述の AI スクリプトには、サーバの保存済みパスワードは自動で渡されません。
13.10カスタム指示と履歴
カスタム指示エディタ(第 17 章)で、アシスタントの恒常的な振る舞い(文体、要約の仕方、常に望む既定)を整えられます。過去の会話は履歴メニューに残るので、調査に戻ることができ、アシスタントは中断したところから再開できます。
13.11実例
全体像をつかむため、典型的なやり取りを示します — 「ショップが 502 で落ちている。」
アシスタントはget_server_healthを呼び、web-01 で Apache は稼働、PHP-FPM が停止していると分かります。read_logs(ターゲット web-01)で PHP-FPM のログを読み、設定編集後にプールが起動していないことを突き止めます。問題の行を示し、write_remote_fileでwww.confへの 1 行修正を提案し、— あなたの承認後 —reload_webserverでリロードし、ループバックでサイトを再確認。復旧。希望すればsend_notificationでチームに復旧の一報を送ります。
その間、パスワードはモデルに届かず、すべての変更はあなたの承認を待ち、全体があなたが手作業でできること — ただより速い — でした。
第 14
MCP と自前 AI からの操作
FrontierStack を MCP サーバとして動かし、Claude Code・Cursor などの MCP クライアントからサーバを操作。すでに支払っている定額プランで、トークン課金なし。
第 13 章ではアプリ内蔵の AI 管理者を扱いました。本章は逆方向 — すでに使っている AI ツールに FrontierStack を公開する話です。FrontierStack は自身が MCP サーバとして動作するため、外部のハーネス(Claude Code・Claude Desktop・Cursor・Codex など Model Context Protocol クライアント)からアプリ全体を操作できます。同じガード付きエグゼキュータ、同じ承認カード、同じ「既定は読み取り専用」の姿勢を — あなたのエディタやターミナルから。
14.1なぜ MCP で FrontierStack を操作するのか
主な理由は 2 つです。
- 従量課金の AI 請求がない。ハーネスが自分のサブスクツール(Claude プランの Claude Code、Cursor のシート)なら、AI はすでに支払っている定額プランで動きます。サーバ操作にトークン課金は発生しません。
- コードとインフラを 1 つのエージェントで。エディタにいるコーディングエージェントが、そのコードが動くサーバを調査・操作できます — 本番ログを読む、サービスを再起動、証明書を確認、マイグレーションを実行 — 作業中のツールを離れずに。
14.2仕組み
FrontierStack はツールレジストリを MCP 経由で公開し、サーバを localhost にバインドして必須のトークンで保護します。クライアントからのツール呼び出しは、内蔵の管理者が使うのと同じエグゼキュータに渡り、ライブのアプリ状態に作用します — だからコーディングエージェントは、コピーではなく実際のサービス・サイト・フリート・ヘルスを見ます。安全モデルは第 13 章と同一です。
- 許可するまで読み取り専用。MCP の面は、変更とスクリプトを有効化するまで読み取り専用のままです(アプリ内アシスタントと同じ)。
- 変更のたびに同じ承認カード。Cursor や Claude Code からの変更ツール呼び出しは、アプリ内リクエストと同じ承認を FrontierStack に出します。
- 秘密情報は Mac を出ない。ボールトの挙動も同じで、スクリプトは名前を参照し、値は実行時に注入され、モデルには決して送られません。
初めて接続するエージェントにもFrontierStack自体を説明します。読み取り専用のsearch_app_helpツールはアプリ作成のヘルプ索引だけを検索するため、外部ハーネスも任意のファイルへアクセスせずに、設定場所やコントロールの意味を回答できます。frontierstack://manualリソースは、英語/日本語のデスクトップ版とiPhone/iPad版マニュアルの正規URLを返します。どちらもMCPディスカバリで案内されます。
ステートレスMCPが既定です。FrontierStackはMCP 2026-07-28に対応し、各HTTPリクエストがプロトコル版・クライアント機能・ルートを運ぶため、隠れたセッションやMcp-Session-Idは不要です。server/discoverはサーバ機能とキャッシュ情報を返します。まだ新しい版に移行していないClaude Code・Cursorなどのため、所有者専用のKeychainブリッジは従来のinitialize方式も維持します。ベアラートークンをクライアント設定へ書き込むことはありません。
14.3MCP サーバを有効化する
初回接続時、FrontierStack は MCP サーバの起動を提案します。自分で有効化することもできます。
- FrontierStack の MCP 設定を開き、MCP サーバをオンにします。
localhostにバインドし、トークンとエンドポイント URL を表示します。 - ペインでクライアント(Claude Code・OpenAI Codex CLI・Cursor・Gemini CLI・Claude Desktop)を選び、用意されたコマンドまたは設定をコピーします。ウェブの MCP ページにも同じスニペットがあります。
- あるいはワンクリックの「追加」ボタンで、そのクライアントの設定ファイル(
~/.codex/config.toml・~/.cursor/mcp.json・~/.gemini/settings.json・Claude Desktop の設定)に直接書き込めます。MCP はオープンな標準なので、他のどの MCP クライアントでも接続できます。 - ツールで会話を始め、FrontierStack のツール一覧やフリートを尋ねて接続を確認します。
インストール済みのfrontierstack CLIも既定でステートレスMCPを使います。frontierstack discoverでプロトコルと機能を機械可読形式で確認でき、frontierstack infoは推奨するステートレス版と対応する従来版の両方を表示します。
別のMCPサーバペインでは、新旧どちらのサーバも管理できます。「自動」は最初にserver/discoverを試し、必要な場合だけ従来のinitializeへ切り替えます。HTTPサーバが対応を実証した場合だけ、一覧に緑のステートレス表示が出ます。stdioサーバは外部クライアントがプロセスとハンドシェイクを管理するため、明示的にステートレスとして設定できます。
localhost のみで待ち受けます。トークンはパスワードと同様に扱ってください。別デバイスから到達するには、ポートを公開せず、正しくペアリング(次節)してください。14.4署名付きリクエストとデバイスペアリング(FS1)
コントロールサーバと MCP サーバは、ベアラートークンと TLS の上に、デバイスごとの署名付きリクエスト層 — FS1 — を追加します。各ペアリング済みデバイスは独自の Ed25519 秘密鍵を持ち、すべてのリクエストに署名します。FrontierStack は承認済みデバイスに対して署名を検証するため、トークンが漏れただけでは何も操作できません。
- デバイスごとのスコープ。各デバイスには読み取り専用〜フルコントロールのスコープを Mac で付与します。
- ワンタップ失効。デバイスを削除すれば即座に遮断され、他には影響しません。
- これは iPhone/iPad アプリのペアリングと同じ仕組みです — モバイル版マニュアルと、第 10 章の信頼モデルを参照。
14.5外部 AI ジョブ
ライブの MCP に加え、FrontierStack はサブスクの AI CLI にジョブを渡すことができます — タスクをまとめてローカルの Claude(など)にあなたのプランで処理させ、結果をアプリに戻します。これにより、重め・長時間の分析を従量課金なしで実行でき、Data Map(ロケーションごとのデータフロー図)と組み合わせてエージェントに必要な文脈を与えます。外部 AI ジョブは AI スタック(第 15 章)から管理します。
14.6MCP 経由のスキル・ノート・メモリ・Obsidian
外部ハーネスは、内蔵管理者と同じナレッジ面に、同じゲートのもとで到達します。
- スキル — 厳選したプレイブックを発見・オンデマンド読み込み。
- 共有ノート — 「AI と共有」で解除したノートのみ読み取り可能。
- 長期メモリ — 設定や恒常ルールの同じ
memory.md。 - Obsidian — Obsidian ボールトを連携していれば、SOP やランブックを検索し、文書化された手順に従えます(第 12 章)。
14.7フリートスキル — あらゆるエージェント向けのポータブルな文脈
MCP サーバはエージェントにフリートを操作させます。フリートスキルはもう半分 — エージェントが何かに触れる前にあなたの環境を教える静的な文脈です。フリートスキルペインは SKILL.md を生成します。サーバとその役割・OS・サービス・到達方法、ネットワークの場所、KVM と電源ソース、そしてあなた自身のルールと設定の自由記述 — すべてシークレットを除去した上で。これを読んだエージェントは、当て推量ではなく正しいホストを選び、正しい経路を使い、あなたの慣習を尊重します。
~/.claude/skills/fleet/SKILL.md に書き込まれ、Claude Code が自動的に検出します(フロントマターの description: が、そのスキルがいつ関連するかをモデルに伝えます)。MCP 接続エージェントは get_fleet_context ツールで同じ内容を取得でき、その慣習を読む CLI 向けに任意で ~/AGENTS.md も出力できます。自動更新をオンにすると、フリート・場所・KVM が変わってから数秒後にスキルが書き直され、実態からずれません。
地図とリモコンの違いだと考えてください。MCP はリモコン — ライブで認証済み、実行できます。スキルは地図 — セットアップ不要でポータブル、どのエージェントにも安全に渡せ、有能なツールが「正しいやり方で誤ったこと」をするのを防ぎます。
14.8どれをいつ使うか
| 使うもの | こんなとき |
|---|---|
| 内蔵 AI 管理者(第 13 章) | 承認カードやコストモニタも含めすべてを 1 つのウィンドウで完結させたく、モデル/キーを用意する、またはローカル実行で構わないとき。 |
| MCP 経由の FrontierStack(本章) | すでに Claude Code や Cursor で作業しており、コードとサーバを 1 つのエージェントで扱い、サブスクでトークン課金を避けたいとき。 |
| 外部 AI ジョブ(第 15 章) | タスクが重い・長時間で、対話的に実行するよりサブスク CLI に渡したいとき。 |
3 つとも同じガード付きツールと同じライブのアプリ状態に到達します。作業しやすい場所で選んでください。安全性の保証は変わりません。
第 15
AI スタック
AI のもう一つの側面 — サーバを操作するアシスタントではなく、サーバが動かす AI インフラそのもの。エージェントランタイム、ローカルモデル、サンドボックス、GPU、そしてその費用までを、ひとつの画面から見守ります。
前の 2 章は AI が FrontierStack を操作する側でした — 組み込みの管理者(第 13 章)と、自分のツールから MCP 経由でアプリを操作する話(第 14 章)です。本章はその逆です。FrontierStack が実行・監視を手助けする AI インフラそのもの — エージェント基盤、ローカルモデルサーバ、コードサンドボックス、ブラウザ自動化、GPU ファブリック、ML ツール、ガバナンス、そしてそれら全部の費用を扱います。これらは他と同じカタログ上のサービスで、サイドバーの AI 系カテゴリーにまとまっていますが、AI を動かすことが「呼び出す箱」ではなく「運用するスタック」になった今、独立した一章に値します。
15.1エージェント基盤ボード
サイドバーからエージェント基盤(Agent Platforms)を開くと、FrontierStack が把握するすべての AI エージェントランタイムが、行ごとのライブ状態ドット付きで一覧されます。ヘッダーには例えば「3 / 7 running」 — 設定済みランタイムのうち到達可能で稼働中の数 — と表示されます。各行は、稼働状態、提供しているモデル、そしてランタイムが報告していればエージェント数・トークン・アクティブセッションを示します。AI ツール get_agent_platforms はまさにこれを管理者に公開するので、「どのエージェントランタイムが落ちている?」と普通の言葉で尋ねられます。
ランタイムは 2 種類です。一つは CLI ランタイム — コマンドラインツールがインストールされ(かつ --version に応答する)ことで検出されます。コーディングエージェントの Claude Code・Gemini CLI・OpenAI Codex、そして Factory の droid です。もう一つは状態エンドポイントを公開し、ライブメトリクスをポーリングする HTTP ランタイムです。いくつかのクラウドエージェント製品(OpenHands・Manus・Devin・OpenAI Operator・E2B)は、ポーリングではなく接続するカタログ項目として下部に並びます。
| プラットフォーム | 何か |
|---|---|
| OpenClaw | セルフホストのエージェントランタイム。稼働状態とモデルを監視。 |
| Hermes | HTTP でポーリングされ、状態・モデル・セッションを表示するランタイム。 |
| DeerFlow | ディープリサーチ/多段エージェントランタイム。 |
| LangGraph Platform | グラフベースのエージェントオーケストレーション。状態とモデルをボードに表示。 |
| CrewAI Enterprise | マルチエージェント「クルー」ランタイム。 |
| Microsoft AutoGen | マルチエージェント会話フレームワーク。 |
| Genspark | 自律型エージェント基盤。 |
| Agent Zero | 汎用の自律エージェント。 |
| NVIDIA NemoClaw | NVIDIA のエージェントランタイム。 |
| OpenAI Codex / Claude Code / Gemini CLI / Factory Droid | コーディングエージェント CLI。インストール+バージョンで検出され、オンデマンドとして表示。 |
設定済みランタイムはより広いシステムに連動するため、ランタイムが停止したり、トークンのクォータ(レート制限・429・課金)に達したりすると、アラートが上がり、Local Health ボードの services グループに赤で表示されます。各ランタイムのエンドポイントと資格情報を一度設定すれば、以後は他のサービスと同様に監視されます。
15.2Registry・Task Queue・Model Router・Connectors
4 つの関連ペインが、同じライブのランタイム状態を読みながら、エージェントフリートを関心ごとに分解します。
- Agent Registry — マスター一覧。すべてのランタイムに加え、カタログのクラウドエージェント製品を、トークンが Keychain にあるものには「資格情報保存済み」マーカー付きで表示。FrontierStack が会話できるすべてを 1 か所で見られます。
- Task Queue — 各ランタイムにまたがるアクティブなエージェントセッションと実行。呼び出しごとの CLI(Claude Code・Gemini・Codex・Factory)は、デーモンではなくタスクごとに起動するため「on-demand」と表示されます。
- Model Router — 各ランタイムが使うモデルと API キー。報告されたモデルと必要なプロバイダキーを読み、そのキーが存在するかを示します(キーの編集は AI Models)。ランタイムが意図したモデル — そして費用 — に向いているか確認できます。
- Repository Connectors — エージェントが読み書きできる Git プロバイダ。GitHub・GitLab・Bitbucket の個人アクセストークンを取り込むと(Keychain 保存)、FrontierStack が
/userへのライブ到達性チェックを実行し、エージェントが必要とする前に資格情報が有効か分かります。
エージェントランタイムとコネクターは、一度保存した資格情報で認証します。FrontierStack の他の場所と同様、これらのトークンは macOS Keychain に置かれ、アプリの設定ファイルには入らず、クラウドモデルに送られることもありません。
/user チェックはトークンが有効かを確認するだけで、トークンが何をできるかは制限しません — それは GitHub/GitLab/Bitbucket 側で設定する PAT のスコープです。15.3Agent Sessions と組み込みターミナル
Agent Sessions は、自分で作る目標駆動の運用・SaaS ループのマネージャです — ヘッダーが言うとおり「one-shot or recurring(1 回/繰り返し)」。セッションは、普通の言葉の目標、タイトル、ステップ予算、そして変更を許可するかのスイッチを持ちます。1 回だけ実行するか、繰り返しに設定(間隔が経過すると再実行)してスケジュール監視します。各セッションは管理者(第 13 章)と同じガード付きツールを動かし、各ステップを、いつでも停止できるトランスクリプトに流します。セッションループからスクリプトは決して許可されません。「このエンドポイントを監視して止まったら再起動」や「毎朝、在庫を突き合わせる」といったエージェントの居場所です。
FrontierStack は、エージェントの隣でシェルが欲しいときのために、本物のターミナルも内蔵します。エンジンは SwiftTerm で、PTY 内でログイン zsh を実行します。スタイルも変えられます — Terminal Style で、iTerm2(.itermcolors)・Ghostty・汎用の Alacritty/Warp の key-value ファイルからカラーテーマをインポートでき、内蔵の dark・light・Solarized テーマに重ねられます。このターミナルはエージェントループのコンソールと同じエンジンなので、見えるものとセッションが実行する環境が一致します。
15.4ローカルモデルを動かす
クラウドモデルに何も送らない選択も可能です。FrontierStack はローカル推論サーバを管理し、管理者をそのうちの一つに向けられます。主要なローカルアプリ 3 つは一級市民です。
- Ollama — 最も手軽なローカルモデルランナー。モデルを取得・提供し、管理者のエンジンとして選択できます。
- LM Studio — LM Studio ペインがインストールを検出し、
lmsCLI でロード済みモデルとダウンロード済みを一覧。ヘッダーに「N models loaded」または「no model loaded」を表示します。 - VibeProxy — これだけ性質が異なり、モデルランタイムではなくすでに契約している AI サブスクリプションへの橋渡しです。Claude Code・ChatGPT・Gemini・Kimi・Qwen・GitHub Copilot・Z.AI GLM を一度接続すれば、従量課金の API キーなしでそれらのモデルがハーネスの選択肢に現れます。VibeProxy ペインは Homebrew でのインストール、起動と停止、通常どおりの Group Start/Run at startup 設定、そしてリクエストログとアカウント状態を見る CLI Proxy API ダッシュボードの起動を提供します。
- LocalAI — ポート 8080 のカタログサービスとして動かす、セルフホストの OpenAI 互換サーバ。
これらの他にも、AI / LLMs カテゴリーはセルフホスト推論の棚一式を備えます — vLLM・llama.cpp・Apple の MLX-LM サーバ・Jan・LiteLLM(100 以上のプロバイダをまとめるプロキシ)・Open WebUI・AnythingLLM・PrivateGPT、RAG/ベクトルツール。ローカルで動かす意義はプライバシーと費用です — 管理者のエンジンがローカルモデル(Ollama・ループバックのエンドポイント・Apple のオンデバイスモデル)のとき、Mac から何も出ないので何も秘匿されません — クラウドエンジンを守る秘密情報のスクラブが、そもそも不要なのです。
15.5コードサンドボックスとブラウザ自動化
エージェントには、コードを安全に動かす場所と、ライブな Web を読む手段が要ります。FrontierStack はその両方を管理します。
コードについては、E2B ペインが e2b CLI 経由でセキュアなクラウドサンドボックスを管理します。API キーを入力(Keychain に E2B_API_KEY として保存、または e2b auth login で一度認証)し、一覧・テンプレートからの起動・実行中サンドボックスのkillができます — 後片付け用の Kill All と「一時停止を含める」トグル付き。緑のドットは稼働中、オレンジは一時停止。エージェントが使う、使い捨ての隔離マシンで、そのコードがサーバに触れることはありません。
Web については、AI カテゴリーがブラウザ・クロールツールを含みます — Browserbase(マネージドのヘッドレスブラウザ)・Crawl4AI・Firecrawl・Apify(サイトをモデル向けの整ったテキストに変換)、そしてスクリプト自動化の Playwright。API のないページにもエージェントの「目」を与えます。
15.6GPU インフラとクラスタ
AI が実 GPU 上で動くなら、GPU Fabric ペインがハードウェアの読み取り専用ヘルスを提供します。連携サーバを選び、SSH で診断を実行します — GPU の構成と温度(nvidia-smi)、NVLink 状態、GPU トポロジー行列、NVSwitch Fabric Manager の健全性、DCGM インベントリ(dcgmi)、InfiniBand と RoCE/RDMA リンク、Slurm の GPU 割り当て、コンポーザブルファブリック CLI(WEKA・Liqid・GigaIO)。GPU は Linux ホスト上にあるため、これはフリート内のサーバを対象とします。GPU のないマシンではツールが単に「not found」と報告します。チェックを 1 つ実行するか、Run All Checks で一括実行します。
ホストの GPU 温度と負荷は、エージェントを入れていれば標準のホストモニタ(第 8 章)でも表面化するので、過熱した GPU ボックスは他のマシンと同様にアラートを上げます。スケールアウトには、AI Clusters カテゴリーが Exo(複数の Mac で 1 モデルを実行)・Petals・Distributed Llama・Ray・Slurm・Run:ai を、ML Workbench カテゴリーが学習側の実験管理・パイプラインツール(MLflow・ClearML・Weights & Biases・Kubeflow・JupyterLab)を備えます。
15.7AI ガバナンスと安全性
本番でエージェントを動かすとは、何をするかを見張り、何ができるかを縛ることです。FrontierStack は AI Governance & Safety の棚をカタログ化し、これらのツールが監視対象のランタイムの隣に並ぶようにしています — LLM 可観測性・トレーシングの Langfuse・Helicone・Arize Phoenix、評価・レッドチーミングの Promptfoo・Ragas・garak、入出力検証とプロンプトインジェクション防御の Guardrails AI・NeMo Guardrails・Lakera Guard、そして Credo AI や Holistic AI などのガバナンス基盤。カタログサービスとしてインストール・監視します — 上のボードのエージェントにとっての監査証跡とシートベルトです。
15.8AI コストモニタ
アシスタント、自作エージェント、複数のローカルモデル、外部ハーネスを使うと、費用は複数の場所に分散します。AI Model Costs はそれをひとつの画面に集約します。ヘッダーは今月の合計と予算に対する割合を表示し、色分けバーは 80% でオレンジ、100% で赤になります。AI ツール get_ai_costs は同じ数値を管理者に公開します。
ダッシュボードは 3 つの流れを一緒に追跡します。
- 従量 API 課金 — プロバイダ・モデル別。編集可能な価格表(100 万トークンあたり USD)から計算するか、請求書から直接入力。Connect Accounts は OpenAI・Anthropic・OpenRouter・DeepSeek、そしてセルフホストの LiteLLM プロキシから月初来の費用を自動取得します — プロバイダごとに複数アカウント、それぞれ独立した費用行。
- 定額サブスク — ChatGPT Plus・Claude Pro/Max・Cursor・Perplexity・T3 Chat など — 月の合計に組み込み、独自のスライスとして表示。削除せずにトグルで除外できます。
- ローカル CLI 使用量 — この Mac の Claude Code と Codex のログをワンクリックでスキャンし、モデル別に今月のトークンを推定として集計。
プロバイダ別の内訳(ドーナツチャート)、予算ラインを引いた 6 か月トレンド、そして費用を費用最適化アドバイザーに渡す Ask AI ボタンが、これを締めくくります。請求ヘルス監視は、接続済みの有料サービスをクレジット切れ・上限到達・支払い遅延・アカウント停止についてプローブし、アラートを上げます — キーが止まろうとしているのを、止まる前に捉えます。
第 V
ビジネスとリファレンス
FrontierStack を業種に合わせて作り替え、そして実務の締めくくり:設定、ライセンス、アップデート、ショートカット、トラブルシューティング。
第 16
ビジネスと業種別ソリューション
FrontierStack は 1,000 を超えるサービスの言葉をすでに話せます。プリセットは、あなたの事業に効く一握りだけを浮かび上がらせ、いくつかのペインがそれを実働するバックオフィスに変えます。
第 6 章のカタログはあえて巨大です。グラフデータベースとレンダーファームとホテルのチャネルマネージャを同時に動かす事業はありません — ですから本章の狙いは幅ではなく絞り込みです。FrontierStack にはプリセットと保存済みのセットアップがあり、関係ないものをすべて隠し、特定の業種が実際に必要とする十数個のサービスだけを浮かび上がらせます。本章では、アプリが調整済みの業種をたどり、それぞれが明らかにするサービスを示します。
新製品ではなく、レンズだと考えてください。これまで見てきた Web スタック・監視・スクリプト・AI 管理者は変わりません。プリセットは、最初に何を見せるかを決めるだけです。
16.1プリセット・セットアップと業種のレンズ
アプリを仕立てる仕組みは 2 つです。プリセットは組み込みの出発点です。プリセット ▸ ドロップシッピングやプリセット ▸ スモールビジネスを選ぶと、サイドバーがその業態に合わせて作り替わります — 適切なサービスカテゴリが現れ、厳選された監視ペインがフロート表示され、残り 900 のサービスのノイズは退きます。セットアップはその表示のあなた自身のスナップショットです(どのサービスを表示し、何をピン留めし、フローティングパレットの配置、そして任意で紐づけるネットワークロケーション)。セットアップペインで作成し、第 3 章のとおりプリセットメニューから切り替えます。
以下のどの業種でもワークフローは同じです。プリセットを適用し、実際に使う 2、3 個のサービスを設定し(API キーを貼る、チャネルを有効化する)、結果をセットアップとして保存して、「すべて表示」へ寄り道した後でも戻れるようにします。
16.2スモールビジネスのプリセット
これは macOS Server の古典的な用途を現代化したものです。1 台の Mac mini が、店舗・スタジオ・事務所のバックオフィスを動かします。スモールビジネスプリセットは、店舗が依存するカテゴリを明らかにし、そのいずれも目の前の Mac でセルフホスト可能で、パート II〜III のバックアップ・監視・堅牢化がその下を支えます。
| 用途 | 表示されるサービス |
|---|---|
| POS | Square(組み込みペイン)、Toast、Lightspeed、Floranext |
| CRM・ロイヤルティ | SuiteCRM、EspoCRM、Odoo CRM(セルフホスト);HubSpot、Zoho、Pipedrive;Square Loyalty、VoucherVault |
| EC・CMS | WooCommerce、Medusa、Saleor;WordPress、Drupal、Ghost;Stripe/PayPal/Square 決済 |
| メーリングリスト | Listmonk、Mautic(セルフホスト);Mailchimp、Brevo、SendGrid |
| メールサーバ | 組み込みのメールサーバペイン、mailcow、Modoboa、SPF/DKIM/DMARC ツール付き |
| カレンダー | Radicale、Baïkal、SOGo(CalDAV/CardDAV);カレンダーヘルスペイン |
| 会計 | ERPNext、Xero、QuickBooks、freee、Money Forward |
| ヘルプデスク | Zammad、osTicket(セルフホスト);Freshdesk(チケット数のライブ表示) |
これらの多くは、単なるカタログ項目以上です。シンプルなキーベース API を持つ CRM・ヘルプデスク・ストア・メーリングリストのサービスは、ペイン内にライブ指標を表示します — Freshdesk は未対応/保留/期限超過のチケット、Shopify は未完了注文、Mailchimp は購読者数 — そして「アラート」をしきい値付きで有効にすれば、滞留がいつものチャネルに届きます(第 11 章)。
16.3ホスピタリティと短期賃貸
バケーションレンタルや小規模ホテル向けに、FrontierStack には組み込みのチャネルマネージャペイン(カテゴリ PMS)があり、物件管理プラットフォームをライブダッシュボードに変えます。これはホスピタリティプリセットの心臓部です。
チャネルマネージャを開き、PMS Health で使っているプラットフォームを 1 つ有効化し、資格情報を貼ります — 入力欄のラベルはプラットフォームごとに変わります。Hostaway は Account ID、Lodgify は API キー、Guesty は client ID+シークレット、Cloudbeds は Bearer トークン、Beds24 は API トークン、自作の AppSheet アプリなら Application Access Key。Check で API エンドポイントの到達性を確認し、Sync でライブ予約を取得します。Reservations(Platform API)セクションがゲスト・チャネル・日付・金額を一覧し、上部に売上と稼働率ダイヤルが出ます。
すべての OTA にプラットフォーム API が要るわけではありません。Calendar Sync セクションは各チャネルの iCal エクスポートを取り込みます — チャネルに iCal URL を指定するか、Import from ICS Feeds で ICS Feeds ペインに追加した Airbnb・Booking.com・Vrbo・Expedia のフィードを引き込みます — API キーなしで 1 つのカレンダーに統合し、結合した .ics を Save または Copy して Apple・Google・Outlook へ共有できます。
清掃が輪を閉じます。Cleaning & Turnovers — Turno セクションは Turno の API を直接接続するか、より簡単に Copy reservation iCal for Turno で予約カレンダーを渡します — そのカレンダーを Turno に追加すれば、チェックアウトごとに清掃を自動手配します。
16.4ドロップシッピングと EC のフルフィルメント
ドロップシッピングプリセットは、目的に特化した 5 つのカテゴリ — 仕入れ・サプライヤ、プリントオンデマンド、配送・フルフィルメント、在庫同期、利益分析 — を EC プラットフォームと SEO ツールとともに表示し、ドロップシッピングヘルス監視をフロート表示します。
| 段階 | 表示されるサービス |
|---|---|
| 仕入れ・サプライヤ | AliExpress、Alibaba、CJdropshipping、Spocket、Zendrop、SaleHoo、DSers |
| プリントオンデマンド | Printful、Printify、Gelato、Gooten |
| 配送・フルフィルメント | AfterShip、ShipStation、Easyship、Shippo、Pirate Ship |
| 在庫同期 | SkuVault、Cin7、Zoho Inventory、Katana |
| 利益分析 | Triple Whale、Lifetimely、BeProfit |
ライブな部分は配送追跡です。ドロップシッピングヘルスは AfterShip の追跡 API を直接読み(キーは一度保存)、配送を状態別に集計します — 輸送中・配達済み・保留、そして滞留や例外フラグのものを問題リストに — 顧客がメールを送ってくる前に、止まった荷物が浮かび上がります。在庫・マーケットプレイス・利益のセクションは、対応するカタログサービスを接続すると点灯する枠です。現在ライブ接続済みは AfterShip で、他は各自のペインから到達できます。
16.5教育
学校やキャンパスは、別のカテゴリ群にまたがって動いています。単一の「教育プリセット」ボタンはありませんが、カタログがきれいにまとめており、セットアップで貴校が使うものだけを正確にピン留めできます。
| 機能 | 表示されるサービス |
|---|---|
| 学籍情報(SIS) | PowerSchool、Infinite Campus、Veracross;openSIS、RosarioSIS(セルフホスト) |
| 学習管理(LMS) | Canvas、Schoology、Google Classroom;Moodle、Open edX、ILIAS、BigBlueButton |
| デジタル図書館 | Koha、DSpace、Greenstone(セルフホスト);EBSCOhost、JSTOR、ProQuest |
| キャンパス・学校運営 | Slate/OpenApply 入学管理、FACTS 学費、StarRez 寮、FET 時間割、ParentSquare |
各行のオープンソースのもの — Moodle、Koha、openSIS — は完全なセルフホスト Web アプリで、第 4 章のスタック上で動かし、他のサイトと同様に監視・バックアップできます。クラウドのものは、ひと目で状態を見るための資格情報ペインから到達します。
16.6ビジネスメッセージングと顧客コミュニケーション
顧客がすでにいる場所で届けること自体がひとつのカテゴリです。ビジネスメッセージングは、地域ごとに重要な店舗↔顧客チャネルを集めます。WhatsApp Business、LINE 公式アカウント、WeChat と Zalo の公式アカウント、KakaoTalk チャネルと AlimTalk、Messenger、Instagram DM、さらに Intercom、ManyChat、Respond.io、WATI、Gorgias といった受信箱・ボットツール。
このうち 3 つは現在ライブの到達性チェックを備えます — WhatsApp Business は認証済み名と品質評価を表示し、Intercom と ManyChat はトークンの有効性を確認 — 残りは資格情報とコンソールへのディープリンクを取り込みます。AI 管理者もこの全体像を見られます。get_messaging_channels ツールが、どのチャネルが接続済みで、どのアラートゲートウェイが実際に送信できるかを報告するので、ブロードキャストがどこへ送れるかを確認させられます。
16.7カレンダー・アカウントと Apple サービス
Mac ベースの事業は Apple の事業でもあります。いくつかの組み込みペインが、サーバに関わる Apple エコシステムの部分を管理します。
- カレンダー。Calendar Discovery は一般的な CalDAV ポート(Radicale 5232、Apple 8008/8443、SOGo 20000、80/443)と
/.well-known/caldavパスをスキャンします。エンドポイントを Calendar Health に追加すれば監視を続けます。古い macOS Server の CalDAV を生かす道でも、Radicale や Baïkal を新規に立てる道でもあります。 - アカウント。Accounts ペインは Open Directory と LDAP を読み、エクスポートしたエントリを
ldapaddで対象ディレクトリへ移行できます — 旧来の Apple ディレクトリサーバからユーザを移すための橋渡しです。 - Apple サービス。Apple Services ペインは、サインイン中の Apple Account、有効な iCloud+ サービス、Find My Mac の状態を報告します — この機が何に紐づいているかの素早い棚卸しです。
- Apple Home。HomeKit のデータベースはシステムアプリに非公開のため、Apple Home ペインはショートカット経由で操作します。Home アクションを含むショートカットでラップしたシーンや自動化は、FrontierStack から実行できるようになり、施設の自動化を運用に結び付けるのに役立ちます。
16.8会計・ヘルスケア・AV・印刷
さらにいくつかの業種がカタログを締めくくり、それぞれセットアップにピン留めするカテゴリとして現れます。
- 会計・ERP。ERPNext(セルフホスト);Xero、QuickBooks、freee、Money Forward、Plaid、Expensify は API で — 店舗の隣の帳簿。
- ヘルスケア。セルフホストする診療所向けのオープンソース臨床システム:OpenEMR、OpenMRS、GNU Health、LibreHealth、Orthanc の DICOM/PACS サーバ、日本の OpenDolphin と ORCA。第 10 章のセキュリティ規律で扱ってください。患者データは賭け金を上げます。
- AV・ステージ。会場・制作向け:AV Feeds ペインに加え、Dante の AoIP、Q-SYS、QLC+ や grandMA 照明、OBS、NDI、Resolume、デジタルサイネージ、Chromecast 制御 — ショーと、その背後のネットワークを 1 つのウィンドウで。
- 印刷プロダクション。印刷・プリプレス業向けの組み込みペインで、Fleet & Remote グループ内、レンダーファームの隣にあります。
ここではどれも詳しい手順は扱いません — サービスごとの詳細は第 6 章にあります。本章の務めは、あなたの事業が何であれ、FrontierStack はそれを支えるサービスをすでに知っており、プリセットかセットアップひとつで、まさにそれらだけを — それ以外は出さずに — 明らかにできると示すことです。
第 17
設定・ライセンス・アップデート
1 つの設定ペインにすべての環境設定が集まり、Ed25519 ライセンスがオフラインでティアを解錠し、Sparkle がアプリを最新に保ち、1 つのスイッチでテレメトリを停止します。
FrontierStack 自身に関する設定はほぼすべて 1 か所、設定ペインに集まります。Ed25519 ライセンスがオフラインでティアを解錠し、Sparkle がアプリを最新に保ち、1 つのスイッチでテレメトリを停止できます。
本章は、FrontierStack が管理するサービスではなくアプリ自体を設定するペインのリファレンスであり、それを取り巻く 3 つのしくみ — ライセンス、アップデート、そして利用状況として何を送り何を送らないか — も扱います。これらの一部は AI 管理者の挙動も左右するため第 13 章を、不具合時は第 18 章を参照してください。
17.1設定ペイン
サイドバーから、またはアプリメニューの ⌘, で開きます。標準の macOS 設定ウィンドウは案内役にすぎず、すべての設定ボタンで同じペインを開きます — FrontierStack は環境設定を 2 つのウィンドウに分けず 1 か所にまとめているためです。ペインは、一般、ライセンス & サブスクリプション、アップデート、プライバシー & 診断、ロケーション、テキストエディタ、画像、メニュー、機能(Capabilities)、そしてクラウド/バックアップ先がグループ化された 1 枚のスクロールフォームです。
一般セクションには一度決めれば忘れてよい設定が並びます。既定のブラウザ(Safari・Chrome・Firefox・Edge・Brave・Arc のうちインストール済みのもの)を選ぶと、アプリ全体の「ブラウザで開く」がそれを使います。メニューバーに表示は、サービス群を起動・停止するグローバルなメニューバー項目を追加します。外観はシステム設定に関わらずライト/ダークを強制し、テーマ(アクセント)は UI 全体を色付けします — Amber や Terminal Green をダークと組み合わせると往年のターミナル風になります。ログイン時に起動とキーボードナビゲーションのフォーカスリングも揃います。
一般の 2 つのトグルは、AI も設定できる(後述)ため注目に値します。コマンドをアプリ内コンソールで実行は既定でオンで、インストールやシェルコマンドが FrontierStack のウィンドウにライブ表示され、完了するとペインが自動更新されます。オフにすると、それらのコマンドは Terminal.app に送られます。対話セッション(SSH・REPL)は常に実ターミナルで開きます。連動する外部ターミナル選択(テキストエディタ内)は、「ターミナルで開く」がどのターミナルアプリを使うかを決めます。Terminal と iTerm はコマンドをインラインで実行し、その他のアプリは実行可能な .command を開きます。
17.2AI が変更できるアプリ設定キー
これらの設定の一部は、get_app_settings と set_app_setting ツールを通じて AI 管理者に公開されています。そのため「既定のブラウザを Firefox に切り替えて」「Presets メニューを非表示にして」と頼むだけで済みます。アシスタントが読み書きできるのは下表のキーのみで、設定のそれ以外はプロンプトから到達できません。
| キー | 型 | 制御内容 |
|---|---|---|
defaultBrowserBundleID | bundle id | すべての「ブラウザで開く」が使うブラウザ。空=システム既定。 |
showInMenuBar | bool | グローバルなメニューバー項目を表示するか。 |
preferInAppConsole | bool | アプリ内コンソールで実行(オン)か Terminal.app に送る(オフ)か。 |
menu.showPresets | bool | メニューバーに Presets メニューを表示。 |
menu.showLocations | bool | メニューバーに Locations メニューを表示。 |
最後の 2 つはペインのメニューセクションにもあり、アプリ設定…(⌘,)ボタンと並びます。使わないメニューは隠し、使う瞬間に再表示できます。
17.3アカウントと詳細設定
設定のすぐ外にある 2 つのペインにも触れておきます。アカウントペイン(サイドバー ▸ Accounts)は課金ではなく、FrontierStack をディレクトリサービス(Active Directory・Microsoft Entra ID・Okta・OpenLDAP・FreeIPA・389 Directory Server・Jamf、ローカル/リモートの Open Directory)に接続し、バインドをテストし、ユーザアカウントをインポートします。OD を動かす Mac の OD ユーザとグループを管理するエディタも備えます。ディレクトリ関連は 第 10 章で他のアイデンティティとともに扱います。
FrontierStack でいう「詳細設定」とは、Web サイトごとの詳細設定シート — Apache の <Directory> と <VirtualHost> を編集する完全な画面(Options フラグ、AllowOverride、Require ルール、ServerAdmin、カスタム ErrorDocument)を指します。Sites ペインのサイトから開き、フォームが扱わない項目はテキストとして編集…で編集できます。第 7 章の Web スタックで解説します。
17.4AI のカスタム指示
AI にとって最も強力な「設定」は、実は設定ペインにはありません。AI 管理者ペイン下部のカスタム指示バーです。そこに書いたテキスト(frontierstack.md として保存)はすべての AI 要求 — アシスタントチャット、ワンショットの Ask AI、スキル、MCP サーバ — に付加されます。そのため、好みの言語やトーン、アシスタントが常に(または決して)すべきこと、想定してよいあなたの構成の事実といった、永続的な設定を一度だけ書くのに最適な場所です。
カスタム指示をクリックしてエディタを展開し、すべての AI プロンプトに指示を追加を切り替えて入力します。うまく機能する例:「常に日本語で返答」「Docker より Homebrew を優先」「業務時間(09:00–18:00)に MySQL を再起動しない」「本番フリートのホストは web1.example.com」。保存ボタンで保存するか、外部エディタで開きます。このファイルはハーネス全体を流れるため、第 13 章の信頼モデルを補完しますが置き換えはしません。指示は AI の挙動を導き、既定の読み取り専用と操作ごとの承認が許されることを統制します。
DB_PASSWORD)だけで、値は実行時に環境変数として注入され、クラウドモデルには決して送られません。スクリプトでは $NAME で参照します。第 13 章参照。17.5コマンドライン PATH と Homebrew
第 2 章の 2 つのリファレンスペインも、同じアプリレベルの制御に属します。コマンドライン PATH ペイン(サイドバー ▸ Command-Line PATH)は、ログインシェルがコマンドを探すディレクトリを表示し、~/.zprofile(または選んだプロファイル)の管理ブロックに独自のディレクトリを追加できます。追加した項目は PATH の先頭に置かれ、新しいターミナルで有効になります。アプリはシェルを通じてツールを深く解決済みのため、これは主に mlx_lm.server のようなコマンドを即座に解決させるためのものです。Homebrew ペインは Homebrew 自体と多くのサービスを支えるフォーミュラをインストール・更新します。両者は初回セットアップで詳しく扱います。本章では、コマンド環境を管理する場所として設定と並んで存在することを記すにとどめます。
17.6ライセンス
FrontierStack は無料ダウンロード+有料ティアで、販売と課金は Square を通じて行います — カード情報は Square が保管し、FrontierStack は決して見ません。購入後、FSK-XXXX-XXXX-XXXX 形式のライセンスコードを受け取ります。設定 ▸ ライセンス & サブスクリプション ▸ ライセンスを有効化…でコードを貼り付けると、この Mac がプランに紐付きます。プロモコードは Web サイトのチェックアウト時に適用します。
| ティア | 価格 | サーバ数 | 備考 |
|---|---|---|---|
| Free モード | チェックアウトのプランではありません | 2 | 有料ライセンスがない場合の内蔵フォールバック。機能は限定的。 |
| Standard | 年額 ¥15,000 または ¥45,000 の買い切り | 10 | アドオンのサーバパックで上限拡張。買い切りは Lifetime 状態になります。 |
| Standard — Bleeding edge | 年額 ¥7,500 | 10 | 有効な間は 2 年目以降も値上げしないキャンペーンサブスクリプション。 |
| Full Fleet | 年額 ¥45,000 | 無制限 | すべて+Wild Frontier 更新チャネル。買い切り/Lifetime はありません。 |
このセクションは、ティア、状態ピル(Active・Lifetime・Past due・Canceled)、更新日、ライセンスコード、この Mac のサーバ上限を表示します。管理/更新…と購入/アップグレード…は Web サイトを開き、⋯ メニューには今すぐ状態を確認・この Mac を無効化・サインアウトがあります。1 ライセンス=1 Mac ですが、年に限られた回数まで新しい Mac へ自分で移管でき、旧 Mac は次回チェックイン時に静かに Free に下がります。同じセルフサービスの状態とシート一覧は、frontierstack.app/license の My Licence Web ページでも確認できます。同じ操作は、サイドバー概要グループの専用 Licences ペインにもあり、設定内のセクションではなく全画面表示で扱いたいときに使えます。
machine_id = SHA-256(IOPlatformUUID + bundle id) によりこのマシンに紐付くため、アプリを別の Mac にコピーしてもライセンスはコピーされません。アプリは有効期限+猶予期間までトークンを信頼し、その後リフレッシュします。有料プランが失効すると Free モードに降格します。Lifetime は Standard の買い切りにのみ適用され、失効しません。Full Fleet に Lifetime はありません。これは重厚な DRM ではなく抑止策です — 読み取りは動き続け、制限とプレミアム機能のみがゲートされます。17.7アップデート
FrontierStack は Sparkle で自己更新し、アプリ内の UpdateManager が制御します。設定のアップデートセクションがその操作面のすべてです。自動的にアップデートを確認とバックグラウンドでアップデートをダウンロードは既定でオンで、新しいビルドが静かにダウンロードされ、インストールしてアプリを再起動するアップデートボタンが提示されます。今すぐ確認はいつでも押せ、隣に現在のバージョンが表示されます。
アップデートの確認頻度メニューで、バックグラウンド確認の間隔を設定します。自動(既定)は毎日確認します — Wild Frontier ではより頻繁 — 一方、1日に1回・3日ごと・週に1回・2週間ごとは固定間隔に固定します。毎日の通知がうるさく感じるなら、たとえば週1回に下げられます。自動確認がオフのあいだは効果がなく、今すぐ確認は間隔に関わらず常に使えます。
チャネルは 2 つです。Stable は既定で、更新に値する内容がたまったときだけ配信されます。Wild Frontier はおよそ 1 日おきの頻繁なバグ修正ビルドを届けます — 変更を依頼して早く修正が欲しいときにオンにします。切り替えは更新チャネルの選択から行います。Wild Frontier の早期ビルドには Full Fleet プランが必要で、他のプランは常に Stable 更新を受け取ります。ティアが対象外の場合はペインがその旨を示します。
17.8テレメトリとプライバシー
FrontierStack は意図的にごく少量の匿名利用データを収集し、そのすべてをオフにできます。プライバシー & 診断セクションには 2 つのトグルがあり、どちらも既定でオンです。匿名の利用状況を共有は frontierstack.app へ小さな日次 ping を送り、クラッシュレポートを送信は技術的なバックトレースを追加します。後者はクラッシュ後に表示される確認に承認した後にのみ送信されます。
利用状況 ping に含まれるのは、ランダムなインストール ID(アカウントもログインもなし)、アプリと macOS のバージョン、ハードウェアモデルとロケール地域、更新チャネル、いずれかの AI 機能を使ったかどうかです。国は IP から Cloudflare がサーバ側で推定します。文書・ファイル内容・設定・鍵・パスワード・個人データは一切送られません。クラッシュレポートは種別・メッセージ・スタックトレースのみを追加し、まずローカルに書き出されるため、何かが Mac を離れる前に拒否できます。
ペインを締めくくる 2 つのセクション:機能(Capabilities)は CAPABILITIES.md と capabilities.json — 全サービスと AI ツールの完全かつライブな記述 — を書き出し、外部 AI エンジンに渡せます。クラウドサービス・バックアップ(ローカル Git)・Amazon S3・クラウド同期(rclone)の各セクションは、設定バックアップとサイトファイルの保存先を構成します。設定・ライセンス・アップデート・プライバシーを把握したら、キーボードショートカット、URL スキーム、トラブルシューティングについて第 18 章へお進みください。
第 18
キーボード・URL スキーム・トラブルシューティング
速い道と安全網。ショートカット、ディープリンク、アプリ自身のログ、そしてまれに起きる不具合への落ち着いた対処。
最終章は、FrontierStack が何をするかを既に分かっていて「もっと速くやりたい」とき、あるいは何かが赤くなって「最短で緑に戻したい」ときに開くリファレンスです。キーボードショートカット、frontierstack:// URL スキーム、アプリ自身のログの在りか、そして実際に起きる不具合の症状→対処表をまとめます。どれも必読ではありませんが、すべてが時間を節約します。
18.1キーボードショートカット
FrontierStack はネイティブ Mac アプリなので、既にご存じのシステムショートカット — ⌘W でウィンドウを閉じる、⌘, で設定、⌘Q で終了 — がすべて使えます。その上に、アプリは小さく意図的な独自セットを追加しています。方針は抑制です。ほとんどの操作は明確にラベル付けされたボタンにあり、ほぼすべてのダイアログは Return で確定・Esc でキャンセルという Mac の慣習に従うため、覚えることはまずありません。
| ショートカット | 動作 | メニュー相当 |
|---|---|---|
| ⌘F | 検索パレットを開く — あらゆるサービス・ツール・ペイン・アクションを名前で見つけて直接ジャンプ。 | ツールバーの虫眼鏡ボタン |
| ⌘? | アプリ内ヘルプウィンドウを開く。 | ヘルプ ▸ FrontierStack Help |
| ⌘⌥⇧W | すべてのフローティングパレットを閉じる。 | Palettes ▸ Close All Palettes |
| Return | シートの既定ボタン(保存・OK・追加・インストール…)を確定。 | 強調表示されたボタン |
| Esc | 現在のシートやパレットをキャンセル/閉じる。 | キャンセル/完了ボタン |
残りの操作はメニューバーが担います。専用の Services・Locations・Monitors・Presets・Palettes メニューから、キーボードを離れずにサービス切り替え・ロケーション変更・モニタの切り替え・保存済みプリセットの適用・フローティングパレットの取り出しができます。これらは本物のメニューコマンドなので、macOS のシステム設定 ▸ キーボード ▸ キーボードショートカット ▸ アプリのショートカットから、任意のものに独自のキーを割り当てられます — FrontierStack を追加し、メニュー項目名を正確に入力してキーを選びます。
18.2frontierstack:// URL スキーム
FrontierStack は frontierstack:// URL スキームを登録しており、任意のペイン・サーバ・サービスへ直接ディープリンクできます。そうした URL を開くとアプリが前面に出て遷移します — 該当するサイドバーグループを展開し、目的地までスクロールします。これにより、ノート内のリンク、ショートカットのアクション、スクリプトの一行が、あなた(やチームメイト)を的確な画面へ送り出せます。
Terminal からは open で起動し、ショートカットでは 「URL を開く」アクションを使い、ノートや Web ページでは普通のリンクになります。形式は次のとおりです。
| URL | 移動先 |
|---|---|
frontierstack://server/<名前または id> | そのフリートホストのペイン(不明な場合は Local Health にフォールバック)。 |
frontierstack://website/<ドメイン> | Sites ペイン。 |
frontierstack://container/<名前> | Docker ペイン。 |
frontierstack://pane/<名前> | 表示名による任意のペイン。例:pane/Security・pane/Apache・pane/Alerts。空白は URL エンコード(%20)。 |
frontierstack://service/<カタログ id> | id によるカタログサービス。 |
frontierstack://kube/<context> | Kubernetes コンテキスト(引数なしなら Clusters ペイン)。 |
frontierstack://security · ://alerts · ://health | Security・Alerts・Local Health ペインへのショートカット。 |
frontierstack://device/<id> · ://wifi/<ssid> · ://zone/<id> | 発見されたデバイス、Wi-Fi ネットワーク、Cloudflare ゾーン。 |
frontierstack://open?sel=<raw> | 厳密なエスケープハッチ:内部の選択値を正確に往復します。 |
実例をいくつか挙げます。
open "frontierstack://pane/Security"
open "frontierstack://server/mac-mini-office"
open "frontierstack://website/example.com"
ディープリンクは FrontierStack における自動化の結合組織です。プリセットはそのダッシュボードへ飛ぶリンクを含められます。Notes 内のランブックは各手順を、実施するペインへリンクできます。アラートメッセージは故障中のサービスを指し示せます。同じスキームは AI 向けの 2 つの読み取り専用リソース — frontierstack://capabilities と frontierstack://health — も名付けており、これらは MCP サーバが公開します(第 14 章)。
frontierstack:// URL はウィンドウを前面に出してロック解除を促しますが、遷移はしません — 外部の自動化がロック画面の裏でアプリを動かすことはできません。18.3アプリ自身のログを読む
サービスではなく FrontierStack 自身が何をしたかを知りたいときは、深さの順に 3 か所を見ます。
- 変更ログ(監査)。Logs ペインには、設定・構成のすべての変更を、実行した主体 — ユーザ、AI ハーネス、Web コントロールパネル、MCP、自動化 — とともに記録する変更ログがあります。サービスが停止した際、何が触れて誰/何が責任を負うのかを正確に教えてくれます — どんな障害でも最初に問うべき最速の質問です。
- アプリ内コンソール。インストールやシェルコマンドはアプリ内の本物のターミナルウィンドウ(PTY なのでパスワード入力や y/n の質問が機能します)で実行され、出力をライブで流します。アプリはコマンドの終了を把握するため、起動元のペインを更新します。コンソールのアクションバーから記録をエクスポートできます。配色は Overview の Terminal Style で変更します。
- ログファイル。FrontierStack は自身のログを
~/Library/Logs/FrontierStackに書き込みます。生の記録が欲しいときは、このフォルダを Finder で開くか Console.app で読みます — アプリの挙動を最も詳細に記録しています。自動エクスポート機能(Overview ▸ Settings)は、これらのログ・変更ログ・設定バックアップをスケジュールでフォルダへコピーできます。
read_log ツールは source に "frontierstack"(~/Library/Logs/FrontierStack を追尾)、"os"(システムログ)、あるいは "nginx" や "postfix" のようなサービス名を受け付けます。連携サーバでは SSH 経由で読み、出力はクラウドモデルに届く前に上限が設けられ秘密情報が伏せられます(第 13 章)。18.4よくある問題と対処
FrontierStack の不具合のほとんどは、小さく見慣れた一群のいずれかで、アプリは通常その対処を面倒な作業ではなくボタンとして提供します。下表は、目にする症状を、緑へ戻る最短経路に対応づけます。
| 症状 | 考えられる原因 | 対処 |
|---|---|---|
| サービスが起動しない。 | ポートが使用中、バイナリ未インストール、または設定が不正。 | そのサービスのペインを開いて状態の詳細を読みます。Ports in Use で競合を見つけ、Homebrew でインストール/修復し、Web サーバは再読込前に設定を検証します。AI 管理者の repair_service は、あなたの承認のもとで一般的なケースを診断・修正します。 |
| 連携サーバの状態ドットが赤:「Permission denied (publickey)」。 | サーバ再インストール、ホストキー変更、またはアプリの SSH キーが未導入。 | Repair SSH access(AI の repair_ssh_access ツール、第 8 章)を実行します。古いホストキーを消去し、ボールトの秘密として保存された一回限りのログインパスワードを使ってアプリの管理キーを再導入します — パスワードはローカルで読まれ、モデルには決して送られません。成功するとドットが緑になります。 |
| アラートが届かない。 | チャネルの設定ミス:誤ったトークン、未確認の送信者、不正な webhook。 | Alerts を開きます。送信ごとの配信エラーセクションが、どのチャネルがなぜ失敗したかを正確に示します。資格情報を直して配信エラーをクリアし、頼る前にテスト送信で確認します(第 11 章)。 |
| AI が操作を拒否する。 | 既定で読み取り専用、または特定のサーバトグルがオフ。 | AI 管理者で変更を許可(スクリプト実行を求める場合はスクリプトを許可も)、または該当するサーバごとのトグルを有効にします。拒否メッセージが該当設定を名指しします — 下記参照。 |
| Homebrew がない。 | 多くのサービスが依存するパッケージマネージャが未インストール。 | Homebrew ペイン(Overview)を開きます。アプリが Homebrew をインストールでき、その後は各サービスのペインからフォーミュラをワンクリック導入できます。 |
| 証明書が信頼されない。 | システムがまだ信頼していない自己署名/ローカル証明書。 | ローカル開発では、信頼されたローカル CA を導入する mkcert で発行します。公開サイトには Let's Encrypt を使います。どちらも Certificates と Sites ▸ TLS タブで管理します(第 7 章・第 10 章)。 |
18.5MCP オンボーディングと「行動につながる拒否」
機会を得た最初の一度だけ、アプリは — 一度だけ — 外部の AI ツール(Claude Code・Cursor・Claude Desktop)が FrontierStack を操作できるよう MCP サーバを起動するか尋ねます。プロンプトはモデルを率直に説明します:サーバは localhost のみ、トークン保護、そして既定で読み取り専用です。Start MCP server で有効化し、同じシート上の任意のトグルでその場で変更を許可できます。Not now は単に「尋ねられたこと」を記録します。サーバは、あなたが選ぶまでオフのままです(第 14 章)。
これは、アプリ全体を貫く小さな設計思想につながります。外部の面 — MCP サーバ、App Shortcut、AI — が変更を拒否するとき、ただ「いいえ」とは言いません。理由とどこで有効化するかを伝えます。拒否はたとえば「変更がオフです — AI 管理者で有効にしてください」、あるいは MCP なら「Remote Control & Lock ▸ MCP で有効にしてください」と読めます。自分で切り替えるのではなくアプリへ誘導するのは、信頼モデルの核心です — リモートのエージェントは依頼できても、許可できるのはこの Mac の前にいるあなただけです。ゆえに拒否は決して行き止まりではなく、あなたを前へ進める唯一のトグルへの道標です。
18.6ヘルプを得る
即時性の順に、3 つのリソースがあなたを支えます。
- アプリ内ヘルプウィンドウ。⌘? を押すかヘルプ ▸ FrontierStack Help を選ぶと、AI 機能を先頭に、すべてのペインとサービスを網羅した内蔵ドキュメントが開きます。多くのペインには該当セクションでヘルプを開く ? ボタンもあります。ヘルプの「アプリで開く」リンクは、説明対象のペインへ直接ジャンプします — ヘルプは開いたまま、メインウィンドウが前面に出ます。
- ウェブのヘルプと FAQ。frontierstack.app/help はアプリ内ドキュメントを閲覧しやすい形で映し、FAQ は新規ユーザが最もよく尋ねる質問に答えます。移行ガイドは frontierstack.app/migrate にあります。
- サポートとフィードバック。frontierstack.app/support の 2 つの短いフォームがチームに直接届きます。不具合のときはサポート依頼(macOS のバージョンを添えてください)、改善案には機能リクエスト。どちらもアプリを作る人々へ直接届きます。
これでマニュアルは閉じます。あなたは FrontierStack を、コントロールパネルとして、監視システムとして、AI 管理者として知りました。Web スタックを立ち上げ、フリートを連携し、境界を堅牢化し、アラートを配線し、そして — 慎重に、あなたの条件で — サーバを把握し修正できるアシスタントに鍵を委ねました。あとは実践あるのみです。アプリ内ヘルプには ⌘? をいつも近くに、最新情報は frontierstack.app へ、そして次に欲しいものはサポートからお聞かせください。FrontierStack でサーバを運用してくださり、ありがとうございます。