102 lines
2.7 KiB
YAML
102 lines
2.7 KiB
YAML
|
|
version: '3.8'
|
||
|
|
|
||
|
|
# ==========================================
|
||
|
|
# Ponshu Room "AI Factory" Setup
|
||
|
|
# ==========================================
|
||
|
|
# シークレットはすべて .env ファイルで管理します。
|
||
|
|
# このファイルに直接パスワードや API キーを書いてはいけません。
|
||
|
|
#
|
||
|
|
# 初回セットアップ:
|
||
|
|
# 1. .env ファイルを同じディレクトリに作成(.env.example を参照)
|
||
|
|
# 2. Container Manager でプロジェクトを再起動
|
||
|
|
|
||
|
|
services:
|
||
|
|
# ----------------------------------------
|
||
|
|
# 1. Gitea (Git Server)
|
||
|
|
# ----------------------------------------
|
||
|
|
gitea:
|
||
|
|
image: gitea/gitea:1.21
|
||
|
|
container_name: gitea
|
||
|
|
environment:
|
||
|
|
- USER_UID=1026
|
||
|
|
- USER_GID=100
|
||
|
|
- GITEA__database__DB_TYPE=postgres
|
||
|
|
- GITEA__database__HOST=db:5432
|
||
|
|
- GITEA__database__NAME=gitea
|
||
|
|
- GITEA__database__USER=gitea
|
||
|
|
- GITEA__database__PASSWD=${DB_PASS}
|
||
|
|
- GITEA__server__DOMAIN=${GITEA_DOMAIN}
|
||
|
|
- GITEA__server__ROOT_URL=https://${GITEA_DOMAIN}/
|
||
|
|
restart: always
|
||
|
|
networks:
|
||
|
|
- gitea_network
|
||
|
|
volumes:
|
||
|
|
- ./gitea:/data
|
||
|
|
ports:
|
||
|
|
- "3000:3000"
|
||
|
|
- "2222:22"
|
||
|
|
|
||
|
|
# ----------------------------------------
|
||
|
|
# 2. PostgreSQL (Database)
|
||
|
|
# ----------------------------------------
|
||
|
|
db:
|
||
|
|
image: postgres:15
|
||
|
|
container_name: gitea_db
|
||
|
|
restart: always
|
||
|
|
environment:
|
||
|
|
- POSTGRES_USER=gitea
|
||
|
|
- POSTGRES_PASSWORD=${DB_PASS}
|
||
|
|
- POSTGRES_DB=gitea
|
||
|
|
networks:
|
||
|
|
- gitea_network
|
||
|
|
volumes:
|
||
|
|
- ./postgres:/var/lib/postgresql/data
|
||
|
|
|
||
|
|
# ----------------------------------------
|
||
|
|
# 3. MCP Server (AI Bridge)
|
||
|
|
# ----------------------------------------
|
||
|
|
mcp-server:
|
||
|
|
image: node:20-slim
|
||
|
|
container_name: mcp_server
|
||
|
|
working_dir: /app
|
||
|
|
volumes:
|
||
|
|
- ./mcp:/app
|
||
|
|
- ./gitea:/data/gitea_files
|
||
|
|
environment:
|
||
|
|
- NODE_ENV=development
|
||
|
|
command: sh -c "npm install && node index.js; tail -f /dev/null"
|
||
|
|
restart: always
|
||
|
|
networks:
|
||
|
|
- gitea_network
|
||
|
|
|
||
|
|
# ----------------------------------------
|
||
|
|
# 5. Posimai Brain API
|
||
|
|
# ----------------------------------------
|
||
|
|
posimai-api:
|
||
|
|
image: node:20-slim
|
||
|
|
container_name: posimai_api
|
||
|
|
working_dir: /app
|
||
|
|
volumes:
|
||
|
|
- ./posimai-api:/app
|
||
|
|
environment:
|
||
|
|
- DB_HOST=db
|
||
|
|
- DB_PORT=5432
|
||
|
|
- DB_USER=gitea
|
||
|
|
- DB_PASSWORD=${DB_PASS}
|
||
|
|
- GEMINI_API_KEY=${GEMINI_API_KEY}
|
||
|
|
- API_KEYS=${API_KEYS}
|
||
|
|
- ALLOWED_ORIGINS=${ALLOWED_ORIGINS}
|
||
|
|
- PORT=8090
|
||
|
|
command: sh -c "npm install && node server.js"
|
||
|
|
restart: always
|
||
|
|
ports:
|
||
|
|
- "8090:8090"
|
||
|
|
networks:
|
||
|
|
- gitea_network
|
||
|
|
depends_on:
|
||
|
|
- db
|
||
|
|
|
||
|
|
networks:
|
||
|
|
gitea_network:
|
||
|
|
driver: bridge
|