Files
autoclip/docker-compose.dev.yml
Kris K 7fd70c9919 refactor: 整理旧运维入口与过时仓库文档 (#245)
* refactor: consolidate repository launchers and retire stale tooling

* test: wait for source smoke broker and correct desktop entry docs

* chore: exclude runtime PID metadata from repository and images
2026-09-30 21:43:41 +08:00

108 lines
3.5 KiB
YAML

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
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 5s
timeout: 3s
retries: 10
# 主应用服务(开发模式)
autoclip-dev:
build:
context: .
dockerfile: Dockerfile.dev
image: autoclip: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
- frontend_dev_modules:/app/frontend/node_modules
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:
condition: service_healthy
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000/api/v1/health/"]
interval: 10s
timeout: 5s
retries: 12
start_period: 60s
# Celery Worker服务(开发模式)
celery-worker-dev:
build:
context: .
dockerfile: Dockerfile.dev
image: autoclip:dev
container_name: autoclip-celery-worker-dev
restart: unless-stopped
volumes:
- ./backend:/app/backend
- ./data:/app/data
- ./logs:/app/logs
- ./uploads:/app/uploads
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: ["celery", "-A", "backend.core.celery_app", "worker", "--loglevel=debug", "--concurrency=1", "-Q", "celery,processing,video,notification,upload"]
depends_on:
redis:
condition: service_healthy
autoclip-dev:
condition: service_healthy
volumes:
frontend_dev_modules:
redis_dev_data:
driver: local
networks:
default:
name: autoclip-dev-network