Files
compose-anything/src/opencut/README.zh.md
2025-10-15 20:38:26 +08:00

4.6 KiB
Raw Blame History

OpenCut

English | 中文

OpenCut 是一个开源的视频编辑和音频处理平台。

前置条件

在部署 OpenCut 之前,您需要:

  1. 访问 FreeSound.org 并创建账户
  2. 在账户设置中创建 API 应用程序以获取您的客户端 ID 和 API 密钥
  3. 从源代码构建 OpenCut web 镜像(参见 OpenCut GitHub

快速开始

  1. 复制示例环境变量文件:

    cp .env.example .env
    
  2. 必需配置 - 编辑 .env 并设置以下必需变量:

    • POSTGRES_PASSWORD:数据库密码(请修改默认值!)
    • SERVERLESS_REDIS_HTTP_TOKENRedis HTTP 接口的随机令牌
    • OPENCUT_BETTER_AUTH_SECRET:身份验证的随机密钥
    • OPENCUT_FREESOUND_CLIENT_ID:您的 FreeSound 客户端 ID
    • OPENCUT_FREESOUND_API_KEY:您的 FreeSound API 密钥
  3. 可选配置 - 如需转录功能,请设置:

    • OPENCUT_CLOUDFLARE_ACCOUNT_ID
    • OPENCUT_R2_ACCESS_KEY_ID
    • OPENCUT_R2_SECRET_ACCESS_KEY
    • OPENCUT_R2_BUCKET_NAME
    • OPENCUT_MODAL_TRANSCRIPTION_URL
  4. 启动服务:

    docker compose up -d
    
  5. 访问 Web 界面:http://localhost:3100

服务

  • webOpenCut Web 应用程序
  • dbPostgreSQL 数据库
  • redisRedis 缓存
  • serverless-redis-http:用于 Upstash 兼容性的 Redis HTTP 接口

配置

版本配置

  • POSTGRES_VERSIONPostgreSQL 版本,默认为 17
  • REDIS_VERSIONRedis 版本,默认为 7-alpine
  • SERVERLESS_REDIS_HTTP_VERSIONServerless Redis HTTP 版本,默认为 latest
  • OPENCUT_WEB_IMAGEOpenCut web 镜像名称,默认为 opencut/web:latest

端口配置

  • POSTGRES_PORT_OVERRIDEPostgreSQL 主机端口,默认为 5432
  • REDIS_PORT_OVERRIDERedis 主机端口,默认为 6379
  • SERVERLESS_REDIS_HTTP_PORT_OVERRIDERedis HTTP 接口主机端口,默认为 8079
  • OPENCUT_WEB_PORT_OVERRIDEWeb 应用程序主机端口,默认为 3100

数据库配置

  • POSTGRES_USER:数据库用户名,默认为 opencut
  • POSTGRES_PASSWORD:数据库密码,必需
  • POSTGRES_DB:数据库名称,默认为 opencut

Redis 配置

  • SERVERLESS_REDIS_HTTP_TOKENRedis HTTP 接口的令牌,必需

应用程序配置

  • TZ:时区,默认为 UTC
  • OPENCUT_BETTER_AUTH_URL:身份验证服务 URL默认为 http://localhost:3100
  • OPENCUT_BETTER_AUTH_SECRET:身份验证密钥,必需
  • OPENCUT_FREESOUND_CLIENT_IDFreeSound 客户端 ID必需
  • OPENCUT_FREESOUND_API_KEYFreeSound API 密钥,必需

可选转录配置

留空以禁用自动字幕功能:

  • OPENCUT_CLOUDFLARE_ACCOUNT_IDCloudflare 账户 ID
  • OPENCUT_R2_ACCESS_KEY_IDR2 访问密钥 ID
  • OPENCUT_R2_SECRET_ACCESS_KEYR2 秘密访问密钥
  • OPENCUT_R2_BUCKET_NAMER2 存储桶名称
  • OPENCUT_MODAL_TRANSCRIPTION_URLModal 转录服务 URL

数据卷

  • postgres_dataPostgreSQL 数据存储

资源限制

服务 CPU 限制 内存限制 CPU 预留 内存预留
web 2.00 2G 0.50 512M
db 2.00 1G 0.50 256M
redis 1.00 512M 0.25 128M
serverless-redis-http 1.00 256M 0.25 64M

安全提示

⚠️ 重要安全建议:

  • 在生产环境部署前修改所有默认密码和密钥
  • 为以下变量使用强随机生成的值:
    • POSTGRES_PASSWORD
    • SERVERLESS_REDIS_HTTP_TOKEN
    • OPENCUT_BETTER_AUTH_SECRET
  • 切勿将包含真实凭据的 .env 文件提交到版本控制系统
  • 考虑设置带 HTTPS 的反向代理以供外部访问
  • 在生产环境中将数据库和 Redis 端口限制在内部网络
  • 妥善保管 FreeSound API 密钥

从源代码构建

由于 OpenCut 不提供预构建的 Docker 镜像,您需要自行构建:

# 克隆 OpenCut 仓库
git clone https://github.com/OpenCut-app/OpenCut.git
cd OpenCut

# 构建 web 镜像
docker build -t opencut/web:latest -f apps/web/Dockerfile .

# 返回到您的 compose 目录并启动服务
cd /path/to/compose-anything/src/opencut
docker compose up -d

参考

许可证

请参考 OpenCut 官方项目的许可证信息。