deerflow2/docker/docker-compose-local-prod.yaml

91 lines
2.6 KiB
YAML

# DeerFlow Local Production Test
# Usage: docker compose -f docker-compose-local-prod.yaml up -d
#
# Prerequisites:
# 1. Build images first:
# docker build -f frontend/Dockerfile.prod -t deerflow-frontend:local .
# docker build -f backend/Dockerfile -t deerflow-backend:local .
#
# Services:
# - nginx: Reverse proxy (port 2026)
# - frontend: Frontend Next.js (production build)
# - gateway: Backend Gateway API
# - langgraph: LangGraph server
name: deerflow2-local
services:
nginx:
image: nginx:alpine
container_name: deer-flow-nginx
ports:
- "2026:2026"
volumes:
- ./nginx/nginx-local-prod.conf:/etc/nginx/nginx.conf:ro
depends_on:
- frontend
- gateway
- langgraph
networks:
- deer-flow-local
restart: unless-stopped
frontend:
image: deerflow-frontend:local
container_name: deer-flow-frontend
environment:
- NODE_ENV=production
networks:
- deer-flow-local
restart: unless-stopped
gateway:
image: deerflow-backend:local
container_name: deer-flow-gateway
command: sh -c "cd backend && uv run uvicorn src.gateway.app:app --host 0.0.0.0 --port 8001"
volumes:
- ../config.yaml:/app/config.yaml
- ../extensions_config.json:/app/extensions_config.json
- ../skills:/app/skills
- ../logs:/app/logs
- ../backend/.deer-flow:/app/backend/.deer-flow
- ~/.cache/uv:/root/.cache/uv
- /var/run/docker.sock:/var/run/docker.sock:ro
environment:
- CI=true
- DOCKER_HOST=unix:///var/run/docker.sock
env_file:
- ../.env
extra_hosts:
- "host.docker.internal:host-gateway"
networks:
- deer-flow-local
restart: unless-stopped
langgraph:
image: deerflow-backend:local
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"
volumes:
- ../backend/.langgraph_api:/app/backend/.langgraph_api
- ../config.yaml:/app/config.yaml
- ../extensions_config.json:/app/extensions_config.json
- ../skills:/app/skills
- ../logs:/app/logs
- ../backend/.deer-flow:/app/backend/.deer-flow
- ~/.cache/uv:/root/.cache/uv
- /var/run/docker.sock:/var/run/docker.sock:ro
environment:
- CI=true
- DOCKER_HOST=unix:///var/run/docker.sock
env_file:
- ../.env
extra_hosts:
- "host.docker.internal:host-gateway"
networks:
- deer-flow-local
restart: unless-stopped
networks:
deer-flow-local:
driver: bridge