Files
autoclip/docker-compose.dev.yml
Kris Ka dafae474fd 🐳 修复Docker部署问题
- 修复Redis连接地址硬编码问题,使用环境变量REDIS_URL
- 添加缺失的Python依赖:pysrt和psutil
- 修复Docker构建中的Rollup兼容性问题,使用node:18-slim
- 修复容器启动脚本的node环境检查问题
- 修复data目录权限问题
- 修复docker-compose.yml版本警告
- 创建专门的Docker启动脚本和开发环境配置
- 优化Dockerfile构建流程和错误处理

解决的主要问题:
1. 构建阶段失败 - Rollup模块兼容性
2. 依赖缺失 - pysrt和psutil
3. 运行时失败 - Redis硬编码和权限问题
4. 开发环境vite命令找不到问题

现在Docker部署应该可以正常工作。
2025-09-25 01:54:48 +08:00

82 lines
2.0 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
# 主应用服务(开发模式)
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
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
command: >
sh -c "
source venv/bin/activate &&
celery -A backend.core.celery_app worker --loglevel=debug --reload
"
depends_on:
- redis
- autoclip-dev
volumes:
redis_dev_data:
driver: local
networks:
default:
name: autoclip-dev-network