84 lines
3.0 KiB
YAML
84 lines
3.0 KiB
YAML
version: '3.8'
|
|
|
|
# ==========================================
|
|
# 🍶 Ponshu Room "AI Factory" Setup
|
|
# ==========================================
|
|
# このファイルはSynology Container Managerで「プロジェクト」として使用します。
|
|
# 3つの主要コンテナ (Gitea, Postgres, MCP) を一度に立ち上げます。
|
|
#
|
|
# 変更推奨箇所:
|
|
# - GITEA__database__PASSWD: 強固なパスワードに変更してください
|
|
# - POSTGRES_PASSWORD: 上記と同じパスワードに変更してください
|
|
|
|
services:
|
|
# ----------------------------------------
|
|
# 1. Gitea (Git Server)
|
|
# 役割: コードの「原本」を管理する倉庫。
|
|
# ----------------------------------------
|
|
gitea:
|
|
image: gitea/gitea:1.21
|
|
container_name: gitea
|
|
environment:
|
|
- USER_UID=1026 # Synologyの一般的なユーザーID (環境に合わせて変更可)
|
|
- USER_GID=100
|
|
- GITEA__database__DB_TYPE=postgres
|
|
- GITEA__database__HOST=db:5432
|
|
- GITEA__database__NAME=gitea
|
|
- GITEA__database__USER=gitea
|
|
- GITEA__database__PASSWD=gitea_password # 【変更推奨】DBパスワード
|
|
restart: always
|
|
networks:
|
|
- gitea_network
|
|
volumes:
|
|
- ./gitea:/data # リポジトリデータ (永続化)
|
|
- /etc/timezone:/etc/timezone:ro
|
|
- /etc/localtime:/etc/localtime:ro
|
|
ports:
|
|
- "3000:3000" # Web UI用ポート (ブラウザからアクセス)
|
|
- "2222:22" # SSH用ポート (Git操作用)
|
|
|
|
# ----------------------------------------
|
|
# 2. PostgreSQL (Database)
|
|
# 役割: Giteaのユーザー情報や設定を保存するDB。
|
|
# ----------------------------------------
|
|
db:
|
|
image: postgres:15
|
|
container_name: gitea_db
|
|
restart: always
|
|
environment:
|
|
- POSTGRES_USER=gitea
|
|
- POSTGRES_PASSWORD=gitea_password # 【変更推奨】Giteaの設定と合わせる
|
|
- POSTGRES_DB=gitea
|
|
networks:
|
|
- gitea_network
|
|
volumes:
|
|
- ./postgres:/var/lib/postgresql/data # DBデータ (永続化)
|
|
|
|
# ----------------------------------------
|
|
# 3. MCP Server (AI Bridge)
|
|
# 役割: AI (Antigravity/Claude) がNASの中を操作するための窓口。
|
|
# Phase 2B (AI自動化) で本格稼働します。
|
|
# ----------------------------------------
|
|
mcp-server:
|
|
image: node:20-slim
|
|
container_name: mcp_server
|
|
working_dir: /app
|
|
volumes:
|
|
- ./mcp:/app # MCPサーバーのコード置き場
|
|
- ./gitea:/data/gitea_files # AIがGiteaのファイルを読み書きするための共有設定
|
|
environment:
|
|
- NODE_ENV=development
|
|
# 初回起動時に必要なライブラリを自動インストールして待機
|
|
command: sh -c "npm init -y && npm install @modelcontextprotocol/sdk && node index.js || tail -f /dev/null"
|
|
restart: always
|
|
networks:
|
|
- gitea_network
|
|
|
|
# ----------------------------------------
|
|
# Network Setting
|
|
# 内部通信用の専用ネットワーク
|
|
# ----------------------------------------
|
|
networks:
|
|
gitea_network:
|
|
driver: bridge
|