chore: 发布相关脚本改动
This commit is contained in:
parent
ef9a071aa1
commit
c41475b552
41
Makefile
41
Makefile
|
|
@ -255,8 +255,47 @@ docker-stop:
|
||||||
docker-logs:
|
docker-logs:
|
||||||
@./scripts/docker.sh logs
|
@./scripts/docker.sh logs
|
||||||
|
|
||||||
# View Docker development logs
|
|
||||||
docker-logs-frontend:
|
docker-logs-frontend:
|
||||||
@./scripts/docker.sh logs --frontend
|
@./scripts/docker.sh logs --frontend
|
||||||
docker-logs-gateway:
|
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"
|
||||||
|
|
@ -75,9 +75,9 @@ services:
|
||||||
- deer-flow-dev
|
- deer-flow-dev
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
# Frontend - Next.js Development Server
|
# Frontend - Next.js Development Server
|
||||||
frontend:
|
frontend:
|
||||||
# image: deer-flow-dev-frontend:latest
|
# image: deer-flow-dev-frontend:latest
|
||||||
build:
|
build:
|
||||||
context: ../
|
context: ../
|
||||||
dockerfile: frontend/Dockerfile
|
dockerfile: frontend/Dockerfile
|
||||||
|
|
@ -103,9 +103,9 @@ services:
|
||||||
- deer-flow-dev
|
- deer-flow-dev
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
# Backend - Gateway API
|
# Backend - Gateway API
|
||||||
gateway:
|
gateway:
|
||||||
# image: deer-flow-dev-gateway:latest
|
# image: deer-flow-dev-gateway:latest
|
||||||
build:
|
build:
|
||||||
context: ../
|
context: ../
|
||||||
dockerfile: backend/Dockerfile
|
dockerfile: backend/Dockerfile
|
||||||
|
|
@ -140,7 +140,7 @@ services:
|
||||||
|
|
||||||
# Backend - LangGraph Server
|
# Backend - LangGraph Server
|
||||||
langgraph:
|
langgraph:
|
||||||
# image: deer-flow-dev-langgraph:latest
|
# image: deer-flow-dev-langgraph:latest
|
||||||
build:
|
build:
|
||||||
context: ../
|
context: ../
|
||||||
dockerfile: backend/Dockerfile
|
dockerfile: backend/Dockerfile
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
Loading…
Reference in New Issue