投稿日: 2025年6月16日
カテゴリ: 技術選択, AIエージェント, Git
タグ: Forgejo, GitLab, AI, MCP, C4モデル
C4モデルベースの階層AI PMシステム構築に向けて、Git基盤の技術選択を実施。当初GitLabを検討していたが、詳細な比較検討の結果、**Forgejo安定版**を採用することに決定した。本記事ではその選択過程と技術的根拠をまとめる。
C4モデル(Context, Container, Component, Code)に基づく4階層のAI PMシステム:
各レベルのAI PMが適切なコンテキストを保持し、階層間で情報を圧縮・伝達することで、大規模プロジェクトの管理負荷を分散する。
| 項目 | GitLab | Gitea | Forgejo | GitBucket? |
| 容量 | 5GB | 200MB | 150MB | 150MB |
| 起動時間 | 5-10分 | 30秒 | 20秒 | 45秒 |
| メモリ使用量 | 2-4GB | 50-200MB | 40-150MB | 50-200MB |
| 言語 | Ruby | Go | Go | Java/Scala |
| アーキテクチャ | モノリシック | 軽量 | 軽量 | 軽量 |
GitLab: モノリシック・全部入りシステム
GitLab = Git + CI/CD + Registry + Security + Analytics +
Project Management + Issue + Wiki + Container Registry +
Kubernetes + Monitoring + ...
Gitea/Forgejo: 軽量・特化システム
Gitea/Forgejo = Git + Issue + PR + CI/CD(軽量) + Wiki
| 技術要素 | GitLab | Gitea/Forgejo |
| 言語 | Ruby on Rails | Go |
| DB必須 | PostgreSQL | SQLite可 |
| Redis必須 | ○ 必要 | × 不要 |
| Sidekiq | ○ 必要 | × 不要 |
| Elasticsearch | ○ 高機能用 | × 内蔵検索 |
| デプロイ | 複数コンテナ | 単一バイナリ |
| 項目 | Gitea | Forgejo |
| 運営主体 | Gitea Limited (営利企業) | Codeberg e.V. (非営利団体) |
| 設立 | 2016年 | 2022年10月 (フォーク) |
| 商業化 | 企業向けサービス展開 | 完全非営利 |
| 意思決定 | 企業主導 | コミュニティ主導 |
| 項目 | Gitea | Forgejo |
| 容量 | 200MB | 150MB (25%軽量化) |
| 起動時間 | 30秒 | 20秒 |
| テレメトリ | オプトアウト可 | 完全なし |
| プライバシー | 基本的 | 強化済み |
| Federation | 計画中 | ActivityPub?実装中 |
Giteaへの懸念:
Forgejoの解決策:
階層AI PMシステム技術スタック: ├── Git基盤: Forgejo安定版 ├── AI統合: MCP + Claude + forgejo-mcp ├── 階層構造: C4モデル(Context→Container→Component→Code) ├── 記憶システム: Qdrant(ベクトル検索) + Neo4j(グラフDB) ├── コンテキスト圧縮: Atlas手法 └── 図表対応: Mermaid + LaTeX数式
# 完全プライベート設定例 DISABLE_TELEMETRY=true OFFLINE_MODE=true DISABLE_GRAVATAR=true DISABLE_FEDERATED_AVATAR=true LOCAL_NETWORK_ALLOWLIST=192.168.0.0/16,10.0.0.0/8
# セキュア設定でのForgejo起動 docker run -d \ --name=forgejo-secure \ -p 3000:3000 \ -v /path/to/data:/data \ -e DISABLE_TELEMETRY=true \ -e OFFLINE_MODE=true \ codeberg.org/forgejo/forgejo:stable
{
"mcpServers": {
"forgejo": {
"command": "forgejo-mcp",
"args": ["-t", "stdio", "--host", "http://localhost:3000"],
"env": {
"GITEA_ACCESS_TOKEN": "your_token"
}
}
}
}
Forgejo: フォルゲヨ (for-GEH-yo)
語源: エスペラント語で「鍛冶屋」の意味
AIエージェント階層PMシステム構築において、Git基盤としてFORGEJO安定版を選択した。軽量性・セキュリティ・AI統合機能・持続可能性のバランスが最適であり、C4モデルベースの階層構造システムに理想的な基盤となる。
当初検討していたGitLabと比較して、容量1/30・起動時間1/15という圧倒的な軽量性を実現しながら、AIエージェントに必要な機能をすべて備えている。
今後は、Forgejoをベースとした階層AI PMシステムの詳細実装を進めていく予定である。
関連記事:
更新履歴: