本番環境
チーム向けにPentAGIを運用 — 堅牢化、分離、Podman、および複数インスタンス。
チェックリスト
- 初回起動前に、
COOKIE_を含むすべての認証情報を設定してください — セキュリティを参照してください。インストーラーはソルトとサービスパスワードを生成しますが、LangfuseおよびGrafanaの管理者パスワードは生成しません。Langfuseが最初に起動する前に、テンプレートでSIGNING_ SALT LANGFUSE_とINIT_ USER_ PASSWORD passwordを設定し、Grafanaの初回起動後にデフォルトのadmin/adminを変更してください。稼働中のインストールでは、.envで変更する前に、データベース内でPostgreSQLとNeo4jのパスワードを変更してください。 - 正式な証明書と安定した
PUBLIC_を提供してください。URL - リバースプロキシの背後では、
TRUSTED_をプロキシのアドレスまたは CIDR に設定してください。そうしないと、すべてのユーザーがプロキシのアドレスを共有することになり、5 分以内に 30 回のサインイン失敗が発生すると、全員が 15 分間ロックアウトされます。PROXIES - Tooltool — ツールエージェントが作業に使うもの。ターミナル、分離されたブラウザー、ウェブ検索などの組み込み機能や、nmap、metasploit、sqlmap などサンドボックス内のプログラムです。 の実行を専用の worker node に移動してください。
- コストや障害を追跡できるよう、可観測性を有効にしてください。
- Knowledge graphknowledge graph — ナレッジグラフこのオプション機能を有効にした場合、テスト中に PentAGI が構築するホスト、サービス、脆弱性、およびそれらの間のアクセスのグラフです。発見事項の関連性を示します。 と Langfuse はプライベートネットワーク上に配置してください。
Podman
PentAGI は Docker だけでなく Podman でも動作します。Rootless モードでは、特権ポートをバインドできないため scraper サービスに追加の設定が必要です。リポジトリの README に Rootless および Rootful のセットアップ手順が記載されています。
複数インスタンス(TENANT_ ID)
単一インストールの場合は TENANT_ を空のままにしてください。既存のインスタンスでも空のままにしてください:後から設定すると、インスタンスはデフォルトの [email protected] アカウントで始まる新しい空のスキーマに移動され、その flowflow — フローPentAGI の1回のフロー:目標、メッセージから作成されたタスク、およびエージェントが実行したすべての作業。、ユーザーおよび設定は表示されなくなります。複数の PentAGI インスタンスが 1 つの PostgreSQL サーバー、1 つの worker nodeworker node — ワーカーノードエージェントのツールコンテナを実行する個別のサーバー。これにより、実行されるコマンドがメインのPentAGIホストに影響を与えることはありません。、1 つの Neo4j、または 1 つの Langfuse といった外部リソースを共有する場合に、追加するインスタンスで設定します:
| 領域 | TENANT_ の効果 |
|---|---|
| PostgreSQL | public ではなくスキーマ acme 内で動作します |
| ワーカーコンテナ | 名前が acme-pentagi-terminal-<flow> になります |
| Knowledge graph | グループ ID が acme-flow-<id> になります |
| 認証 | Cookie とトークンのキーに tenanttenant — テナント1つのPentAGIインストールです。複数のインストールがPostgreSQLデータベースなどの外部リソースを共有する場合、追加する各インストールには独自のTENANT_IDが割り当てられます。既存のインストールでは空のままになります。 が含まれます |
| テレメトリ | Langfuse と OpenTelemetry のデータに tenant のタグが付与されます |
値は ^[a-z][a-z0-9_ と一致する必要があります。ホストリソースはネームスペース化されません。同一サーバー上のインスタンスには、それぞれ独自の DATA_ と公開ポートが必要です。sandboxsandbox — サンドボックスエージェントがツールを実行するための隔離された Docker コンテナです。インターフェースでは Terminal として表示されます。 が同じ Docker ホスト(同一サーバー上または共有 worker node 上)で実行されるインスタンスには、それぞれ独自の DOCKER_ と、設定されている場合は独自の DOCKER_ が必要です。これらを設定しない場合、sandbox が同じポートを確保しようとし、flow の開始に失敗します。各 base はデフォルトで 28000 から始まる2000ポートの範囲を開始するため、例えば 28000 や 30000 を使用してください。
最終更新日