forked from zhouxiaoka/autoclip
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.dev.yml
More file actions
104 lines (100 loc) · 3.41 KB
/
Copy pathdocker-compose.dev.yml
File metadata and controls
104 lines (100 loc) · 3.41 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
services:
# Redis服务
redis:
image: redis:7-alpine
container_name: autoclip-redis-dev
restart: unless-stopped
ports:
- "6379:6379"
volumes:
- redis_dev_data:/data
command: redis-server --appendonly yes
# 主应用服务(开发模式)
autoclip-dev:
build:
context: .
dockerfile: Dockerfile.dev
container_name: autoclip-app-dev
restart: unless-stopped
ports:
- "8000:8000" # 后端API
- "3000:3000" # 前端界面
volumes:
- ./backend:/app/backend
- ./frontend:/app/frontend
- ./data:/app/data
- ./logs:/app/logs
- ./uploads:/app/uploads
- /app/venv # 排除虚拟环境
environment:
- REDIS_URL=redis://redis:6379/0
- DATABASE_URL=sqlite:///./data/autoclip.db
- ENVIRONMENT=development
- DEBUG=true
- LOG_LEVEL=DEBUG
# LLM 配置从宿主机 .env / shell 透传(compose 会自动读项目根目录的 .env 做变量替换)。
# 没有这一段时 DOCKER.md 里让用户填的 API_DASHSCOPE_API_KEY 根本进不了容器。
- LLM_PROVIDER=${LLM_PROVIDER:-dashscope}
- API_MODEL_NAME=${API_MODEL_NAME:-qwen-plus}
- API_DASHSCOPE_API_KEY=${API_DASHSCOPE_API_KEY:-}
- API_OPENAI_API_KEY=${API_OPENAI_API_KEY:-}
- OPENAI_BASE_URL=${OPENAI_BASE_URL:-}
- DASHSCOPE_BASE_URL=${DASHSCOPE_BASE_URL:-}
- API_GEMINI_API_KEY=${API_GEMINI_API_KEY:-}
- API_SILICONFLOW_API_KEY=${API_SILICONFLOW_API_KEY:-}
- AUTOCLIP_YT_SUBTITLE_LANGS=${AUTOCLIP_YT_SUBTITLE_LANGS:-}
depends_on:
- redis
command: >
sh -c "
source venv/bin/activate &&
python -m uvicorn backend.main:app --host 0.0.0.0 --port 8000 --reload &
cd frontend &&
if [ ! -d node_modules ]; then npm install; fi &&
npx vite --host 0.0.0.0 --port 3000 &
wait
"
# Celery Worker服务(开发模式)
celery-worker-dev:
build:
context: .
dockerfile: Dockerfile.dev
container_name: autoclip-celery-worker-dev
restart: unless-stopped
volumes:
- ./backend:/app/backend
- ./data:/app/data
- ./logs:/app/logs
- ./uploads:/app/uploads
- /app/venv
environment:
- REDIS_URL=redis://redis:6379/0
- DATABASE_URL=sqlite:///./data/autoclip.db
- ENVIRONMENT=development
- DEBUG=true
- LOG_LEVEL=DEBUG
# LLM 配置从宿主机 .env / shell 透传(compose 会自动读项目根目录的 .env 做变量替换)。
# 没有这一段时 DOCKER.md 里让用户填的 API_DASHSCOPE_API_KEY 根本进不了容器。
- LLM_PROVIDER=${LLM_PROVIDER:-dashscope}
- API_MODEL_NAME=${API_MODEL_NAME:-qwen-plus}
- API_DASHSCOPE_API_KEY=${API_DASHSCOPE_API_KEY:-}
- API_OPENAI_API_KEY=${API_OPENAI_API_KEY:-}
- OPENAI_BASE_URL=${OPENAI_BASE_URL:-}
- DASHSCOPE_BASE_URL=${DASHSCOPE_BASE_URL:-}
- API_GEMINI_API_KEY=${API_GEMINI_API_KEY:-}
- API_SILICONFLOW_API_KEY=${API_SILICONFLOW_API_KEY:-}
- AUTOCLIP_YT_SUBTITLE_LANGS=${AUTOCLIP_YT_SUBTITLE_LANGS:-}
command: >
sh -c "
source venv/bin/activate &&
celery -A backend.core.celery_app worker --loglevel=debug --reload -Q celery,processing,video,notification,upload
"
depends_on:
- redis
- autoclip-dev
volumes:
redis_dev_data:
driver: local
networks:
default:
name: autoclip-dev-network