MINARA

デプロイ

ローカル、Docker Compose、または Agent 専用サービスで Minara を動かす

ほとんどの利用者はデスクトップアプリまたはローカル実行で十分です。永続ボリュームを備えた再現可能なサーバー構成が必要な場合は Docker を使います。

デプロイ形態を選ぶ

必要なこと推奨形態
個人の PC、ターミナル不要デスクトップアプリ
ローカルのブラウザとターミナルインストーラーと minara serve --ui
再現可能なセルフホスト構成Docker Compose
Web UI を使わない API またはメッセージングサービスAgent 専用コンテナ

Docker Compose スタック

ソース checkout のルートから実行します。

pnpm docker

初回は .env.example.env へコピーして終了します。LLM provider の認証情報と MINARA_API_KEY を少なくとも入力してから再実行してください。次が起動します。

  • Web UI:http://localhost:5173
  • Gateway:http://localhost:8080

よく使う操作:

pnpm docker:up
pnpm docker:down
pnpm docker:logs
pnpm docker:rebuild

稼働中の Agent に対してターミナルセッションが必要な場合は、docker exec -it minara-agent node dist/gateway/cli.js を使います。

永続データとアップグレード

Docker スタックは Minara の状態を名前付きボリュームに保存します。SQLite データ、監査記録、ワークスペースファイル、認証プロファイル、ログが含まれます。コンテナを作り直してもこのボリュームを保持してください。

大きなアップグレード前には、データボリュームをバックアップするか SQLite データベースをエクスポートします。その後、同じボリュームを接続したままコンテナを再ビルドまたは置き換えます。DB マイグレーションは Agent 起動時に実行されます。

SQLite は 1 つのアクティブな書き込み元向けです。1 つのボリュームは状態を所有する 1 つの Agent が使います。レプリカを追加する場合、書き込みはその所有者に送ってください。複数の独立した書き込み元で同じ DB をマウントしてはいけません。

ネットワークとシークレット

理由がない限り gateway は localhost に留めてください。リモート gateway は金融・アカウント操作に到達できるため、GATEWAY_AUTH_TOKEN を設定し、TLS を終端するリバースプロキシを前に置きます。

認証情報をイメージに入れないでください。ローカル Docker Compose では .env、ホスト環境ではシークレットストアまたは実行時の環境変数を使います。シークレットを commit したり、イメージに焼き込んだりしないでください。

gateway はコンテナの基本的なヘルスチェックとして GET /healthz を提供します。より広いローカル設定確認には minara doctor を実行します。

Agent 専用コンテナ

Web UI が不要な場合は Agent イメージを直接ビルドして実行できます。

pnpm docker:build
pnpm docker:run

この方法は 8080 番ポートで gateway を公開し、minara-data ボリュームをマウントします。認証情報はホスト環境またはデプロイ基盤から渡し、コマンド履歴には残さないでください。

本番前の確認

  • 再起動後もデータボリュームが残ることを確認する。
  • アカウントに合う日次と取引ごとの上限を設定する。
  • minara doctor と gateway のヘルスチェックを確認する。
  • 公開前にリバースプロキシと認証経路を試す。
  • 自動化はペーパーまたは小額から始め、監査記録を確認する。

目次