services: qdrant: image: qdrant/qdrant:latest container_name: qdrant-mcp ports: - "6335:6333" - "6336:6334" volumes: - ./data/qdrant:/qdrant/storage restart: unless-stopped networks: - mcp-network gitea-mcp: build: context: ./packages/gitea-mcp container_name: gitea-mcp env_file: - .env ports: - "3001:3001" restart: unless-stopped networks: - mcp-network memory-mcp: build: context: ./packages/memory-mcp container_name: memory-mcp env_file: - .env ports: - "3002:3002" depends_on: - qdrant restart: unless-stopped networks: - mcp-network umami-mcp: build: context: ./packages/umami-mcp container_name: umami-mcp env_file: - .env ports: - "3003:3003" restart: unless-stopped networks: - mcp-network serpbear-mcp: build: context: ./packages/serpbear-mcp container_name: serpbear-mcp env_file: - .env ports: - "3004:3004" restart: unless-stopped networks: - mcp-network glitchtip-mcp: build: context: ./packages/glitchtip-mcp container_name: glitchtip-mcp env_file: - .env ports: - "3005:3005" restart: unless-stopped networks: - mcp-network klz-payload-mcp: build: context: ./packages/klz-payload-mcp container_name: klz-payload-mcp env_file: - .env ports: - "3006:3006" restart: unless-stopped networks: - mcp-network kabelfachmann-mcp: build: context: ./packages/kabelfachmann-mcp container_name: kabelfachmann-mcp env_file: - .env ports: - "3007:3007" depends_on: - qdrant restart: unless-stopped networks: - mcp-network networks: mcp-network: driver: bridge