chore: 发布相关脚本改动

This commit is contained in:
Titan 2026-03-15 20:38:11 +08:00
parent ef9a071aa1
commit c41475b552
3 changed files with 142 additions and 7 deletions

View File

@ -255,8 +255,47 @@ docker-stop:
docker-logs:
@./scripts/docker.sh logs
# View Docker development logs
docker-logs-frontend:
@./scripts/docker.sh logs --frontend
docker-logs-gateway:
@./scripts/docker.sh logs --gateway
@./scripts/docker.sh logs --gateway
# ==========================================
# Docker Publish Command
# ==========================================
# Usage: make docker-publish VERSION=v220.20251202 SERVICE=frontend
# Example: make docker-publish VERSION=v220.20251202 SERVICE=frontend
docker-publish:
@if [ -z "$(VERSION)" ]; then \
echo "✗ VERSION is required (e.g. v220.20251202)"; \
exit 1; \
fi
@if [ -z "$(SERVICE)" ]; then \
echo "✗ SERVICE is required (frontend, gateway, langgraph)"; \
exit 1; \
fi
@echo "=========================================="
@echo " Building Docker image for $(SERVICE)"
@echo "=========================================="
@IMAGE=registry.xueai.art/deerflow/deerflow-$(SERVICE):$(VERSION); \
DOCKERFILE=$$(case "$(SERVICE)" in \
frontend) echo "frontend/Dockerfile";; \
gateway) echo "backend/Dockerfile";; \
langgraph) echo "backend/Dockerfile";; \
*) echo "";; \
esac); \
if [ -z "$$DOCKERFILE" ]; then \
echo "✗ Unknown SERVICE: $(SERVICE)"; \
exit 1; \
fi; \
docker build -f $$DOCKERFILE -t $$IMAGE .; \
if [ $$? -ne 0 ]; then \
echo "✗ Docker build failed"; \
exit 1; \
fi; \
docker push $$IMAGE; \
if [ $$? -ne 0 ]; then \
echo "✗ Docker push failed"; \
exit 1; \
fi; \
echo "✓ Docker image $$IMAGE built and pushed successfully"

View File

@ -75,9 +75,9 @@ services:
- deer-flow-dev
restart: unless-stopped
# Frontend - Next.js Development Server
# Frontend - Next.js Development Server
frontend:
# image: deer-flow-dev-frontend:latest
# image: deer-flow-dev-frontend:latest
build:
context: ../
dockerfile: frontend/Dockerfile
@ -103,9 +103,9 @@ services:
- deer-flow-dev
restart: unless-stopped
# Backend - Gateway API
# Backend - Gateway API
gateway:
# image: deer-flow-dev-gateway:latest
# image: deer-flow-dev-gateway:latest
build:
context: ../
dockerfile: backend/Dockerfile
@ -140,7 +140,7 @@ services:
# Backend - LangGraph Server
langgraph:
# image: deer-flow-dev-langgraph:latest
# image: deer-flow-dev-langgraph:latest
build:
context: ../
dockerfile: backend/Dockerfile

View File

@ -0,0 +1,96 @@
# 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
version: '3.8'
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
env_file:
- ../frontend/.env
networks:
- deer-flow-dev
restart: unless-stopped
gateway:
image: registry.xueai.art/deerflow/deerflow-backend:${VERSION}
container_name: deer-flow-gateway
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
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