services: fyp-traefik: image: traefik:v2.10 restart: unless-stopped command: - "--api.insecure=true" - "--providers.docker=true" - "--providers.docker.exposedbydefault=false" - "--entrypoints.mcp.address=:${MCP_PORT:-58001}" ports: - "${MCP_PORT:-58001}:${MCP_PORT:-58001}" - "8080:8080" volumes: - "/var/run/docker.sock:/var/run/docker.sock:ro" networks: - mcp-internal fyp-mcp: build: context: ../.. dockerfile: compose/dev/mcp/Dockerfile container_name: dynavera-mcp-server restart: unless-stopped deploy: mode: replicated replicas: 1 env_file: - ../../.env environment: - MCP_HTTP_HOST=0.0.0.0 - MCP_HTTP_PORT=8001 command: python -m mcp_agent.mcp_server volumes: - ../../:/app - ${USERPROFILE}/.cache/gpt4all:/root/.cache/gpt4all:rw - ../../build/rag_db:/app/build/rag_db:ro labels: - "traefik.enable=true" - "traefik.http.routers.fyp-mcp.rule=Host(`${MCP_DOMAIN}`)" - "traefik.http.routers.fyp-mcp.entrypoints=mcp" - "traefik.http.services.fyp-mcp.loadbalancer.server.port=8001" - "com.centurylinklabs.watchtower.enable=true" - "com.centurylinklabs.watchtower.scope=fyp" networks: - mcp-internal networks: mcp-internal: driver: bridge