2026-01-24 22:01:00 +08:00
|
|
|
# DeerFlow Development Environment
|
|
|
|
|
# Usage: docker-compose -f docker-compose-dev.yaml up --build
|
|
|
|
|
#
|
|
|
|
|
# Services:
|
|
|
|
|
# - nginx: Reverse proxy (port 2026)
|
2026-02-09 21:59:13 +08:00
|
|
|
# - frontend: Frontend Next.js dev server (port 3000)
|
|
|
|
|
# - gateway: Backend Gateway API (port 8001)
|
2026-01-24 22:01:00 +08:00
|
|
|
# - langgraph: LangGraph server (port 2024)
|
|
|
|
|
#
|
|
|
|
|
# Access: http://localhost:2026
|
|
|
|
|
|
|
|
|
|
services:
|
|
|
|
|
# Nginx Reverse Proxy
|
|
|
|
|
nginx:
|
|
|
|
|
image: nginx:alpine
|
|
|
|
|
container_name: deer-flow-nginx
|
|
|
|
|
ports:
|
|
|
|
|
- "2026:2026"
|
|
|
|
|
volumes:
|
|
|
|
|
- ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro
|
|
|
|
|
depends_on:
|
2026-02-09 21:59:13 +08:00
|
|
|
- frontend
|
|
|
|
|
- gateway
|
2026-01-24 22:01:00 +08:00
|
|
|
- langgraph
|
|
|
|
|
networks:
|
|
|
|
|
- deer-flow-dev
|
|
|
|
|
restart: unless-stopped
|
|
|
|
|
|
|
|
|
|
# Frontend - Next.js Development Server
|
2026-02-09 21:59:13 +08:00
|
|
|
frontend:
|
2026-01-24 22:01:00 +08:00
|
|
|
build:
|
2026-02-09 21:59:13 +08:00
|
|
|
context: ../
|
|
|
|
|
dockerfile: frontend/Dockerfile
|
2026-01-24 22:01:00 +08:00
|
|
|
args:
|
|
|
|
|
PNPM_STORE_PATH: ${PNPM_STORE_PATH:-/root/.local/share/pnpm/store}
|
2026-02-09 21:59:13 +08:00
|
|
|
container_name: deer-flow-frontend
|
|
|
|
|
command: sh -c "cd frontend && pnpm run dev > /app/logs/frontend.log 2>&1"
|
2026-01-24 22:01:00 +08:00
|
|
|
volumes:
|
2026-02-09 21:59:13 +08:00
|
|
|
- ../frontend/src:/app/frontend/src
|
|
|
|
|
- ../frontend/public:/app/frontend/public
|
|
|
|
|
- ../frontend/next.config.js:/app/frontend/next.config.js:ro
|
|
|
|
|
- ../logs:/app/logs
|
2026-01-24 22:01:00 +08:00
|
|
|
# Mount pnpm store for caching
|
|
|
|
|
- ${PNPM_STORE_PATH:-~/.local/share/pnpm/store}:/root/.local/share/pnpm/store
|
2026-02-09 21:59:13 +08:00
|
|
|
working_dir: /app
|
2026-01-24 22:01:00 +08:00
|
|
|
environment:
|
|
|
|
|
- NODE_ENV=development
|
|
|
|
|
- WATCHPACK_POLLING=true
|
2026-02-09 21:59:13 +08:00
|
|
|
- CI=true
|
2026-01-24 22:01:00 +08:00
|
|
|
env_file:
|
|
|
|
|
- ../frontend/.env
|
|
|
|
|
networks:
|
|
|
|
|
- deer-flow-dev
|
|
|
|
|
restart: unless-stopped
|
|
|
|
|
|
|
|
|
|
# Backend - Gateway API
|
2026-02-09 21:59:13 +08:00
|
|
|
gateway:
|
2026-01-24 22:01:00 +08:00
|
|
|
build:
|
2026-02-09 21:59:13 +08:00
|
|
|
context: ../
|
|
|
|
|
dockerfile: backend/Dockerfile
|
|
|
|
|
container_name: deer-flow-gateway
|
|
|
|
|
command: sh -c "cd backend && uv run uvicorn src.gateway.app:app --host 0.0.0.0 --port 8001 --reload --reload-include='*.yaml .env' > /app/logs/gateway.log 2>&1"
|
2026-01-24 22:01:00 +08:00
|
|
|
volumes:
|
2026-02-09 21:59:13 +08:00
|
|
|
- ../backend/src:/app/backend/src
|
|
|
|
|
- ../backend/.env:/app/backend/.env
|
|
|
|
|
- ../config.yaml:/app/config.yaml
|
|
|
|
|
- ../skills:/app/skills
|
|
|
|
|
- ../logs:/app/logs
|
|
|
|
|
working_dir: /app
|
|
|
|
|
environment:
|
|
|
|
|
- CI=true
|
2026-01-24 22:01:00 +08:00
|
|
|
env_file:
|
|
|
|
|
- ../backend/.env
|
2026-02-09 21:59:13 +08:00
|
|
|
extra_hosts:
|
|
|
|
|
# For Linux: map host.docker.internal to host gateway
|
|
|
|
|
- "host.docker.internal:host-gateway"
|
2026-01-24 22:01:00 +08:00
|
|
|
networks:
|
|
|
|
|
- deer-flow-dev
|
|
|
|
|
restart: unless-stopped
|
|
|
|
|
|
|
|
|
|
# Backend - LangGraph Server
|
|
|
|
|
langgraph:
|
|
|
|
|
build:
|
2026-02-09 21:59:13 +08:00
|
|
|
context: ../
|
|
|
|
|
dockerfile: backend/Dockerfile
|
2026-01-24 22:01:00 +08:00
|
|
|
container_name: deer-flow-langgraph
|
2026-02-09 21:59:13 +08:00
|
|
|
command: sh -c "cd backend && uv run langgraph dev --no-browser --allow-blocking --host 0.0.0.0 --port 2024 > /app/logs/langgraph.log 2>&1"
|
2026-01-24 22:01:00 +08:00
|
|
|
volumes:
|
2026-02-09 21:59:13 +08:00
|
|
|
- ../backend/src:/app/backend/src
|
|
|
|
|
- ../backend/.env:/app/backend/.env
|
|
|
|
|
- ../config.yaml:/app/config.yaml
|
|
|
|
|
- ../skills:/app/skills
|
|
|
|
|
- ../logs:/app/logs
|
|
|
|
|
working_dir: /app
|
|
|
|
|
environment:
|
|
|
|
|
- CI=true
|
2026-01-24 22:01:00 +08:00
|
|
|
env_file:
|
|
|
|
|
- ../backend/.env
|
|
|
|
|
networks:
|
|
|
|
|
- deer-flow-dev
|
|
|
|
|
restart: unless-stopped
|
|
|
|
|
|
|
|
|
|
networks:
|
|
|
|
|
deer-flow-dev:
|
|
|
|
|
driver: bridge
|