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
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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