version: '3.8' services: # 【守りの要】Gitea本体: コードの原本保管庫 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=gitea_password # 適宜変更してください restart: always networks: - gitea_network volumes: - ./gitea:/data - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro ports: - "3000:3000" # ブラウザでアクセスするポート - "2222:22" # SSH用ポート # 【データベース】GiteaとMCPのデータを保存 db: image: postgres:15 container_name: gitea_db restart: always environment: - POSTGRES_USER=gitea - POSTGRES_PASSWORD=gitea_password - POSTGRES_DB=gitea networks: - gitea_network volumes: - ./postgres:/var/lib/postgresql/data # 【攻めの要】MCP Server: AntigravityがNASを操作するための窓口 mcp-server: image: node:20-slim container_name: mcp_server working_dir: /app volumes: - ./mcp:/app - ./gitea:/data/gitea_files # AIがGiteaのファイルを直接覗けるように接続 environment: - NODE_ENV=development command: sh -c "npm init -y && npm install @modelcontextprotocol/sdk && node index.js" restart: always networks: - gitea_network networks: gitea_network: driver: bridge