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