CONNECT YOUR PLATFORM

连接你的真实服务。

本站仅使用真实数据。数据库未连接、迁移未执行或服务未配置时,会显示具体错误;不会创建示例账户、域名或订单。

启动配置未就绪邮件:未启用,暂不要求邮箱验证DNS:未配置
01

一次性配置启动环境

Vercel → 项目 subdomain → Settings → Environment Variables。本地将 .env.example 复制为 apps/web/.env.local。

DATABASE_URL=postgresql://用户名:URL编码密码@数据库域名:5432/subdomain1?sslmode=verify-fullBETTER_AUTH_URL=https://你的站点域名BETTER_AUTH_SECRET=独立随机密钥,至少 32 字符APP_ENCRYPTION_KEY=独立 32 字节随机值的 Base64 编码

Better Auth 已内置于本站,不需额外部署;BETTER_AUTH_URL 填本站地址,BETTER_AUTH_SECRET 是自己生成的随机值。

分别执行 openssl rand -base64 32 生成不同密钥,保存后重新部署。加密主密钥必须单独备份,不可和密文放在同一数据库。APP_MODE 已不再控制运行模式。

AUTO_MIGRATE=true

在 Vercel 填写 AUTO_MIGRATE=true 后重新部署,构建会自动创建或升级数据表。迁移失败会中止构建并显示原因。升级前先备份,也可在本地或宝塔终端执行 npm run db:migrate。

02

创建第一个管理员

设置 ADMIN_EMAIL 为你的注册邮箱,ADMIN_SETUP_TOKEN 为独立随机初始化码(至少 32 字符),重新部署。使用该邮箱注册登录后,在这里输入初始化码。成功后重新登录即可进入后台,不需要命令行。

数据库连接和迁移完成后,可在这里初始化管理员。

初始化只允许一次。完成后可删除这两个初始化环境变量;之后在后台管理角色。

03

在后台配置业务服务

管理员登录 → 管理后台 →「站点与服务」。填写 SMTP 主机、465/587 端口、账户、发件邮箱及密码;填写 Cloudflare API Token。保存即时生效,无需重新部署。

密码与 Token 使用 AES-256-GCM 加密入库。页面不会回显原值;留空保留原值,勾选清除后才能删除凭据。更改有审计记录,并检测多人编辑冲突。

邮件未启用时,注册登录可用,邮箱不会被标记为已验证;忘记密码与验证邮件暂停。启用邮件后可选是否强制验证,后台提供 SMTP 连接测试及发送测试邮件。

DNS Token 只开放运营者目标区域的 Zone Read、DNS Read、DNS Edit。根域名和 Zone ID 在「根域名」管理中配置;开放申请前验证区域归属。

进入管理后台
04

配置定时执行器

在环境中设置独立随机的 CRON_SECRET。外部调度器每分钟请求 GET /api/jobs,使用 Authorization: Bearer 密钥 请求头。密钥不放 URL。或在云服务器每分钟运行 npm run worker:once。

任务负责 DNS 重试与未完成登记的超时释放。只填写密钥不代表调度已运行;后台可以查看失败任务、手动执行和重新排队。

当前功能边界

账号、免费结算、平台登记审核、DNS 管理、后台设置及用户角色管理均使用真实数据库与服务接口。付费支付、官方 ICP、第三方实名和完整年度到期 DNS 清理尚未开放;未实现的能力不会返回模拟成功。

宝塔 PostgreSQL 连接教程

完整配置文档