部署

Node 部署

先运行 bun install --frozen-lockfile 和 bun run build。在主机环境中提供生产网址、会话签名密钥、配置加密密钥及数据库配置,再运行 bun run start。产物入口是 .output/server/index.mjs。

Cloudflare Workers 与 Pages

部署目标与功能开关独立选择:

bun run deploy --target worker --build-only
bun run deploy --target pages --build-only

正式发布前,根据 wrangler.example.jsonc 创建本地 wrangler.jsonc,填写绑定和生产网址,并通过 Cloudflare 配置运行时密钥。将 deploy.env.example 复制为 deploy.env;Pages 还需要 CF_PAGES_PROJECT。准备发布时才移除 --build-only。

数据库变更

生产环境使用先生成、审核再执行的迁移流程。部署脚本不会迁移或清空数据库。新增表需同步维护 SQLite、PostgreSQL 和 MySQL 三份 schema 模板,Workers 保留官方的 D1/Hyperdrive 支持。

无数据库的公开内容

使用 SQLite provider、空 DATABASE_URL 和 BLOG_STORAGE_MODE=mdx 可读取打包的本地内容;按需独立启用功能。需要持久化的功能会明确提示数据库要求。