Skip to main content
BlendDuck 文档

自托管

明确选择并验证数据库、对象存储和任务执行后端。

文档负责人:
BlendDuck Documentation
最近复核:

BlendDuck 是一个可独立部署的 TanStack Start 应用。控制台、认证、原生 API、MCP 服务、任务和数据层不需要额外的 CMS 或应用后端。

本地单实例配置

export DB_DIALECT=sqlite
export SQLITE_PATH=./wooply.db
export STORAGE_DRIVER=local
export JOBS_BACKEND=inline

pnpm db:deploy
pnpm dev

SQLite、本地存储和 Inline Job 适合本地开发与受控的单进程运行,不适合横向扩展的生产环境。

数据库

类型必需配置适用场景
PostgreSQLDB_DIALECT=pg 和 DATABASE_URL共享、多实例生产环境
SQLiteDB_DIALECT=sqlite 和 SQLITE_PATH本地、单实例环境
Cloudflare D1DB_DIALECT=d1 和 D1 BindingCloudflare Worker

必须显式设置 DB_DIALECT。数据库连接失败时,BlendDuck 不会静默切换到另一种数据库。

对选定环境执行迁移:

pnpm db:deploy

Cloudflare 生产环境使用以下命令,把已审核且兼容 SQLite 的迁移显式应用到远程 D1:

pnpm db:d1:migrate

对象存储

通过 STORAGE_DRIVER 选择 local、s3 或 r2。本地存储不适合横向扩展或临时计算环境。使用兼容 S3 的浏览器直传时,Bucket CORS 必须允许来自准确 APP_URL Origin 的 PUT 请求和 Content-Type Header。

后台任务

本地环境可使用 JOBS_BACKEND=inline。需要重试或必须在请求进程结束后继续执行时,应选择已配置的持久任务集成。无论执行后端如何变化,定时任务恢复和发布重试状态都会持久保存。

认证与外部地址

APP_URL 是 Better Auth、社交平台回调和 MCP OAuth 的标准 Origin。生产环境只应有一个公开 HTTPS Origin;反向代理必须保留原始 Host、Protocol、Authorization 和 MCP 协议 Header。

仅当未配置邮件服务时,开发环境的邮件验证码才会写入服务端控制台。生产环境必须配置 RESEND_API_KEY 和 EMAIL_FROM。

安全材料

安全备份 ENCRYPTION_KEY。它用于加密平台凭据,并且必须与 BETTER_AUTH_SECRET 独立。两者都应通过部署平台的 Secret Store 配置,不要提交到环境文件。

验证

使用快速开始完成首次端到端运行。除了验证 Node 或 Cloudflare 构建,还要逐个验证计划使用的外部平台连接;应用构建成功并不能证明平台凭据或平台审核状态有效。

本页目录