Feedbase 部署到 Vercel 指南:免费云托管你的反馈系统的完整流程
【免费下载链接】feedbaseThe open-source solution for collecting feedback & communicating updates.项目地址: https://gitcode.com/gh_mirrors/fe/feedbase
Feedbase 是一款开源的反馈收集与更新沟通工具,旨在帮助产品团队高效收集用户反馈、管理功能建议并发布更新日志。本指南将手把手教你将 Feedbase 部署到 Vercel,免费云托管属于你自己的反馈系统,全程无需服务器、无需为基础设施付费,只需几个简单的配置步骤即可上线。
为什么选择 Feedbase + Vercel 的组合?
在开始部署前,先快速了解这套组合的优势:
| 优势 | 说明 |
|---|---|
| 零服务器成本 | Vercel 提供免费托管额度,Feedbase 本身开源免费 |
| 自动 HTTPS | Vercel 自动为你的反馈系统配置 SSL 证书 |
| 持续部署 | 代码推送即自动构建上线,无需手动操作 |
| 全球 CDN | 访问速度更快,用户体验更佳 |
Feedbase 的技术栈基于 Next.js + TypeScript + Supabase,与 Vercel 天然兼容,这也是官方推荐的自托管方式。官方部署文档位于 vercel.mdx,部署前建议通读一遍。
部署前的准备工作
正式部署前,你需要准备以下账号和工具:
- Supabase 账号:用于创建数据库和用户认证服务
- Vercel 账号:用于云托管你的反馈系统
- Git 客户端:用于克隆 Feedbase 仓库
第一步:创建 Supabase 项目
进入 Supabase 控制台,点击 "New Project" 按钮创建新项目。创建完成后记下项目的Project URL和anon key,它们位于项目的 API 设置页面,后续配置环境变量时需要用到。
第二步:迁移数据库结构
Feedbase 的所有数据库迁移脚本存放在项目的 supabase/migrations 目录中,共包含 6 个 SQL 迁移文件,涵盖数据库认证、存储、API Key 系统、自定义主题、通知系统、更新日志订阅等数据表。
迁移数据库有三种方式,新手推荐前两种:
方式一:使用 Supabase CLI(推荐)
首先克隆 Feedbase 仓库:
git clone https://gitcode.com/gh_mirrors/fe/feedbase.git然后依次执行登录、关联项目和推送迁移:
supabase login supabase link --project-ref <你的项目ID> supabase db push项目 ID 可以在 Supabase 项目仪表盘的 URL 中找到,或通过supabase projects list命令查看。
方式二:使用 SQL Editor 手动执行
进入 Supabase 项目的 SQL Editor,将supabase/migrations目录下每个迁移文件的内容依次复制进去并运行。如果全部执行成功,你的 Supabase 仪表盘中应该能看到完整的数据库表结构。
方式三:使用 Supafork 自动化迁移
Supafork 可以帮你自动 fork Feedbase 仓库并完成数据库迁移,适合不想接触命令行的小伙伴。
第三步:配置 Supabase 认证
数据库迁移完成后,进入 Supabase 的 Authentication 设置中的URL Configuration,添加你的站点地址和重定向地址:
- Site URL:
https://<你的域名>.com - Redirect URLs:
https://**.<你的域名>.com/**
这一步非常关键,配置错误会导致用户登录失败或回调地址报错。
Feedbase 环境变量配置详解
环境变量是部署过程中最容易出错的一环。Feedbase 所需的全部环境变量定义在仓库根目录的 .env.example 文件中,部署前请逐项核对。
必填环境变量
| 变量名 | 说明 |
|---|---|
NEXT_PUBLIC_SUPABASE_URL | Supabase 项目的 API URL |
NEXT_PUBLIC_SUPABASE_ANON_KEY | Supabase 项目的匿名公钥 |
NEXT_PUBLIC_ROOT_DOMAIN | 站点根域名(不带 https:// 和末尾斜杠) |
子域名托管相关变量
如果你计划在子域名上托管 Feedbase(例如https://feedback.example.com),需要额外配置:
SUBDOMAIN_HOSTING:设置为trueDASHBOARD_SUBDOMAIN:设置为托管管理后台的子域名前缀CUSTOM_DOMAIN_WHITELIST:逗号分隔的自定义域名白名单,用于公共反馈页面的域名分配
提示:如果你已经在根域名上托管了落地页,强烈建议使用子域名方式托管 Feedbase,避免冲突。
可选环境变量
RESEND_API_KEY:用于邮件通知和团队邀请,不使用邮件功能可留空SUPABASE_SERVICE_ROLE_KEY:仅单点登录(SSO)集成需要TINYBIRD_API_KEY:仅使用 Tinybird 数据分析时需要VERCEL_PROJECT_ID/VERCEL_TEAM_ID/VERCEL_AUTH_TOKEN:仅自定义域名功能需要
一键部署 Feedbase 到 Vercel 的具体步骤
环境变量准备好后,就可以开始正式部署了。整个部署过程约 5-10 分钟。
在 Vercel 中导入仓库
登录 Vercel 控制台,点击 "Add New" → "Project",选择从 Git 仓库导入 Feedbase 项目。如果你还没有将仓库推送到自己的 Git 平台,也可以使用 Vercel 的 CLI 直接部署:
npm i -g vercel vercel关键配置:Root Directory 必须设为 apps/web
Feedbase 是一个 monorepo 结构(使用 pnpm workspace + Turbo 管理),Web 应用位于 apps/web 目录。因此你需要在 Vercel 项目的Settings → General中,将Root Directory设置为apps/web。
这是新手最容易踩的坑:如果这一步没配置,构建会失败并报错Error: No Output Directory named "public" found after the Build completed。
添加环境变量并部署
在 Vercel 项目设置的Environment Variables中,添加前面整理好的全部环境变量。注意勾选合适的环境(Production / Preview / Development)。然后点击 Deploy 按钮,等待构建完成即可。
部署完成后,你的反馈系统就会在 Vercel 分配的域名上运行了。你可以在管理后台创建项目、发布更新日志、收集用户反馈,完整的后台代码位于 apps/web/app/dash 目录。
部署常见问题排查(Troubleshooting)
根据官方文档和社区反馈,以下三个问题出现频率最高,遇到时按图索骥即可:
构建失败:找不到 public 输出目录
原因:monorepo 的 Root Directory 未配置。
解决:进入 Project Settings → General,将 Root Directory 改为apps/web后重新部署。
页面显示 404: NOT_FOUND
原因:构建与部署设置不匹配。
解决:在 Project Settings → General 中,将 Framework Preset 选择为Next.js。
页面出现 404 错误
原因:子域名相关的环境变量配置错误。
解决:回到环境变量配置部分,重新核对SUBDOMAIN_HOSTING、DASHBOARD_SUBDOMAIN、CUSTOM_DOMAIN_WHITELIST三个变量是否设置正确。
总结
通过本指南,你已经掌握了 Feedbase 部署到 Vercel 的完整流程:创建 Supabase 项目并迁移数据库 → 配置认证与环境变量 → 在 Vercel 中设置 Root Directory 并一键部署。整个过程完全免费,无需购买服务器,Feedbase 的邮件模板、通知系统等完整功能开箱即用。
现在就去部署你自己的反馈系统吧,把用户的声音变成产品改进的动力!🚀
【免费下载链接】feedbaseThe open-source solution for collecting feedback & communicating updates.项目地址: https://gitcode.com/gh_mirrors/fe/feedbase
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考