98 lines
2.9 KiB
YAML
98 lines
2.9 KiB
YAML
# DeerFlow Production Environment
|
|
# Usage: docker-compose -f docker-compose-prod.yaml up -d
|
|
#
|
|
# Services:
|
|
# - nginx: Reverse proxy (port 2026)
|
|
# - frontend: Frontend Next.js (production build)
|
|
# - gateway: Backend Gateway API
|
|
# - langgraph: LangGraph server
|
|
#
|
|
|
|
# All services use pre-built images from registry.xueai.art/deerflow
|
|
|
|
name: deerflow2
|
|
|
|
services:
|
|
nginx:
|
|
image: nginx:alpine
|
|
container_name: deer-flow-nginx
|
|
ports:
|
|
- "2026:2026"
|
|
volumes:
|
|
- ./nginx/nginx.local.conf:/etc/nginx/nginx.conf:ro
|
|
depends_on:
|
|
- frontend
|
|
- gateway
|
|
- langgraph
|
|
networks:
|
|
- deer-flow-dev
|
|
restart: unless-stopped
|
|
|
|
frontend:
|
|
image: registry.xueai.art/deerflow/deerflow-frontend:${VERSION}
|
|
container_name: deer-flow-frontend
|
|
environment:
|
|
- NODE_ENV=production
|
|
networks:
|
|
- deer-flow-dev
|
|
restart: unless-stopped
|
|
|
|
gateway:
|
|
image: registry.xueai.art/deerflow/deerflow-gateway:${VERSION}
|
|
container_name: deer-flow-gateway
|
|
command: sh -c "cd backend && uv run uvicorn src.gateway.app:app --host 0.0.0.0 --port 8001 > /app/logs/gateway.log 2>&1"
|
|
volumes:
|
|
- ../config.yaml:/app/config.yaml
|
|
- ../skills:/app/skills
|
|
- ../logs:/app/logs
|
|
- ../backend/.deer-flow:/app/backend/.deer-flow
|
|
# Mount uv cache for faster dependency installation
|
|
- ~/.cache/uv:/root/.cache/uv
|
|
# Mount Docker socket for aio sandbox
|
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
environment:
|
|
- CI=true
|
|
- DOCKER_HOST=unix:///var/run/docker.sock
|
|
env_file:
|
|
- ../.env
|
|
extra_hosts:
|
|
# For Linux: map host.docker.internal to host gateway
|
|
- "host.docker.internal:host-gateway"
|
|
networks:
|
|
- deer-flow-dev
|
|
restart: unless-stopped
|
|
|
|
langgraph:
|
|
image: registry.xueai.art/deerflow/deerflow-langgraph:${VERSION}
|
|
container_name: deer-flow-langgraph
|
|
command: sh -c "cd backend && exec uv run langgraph dev --no-browser --no-reload --allow-blocking --host 0.0.0.0 --port 2024 > /app/logs/langgraph.log 2>&1"
|
|
volumes:
|
|
# Persist LangGraph inmem runtime data (threads/checkpoints/store)
|
|
- ../backend/.langgraph_api:/app/backend/.langgraph_api
|
|
- ../config.yaml:/app/config.yaml
|
|
- ../skills:/app/skills
|
|
- ../logs:/app/logs
|
|
- ../backend/.deer-flow:/app/backend/.deer-flow
|
|
# Mount uv cache for faster dependency installation
|
|
- ~/.cache/uv:/root/.cache/uv
|
|
# Mount Docker socket for aio sandbox
|
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
environment:
|
|
- CI=true
|
|
- DOCKER_HOST=unix:///var/run/docker.sock
|
|
env_file:
|
|
- ../.env
|
|
extra_hosts:
|
|
# For Linux: map host.docker.internal to host gateway
|
|
- "host.docker.internal:host-gateway"
|
|
networks:
|
|
- deer-flow-dev
|
|
restart: unless-stopped
|
|
|
|
networks:
|
|
deer-flow-dev:
|
|
driver: bridge
|
|
ipam:
|
|
config:
|
|
- subnet: 192.168.200.0/24
|