DEPLOYMENT

部署准备

这个项目可以免费部署。代码推到 GitHub 后,Vercel 负责构建,Supabase 负责账号、文章、投稿和档案数据。

部署平台
Vercel Hobby
内容库
Supabase Free
框架
Next.js App Router
权限系统
Supabase Auth + RLS
管理员范围
profiles.role = admin

当前上线状态

这不是最终进度条,而是部署前最容易卡住的几个检查点。

检查档案结构

本地构建

已通过

pnpm check 可以完成 lint 和生产构建。

Git 仓库

已连接

当前项目已经在 Git 仓库中,可继续推送到 GitHub 和 Vercel。

Supabase

已接入

已可使用文章和账号系统。新增作品、事件、档案物表需要重新执行最新 schema。

Vercel

已部署

推送 GitHub 后,Vercel 会自动构建并更新线上站点。

免费上线清单

这些步骤按顺序做。每一步完成后,项目就更接近可以公开分享。

准备 GitHub 仓库

把当前项目推到 GitHub。Vercel 会从仓库自动构建和部署。

创建 Supabase 免费项目

在 SQL Editor 执行 supabase/schema.sql,生成文章、作品、事件、档案物、投稿和权限表。

设置环境变量

在本地和 Vercel 同步填写 Supabase URL、publishable key、站点地址和管理员邮箱。

部署到 Vercel

Import Project 后选择仓库,保持默认 Next.js 构建设置即可。

注册管理员账号

部署后在网站注册,用 SQL 把自己的 profile role 改成 admin。

替换真实素材

上线前至少补入 P4 标识图、三张真实现场图和一组代表作品素材。

GitHub 推送命令

新建 GitHub 仓库后,把仓库地址替换到命令里。推上去后,Vercel 就能直接读取。

git status
git add .
git commit -m "Build P4 theater archive"
git remote add origin https://github.com/YOUR_NAME/YOUR_REPO.git
git push -u origin main

环境变量

本地 `.env.local` 和 Vercel Project Settings 都需要填写同一组变量。

NEXT_PUBLIC_SUPABASE_URLSupabase Project Settings > API
NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEYSupabase Project Settings > API
NEXT_PUBLIC_SITE_URL本地用 127.0.0.1,上线后换成 Vercel 域名
ADMIN_EMAILS你的管理员邮箱,多个邮箱用英文逗号分隔

管理员 SQL

注册账号后,把邮箱换成你的邮箱,在 Supabase SQL Editor 运行。

update public.profiles
set role = 'admin'
where id = (select id from auth.users where email = 'you@example.com');

上线前最后检查

至少准备 P4 标识图、三张真实现场图、三个重点作品说明和一套投稿审核规则。

查看档案结构