快速开始
这份指南会让 Sandcut 在不影响现有 Worker 发布链路的前提下,快速跑起来。
部署模型
建议把系统拆成三个独立服务:
- 现有应用服务:仓库根目录的 Worker + Container 发布链路
- 新的 Sandcut 服务:使用
wrangler.sandcut.toml发布的第二套 Worker + Container 服务 - 文档服务:基于
apps/docs的 Cloudflare Pages 站点
这样做的好处是:文档发布不会影响生产媒体流量,新的公开服务也不会覆盖你已有的部署。
前置条件
- Node.js 20+
- 已开通 Workers、Containers、Durable Objects、KV、R2 的 Cloudflare 账号
- 本地已经完成 Wrangler 登录
安装应用依赖
bash
npm install
cp .dev.vars.example .dev.vars本地运行现有应用
bash
npm run dev本地运行新的 Sandcut 服务
bash
npm run dev:sandcut创建 Bearer Token
bash
wrangler kv key put --binding=AUTH_KV "your-secret-token" "active" --remote发起一次处理请求
bash
curl -X POST http://127.0.0.1:8787/video/process \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your-secret-token" \
-d '{
"input_url": "https://example.com/video.mp4",
"ffmpeg_args": ["-vf", "scale=640:360", "-c:v", "libx264"],
"seek": { "mode": "hybrid", "start": 30, "duration": 8 }
}'启动文档应用
文档站位于 apps/docs,与根目录应用完全解耦。
bash
cd apps/docs
npm install
npm run dev构建并发布文档
bash
cd apps/docs
npm run build
npm run deploy默认会发布到独立的 Pages 项目 sandcut-docs。
发布新的 Sandcut Worker + Container 服务
bash
npm run build:sandcut
npm run deploy:sandcut替换你自己的 Cloudflare 资源
在公开部署前,请先把 wrangler.toml 或 wrangler.sandcut.toml 里的占位值替换成你自己的:
CDN_DOMAINOUTPUT_BUCKET.bucket_nameAUTH_KV.id