本指南将帮助你使用 Docker 一键部署 AutoClip 项目。
- Docker: 版本 20.10+
- Docker Compose: 版本 2.0+
- API 密钥: DashScope 或 SiliconFlow API 密钥
git clone <repository-url>
cd autoclip_mvp# 复制环境变量模板
cp env.example .env
# 编辑配置文件
nano .env # 或使用你喜欢的编辑器在 .env 文件中配置你的 API 密钥:
# 选择其中一个 API 提供商
DASHSCOPE_API_KEY=your-dashscope-api-key-here
# 或者
SILICONFLOW_API_KEY=your-siliconflow-api-key-here
# API 提供商选择
API_PROVIDER=dashscope # 或 siliconflow# 运行部署脚本
./docker-deploy.sh脚本会自动:
- 检查 Docker 环境
- 创建必要目录
- 构建 Docker 镜像
- 启动服务
- 验证服务状态
部署成功后,你可以通过以下地址访问:
- 🌐 前端界面: http://localhost:8000
- 📚 API 文档: http://localhost:8000/docs
如果你不想使用自动脚本,也可以手动执行以下步骤:
mkdir -p uploads output/clips output/collections output/metadata data input# 构建镜像
docker-compose build
# 启动服务
docker-compose up -d# 查看实时日志
docker-compose logs -f
# 查看特定服务日志
docker-compose logs -f autoclip部署后的目录结构:
autoclip_mvp/
├── .env # 环境变量配置
├── docker-compose.yml # Docker Compose 配置
├── Dockerfile # Docker 镜像构建文件
├── uploads/ # 上传文件存储 (挂载到容器)
├── output/ # 输出文件存储 (挂载到容器)
│ ├── clips/ # 视频切片
│ ├── collections/ # 视频合集
│ └── metadata/ # 元数据
├── data/ # 配置文件 (挂载到容器)
└── input/ # 输入文件 (挂载到容器)
| 变量名 | 说明 | 默认值 | 必需 |
|---|---|---|---|
DASHSCOPE_API_KEY |
DashScope API 密钥 | - | 二选一 |
SILICONFLOW_API_KEY |
SiliconFlow API 密钥 | - | 二选一 |
API_PROVIDER |
API 提供商 | dashscope |
否 |
MODEL_NAME |
模型名称 | qwen-plus |
否 |
CHUNK_SIZE |
文本分块大小 | 5000 |
否 |
MIN_SCORE_THRESHOLD |
最低评分阈值 | 0.7 |
否 |
- 8000: 主服务端口 (前端 + API)
以下目录会被挂载到容器中,数据会持久保存:
./uploads→/app/uploads./output→/app/output./data→/app/data./input→/app/input
# 启动服务
docker-compose up -d
# 停止服务
docker-compose down
# 重启服务
docker-compose restart
# 查看服务状态
docker-compose ps# 查看实时日志
docker-compose logs -f
# 查看最近日志
docker-compose logs --tail=100
# 查看特定服务日志
docker-compose logs -f autoclip# 重新构建镜像
docker-compose build --no-cache
# 拉取最新镜像
docker-compose pull
# 清理未使用的镜像
docker image prune# 备份数据
tar -czf autoclip-backup-$(date +%Y%m%d).tar.gz uploads/ output/ data/
# 恢复数据
tar -xzf autoclip-backup-20231201.tar.gz# 查看详细错误日志
docker-compose logs
# 检查端口占用
netstat -tulpn | grep 8000
# 检查磁盘空间
df -h# 检查环境变量
docker-compose exec autoclip env | grep API
# 重新配置环境变量
nano .env
docker-compose restart# 修复目录权限
sudo chown -R $USER:$USER uploads/ output/ data/ input/
# 设置正确的权限
chmod -R 755 uploads/ output/ data/ input/# 检查 FFmpeg 是否正常
docker-compose exec autoclip ffmpeg -version
# 重新构建镜像
docker-compose build --no-cache在 docker-compose.yml 中调整资源限制:
deploy:
resources:
limits:
memory: 4G # 增加内存限制
cpus: '2.0' # 增加CPU限制# 使用 BuildKit 加速构建
export DOCKER_BUILDKIT=1
docker-compose build-
API 密钥安全
- 不要在代码中硬编码 API 密钥
- 定期轮换 API 密钥
- 使用环境变量管理敏感信息
-
网络安全
- 在生产环境中使用 HTTPS
- 配置防火墙规则
- 限制容器网络访问
-
数据安全
- 定期备份重要数据
- 加密敏感配置文件
- 监控文件访问权限
如果遇到问题,请:
- v1.0.0: 初始 Docker 部署支持
- 支持多阶段构建
- 集成前端静态文件服务
- 添加健康检查
- 支持环境变量配置