Skip to content

快速开始

这份指南会让 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.tomlwrangler.sandcut.toml 里的占位值替换成你自己的:

  • CDN_DOMAIN
  • OUTPUT_BUCKET.bucket_name
  • AUTH_KV.id

为沙箱化媒体工作负载而构建。