From 8baa104780e8754568908b462a1bf47a3086a786 Mon Sep 17 00:00:00 2001 From: Travis Vasceannie Date: Wed, 26 Nov 2025 08:40:43 -0500 Subject: [PATCH] chore: update docker-compose configuration - Added new external networks: public, badge-net, and mcp_net. - Changed service network assignments to use the new networks. - Updated restart policy condition for services to 'any'. - Adjusted healthcheck commands and service commands for consistency. - Commented out the firecrawl-mcp service for future reference. --- docker-compose.yml | 102 +++++++++++++++++++++++++-------------------- 1 file changed, 57 insertions(+), 45 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 99cc7d2..fbf81ee 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,7 +1,10 @@ -version: '3.8' - networks: - traefik: + public: + external: true + badge-net: + external: true + mcp_net: + driver: overlay external: true services: @@ -18,8 +21,9 @@ services: - "traefik.http.services.pieces-mcp.loadbalancer.server.port=8096" - "traefik.http.middlewares.pieces-mcp-stripprefix.stripprefix.prefixes=/pieces-mcp" - "traefik.http.routers.pieces-mcp.middlewares=pieces-mcp-stripprefix" + replicas: 1 restart_policy: - condition: on-failure + condition: any healthcheck: test: ["CMD", "sh", "-c", "netstat -tln | grep ':8096 ' || exit 1"] interval: 30s @@ -27,43 +31,45 @@ services: retries: 3 start_period: 40s command: > - --named-server pieces-os 'mcp-proxy --transport sse http://host.docker.internal:39300/model_context_protocol/2024-11-05/sse' + --named-server pieces-os 'mcp-proxy --transport streamablehttp http://host.docker.internal:39301/model_context_protocol/2025-03-26/mcp' --port=8096 --host=0.0.0.0 --allow-origin='*' networks: - - traefik - - firecrawl-mcp: - image: git.baked.rocks/vasceannie/firecrawl-mcp:latest - deploy: - placement: - constraints: - - node.hostname == wslbox - labels: - - "traefik.enable=true" - - "traefik.http.routers.firecrawl-mcp.rule=Host(`mcp.box`) && PathPrefix(`/firecrawl-mcp`)" - - "traefik.http.routers.firecrawl-mcp.entrypoints=web" - - "traefik.http.services.firecrawl-mcp.loadbalancer.server.port=8097" - - "traefik.http.middlewares.firecrawl-mcp-stripprefix.stripprefix.prefixes=/firecrawl-mcp" - - "traefik.http.routers.firecrawl-mcp.middlewares=firecrawl-mcp-stripprefix" - restart_policy: - condition: on-failure - environment: - - FIRECRAWL_API_URL=http://crawl.toy - - FIRECRAWL_API_KEY=dummy-key - healthcheck: - test: ["CMD", "sh", "-c", "netstat -tln | grep ':809[6-9]\\|:8100' || exit 1"] - interval: 30s - timeout: 10s - retries: 3 - start_period: 40s - command: > - --pass-environment - --stateless - --transport streamablehttp - --port=8097 --host=0.0.0.0 - npx firecrawl-mcp - networks: - - traefik + - public + - badge-net + - mcp_net + # firecrawl-mcp: + # image: git.baked.rocks/vasceannie/firecrawl-mcp:latest + # deploy: + # placement: + # constraints: + # - node.hostname == wslbox + # labels: + # - "traefik.enable=true" + # - "traefik.http.routers.firecrawl-mcp.rule=Host(`mcp.box`) && PathPrefix(`/firecrawl-mcp`)" + # - "traefik.http.routers.firecrawl-mcp.entrypoints=web" + # - "traefik.http.services.firecrawl-mcp.loadbalancer.server.port=8097" + # - "traefik.http.middlewares.firecrawl-mcp-stripprefix.stripprefix.prefixes=/firecrawl-mcp" + # - "traefik.http.routers.firecrawl-mcp.middlewares=firecrawl-mcp-stripprefix" + # replicas: 1 + # restart_policy: + # condition: any + # environment: + # - FIRECRAWL_API_URL=http://crawl.toy + # - FIRECRAWL_API_KEY=dummy-key + # healthcheck: + # test: ["CMD", "sh", "-c", "netstat -tln | grep ':809[6-9]\\|:8100' || exit 1"] + # interval: 30s + # timeout: 10s + # retries: 3 + # start_period: 40s + # command: > + # --pass-environment + # --stateless + # --transport streamablehttp + # --port=8097 --host=0.0.0.0 + # npx firecrawl-mcp + # networks: + # - traefik context7-mcp: image: git.baked.rocks/vasceannie/context7-mcp:latest @@ -78,8 +84,9 @@ services: - "traefik.http.services.context7-mcp.loadbalancer.server.port=8098" - "traefik.http.middlewares.context7-mcp-stripprefix.stripprefix.prefixes=/context7-mcp" - "traefik.http.routers.context7-mcp.middlewares=context7-mcp-stripprefix" + replicas: 1 restart_policy: - condition: on-failure + condition: any healthcheck: test: ["CMD", "sh", "-c", "netstat -tln | grep ':809[6-9]\\|:8100' || exit 1"] interval: 30s @@ -90,8 +97,9 @@ services: --named-server context7 'mcp-proxy --stateless --transport streamablehttp --headers CONTEXT7_API_KEY ctx7sk-f6f1b998-88a2-4e78-9d21-433545326e6c https://mcp.context7.com/mcp' --port=8098 --host=0.0.0.0 --allow-origin='*' networks: - - traefik - + - public + - badge-net + - mcp_net # knowledge-graph-mcp: # image: git.baked.rocks/vasceannie/knowledge-graph-mcp:latest # deploy: @@ -105,8 +113,9 @@ services: # - "traefik.http.services.knowledge-graph-mcp.loadbalancer.server.port=8099" # - "traefik.http.middlewares.knowledge-graph-mcp-stripprefix.stripprefix.prefixes=/knowledge-graph-mcp" # - "traefik.http.routers.knowledge-graph-mcp.middlewares=knowledge-graph-mcp-stripprefix" + # replicas: 1 # restart_policy: - # condition: on-failure + # condition: any # healthcheck: # test: ["CMD", "sh", "-c", "netstat -tln | grep ':809[6-9]\\|:8100' || exit 1"] # interval: 30s @@ -132,8 +141,9 @@ services: - "traefik.http.services.xpipe-mcp.loadbalancer.server.port=8100" - "traefik.http.middlewares.xpipe-mcp-stripprefix.stripprefix.prefixes=/xpipe-mcp" - "traefik.http.routers.xpipe-mcp.middlewares=xpipe-mcp-stripprefix" + replicas: 1 restart_policy: - condition: on-failure + condition: any healthcheck: test: ["CMD", "sh", "-c", "netstat -tln | grep ':809[6-9]\\|:8100' || exit 1"] interval: 30s @@ -144,4 +154,6 @@ services: --named-server xpipe 'mcp-proxy --transport streamablehttp --headers Authorization "Bearer 27d1c4ca-dfec-4d38-adc1-1e0f4bcbaadc" http://host.docker.internal:21721/mcp' --port=8100 --host=0.0.0.0 --allow-origin='*' networks: - - traefik \ No newline at end of file + - public + - badge-net + - mcp_net \ No newline at end of file