posimai-root/docs/synology/docker-compose.yml

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