TinyShip
TinyShip
 TinyShip
TinyShip
TinyShip 文档中心
TinyShip 用户指南快速开始基础配置
积分系统配置指南
存储服务配置数据库配置验证码配置
应用部署云平台部署Cloudflare Workers 部署Dokploy 部署Docker 部署传统部署
开发最佳实践本地 E2E 测试流程
用户指南应用部署

Cloudflare Workers 部署

TanStack Start 应用部署到 Cloudflare Workers 的说明(支持 Hyperdrive 与 D1)

本指南介绍如何将 TinyShip 的 TanStack Start 应用部署到 Cloudflare Workers。

适用范围:仅适用于 apps/tanstack-app(TanStack Start)。

数据库方案

方案数据库DB_DIALECT适用场景
Hyperdrive(推荐)PostgreSQLpg复用已有 PostgreSQL、三框架统一数据库
Cloudflare D1SQLite (D1)d1All-in Cloudflare、低运维
Neon ServerlessPostgreSQL (HTTP)pgNeon 用户替代路径

部署步骤

1) 登录 Cloudflare

cd apps/tanstack-app
npx wrangler login

2) 配置数据库

方案 A:Hyperdrive + PostgreSQL

npx wrangler hyperdrive create tinyship-db \
  --connection-string="postgresql://user:password@host:5432/dbname"

在 wrangler.jsonc 配置:

"hyperdrive": [
  {
    "binding": "HYPERDRIVE",
    "id": "<your-hyperdrive-id>",
    "localConnectionString": "postgresql://user:pwd@localhost:5432/tinyship"
  }
]

方案 B:D1(SQLite)

cd apps/tanstack-app
npx wrangler d1 create tinyship-db

在 wrangler.jsonc 配置:

"vars": {
  "DB_DIALECT": "d1",
  "APP_BASE_URL": "https://your-domain.com",
  "BETTER_AUTH_URL": "https://your-domain.com"
},
"d1_databases": [
  {
    "binding": "DB",
    "database_name": "tinyship-db",
    "database_id": "<your-d1-database-id>"
  }
]

使用 D1 时请移除或注释 hyperdrive 配置。

D1 迁移与初始化
pnpm db:generate:sqlite
npx wrangler d1 migrations apply tinyship-db
# 或本地预览环境
npx wrangler d1 migrations apply tinyship-db --local

3) 配置 Secrets

npx wrangler secret put BETTER_AUTH_SECRET
npx wrangler secret put DATABASE_URL
# 按需补充其他密钥

4) 本地预览

cd apps/tanstack-app
pnpm dev:cf

5) 部署上线

cd apps/tanstack-app
pnpm run deploy:cf

关键说明

  • Cloudflare Workers 下已支持 pg / d1 两条主路径
  • SQLite 与 D1 共用同一套 schema 定义
  • 如果你同时部署 Next/Nuxt/TanStack,推荐 Hyperdrive + PostgreSQL 保持统一

云平台部署

部署到 Vercel、Netlify、Railway 等云平台

Dokploy 部署

使用 Dokploy 在自有服务器上部署 TinyShip

On this page

数据库方案部署步骤1) 登录 Cloudflare2) 配置数据库方案 A:Hyperdrive + PostgreSQL方案 B:D1(SQLite)D1 迁移与初始化3) 配置 Secrets4) 本地预览5) 部署上线关键说明