docker-compose.yml•1.46 kB
version: '3.8'
services:
# MCP Server service
mcp-server:
build:
context: .
dockerfile: Dockerfile
target: builder # Use the builder target for development
ports:
- "8787:8787"
volumes:
- ./src:/app/src
- ./dist:/app/dist
environment:
- NODE_ENV=development
- CRAWL4AI_API_KEY=${CRAWL4AI_API_KEY}
- CRAWL4AI_API_URL=http://crawl4ai-api:11235
depends_on:
- crawl4ai-api
command: npm run dev
networks:
- crawl4ai-network
# Crawl4AI API service
crawl4ai-api:
image: crawl4ai/api:latest
ports:
- "11235:11235"
environment:
- PYTHONUNBUFFERED=1
- CRAWL4AI_API_KEY=${CRAWL4AI_API_KEY}
- CRAWL4AI_LOG_LEVEL=DEBUG
- CRAWL4AI_ALLOW_ORIGINS=http://localhost:8787,http://mcp-server:8787
volumes:
- crawl4ai-data:/app/data
networks:
- crawl4ai-network
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:11235/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
# Optional: Debugging UI
crawl4ai-ui:
image: crawl4ai/ui:latest
ports:
- "3000:3000"
environment:
- CRAWL4AI_API_URL=http://crawl4ai-api:11235
- CRAWL4AI_API_KEY=${CRAWL4AI_API_KEY}
depends_on:
- crawl4ai-api
networks:
- crawl4ai-network
volumes:
crawl4ai-data:
driver: local
networks:
crawl4ai-network:
driver: bridge