Skip to content
実践ガイド6分

Composeサービス、信頼境界、永続化モデルを理解します。

  • アーキテクチャ
  • compose
  • セキュリティ

アーキテクチャ

OpenFaceはHTTP/HTTPS gatewayだけを公開し、アプリケーションサービスをComposeのprivate networkに置きます。

サービス役割
gatewaynginxルーティング、TLS終端、WebSocket proxy、単一のWeb公開口
frontendNext.js製の検索・一覧ポータルとリポジトリ表示
forgejoGit、LFS、認証、権限、Issues、Pull Requests、Actionsメタデータ
postgresForgejo、metrics、自動保守状態を保存するPostgreSQL
spaces-runnerSpace検証、clone、Docker build/run、metrics API、proxy、Pages配信
seedadmin、token、組織、サンプル、カタログ、Prompt tagの冪等な初期化
forgejo-actions-runner隔離したDocker-in-Docker上でPages workflowを実行

実装済みのリモートGPUワーカー構成では、これらのserviceをLXCに 残したまま、同一LAN上にpull型実行ノードを追加します。

ルーティング

  • ポータルとリポジトリ画面はfrontendへ送ります。
  • /git/ はForgejo、/run/{owner}/{repo}/ はSpace、/pages/{owner}/{repo}/ はPagesへ送ります。
  • /runner-api/ はgateway経由でrunner APIを公開します。

状態の保存

Forgejo metadata、metrics、自動保守jobは3つのPostgreSQL databaseへ保存します。Git repository本体、LFS object、runner登録、共有control token、agent credentialはnamed Docker volumeへ保存します。Space imageとbuild cacheはDockerが管理します。Gitリポジトリには構成、UI、テンプレート、ドキュメントだけを置き、本番secretは置きません。

信頼モデル

一覧公開範囲はForgejoのvisibilityに従います。Space操作はForgejoユーザーのwrite権限を確認します。frontendとrunnerは内部control tokenを共有し、agent APIはhash化された別credentialを使います。Actions runnerは専用Docker daemonを使い、ホストのDocker socketを受け取りません。

分散credentialから移行する公開control-plane境界、Token lifecycle、認可方式は 統一APIと認証で定義します。

Released under the MIT License. Third-party components retain their own licenses.