配置指南

按照以下步骤配置 PromptDock 以开始使用

1

创建 Supabase 项目

1. 访问 Supabase 官网 并注册账户

2. 创建新项目,记录项目的 URL 和 API Key

3. 在项目的 SQL 编辑器中执行以下建表语句:

-- 创建 categories 表
CREATE TABLE categories (
  id UUID DEFAULT gen_random_uuid() PRIMARY KEY,
  user_id UUID REFERENCES auth.users(id) ON DELETE CASCADE,
  name TEXT NOT NULL,
  created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
);

-- 创建 prompts 表
CREATE TABLE prompts (
  id UUID DEFAULT gen_random_uuid() PRIMARY KEY,
  user_id UUID REFERENCES auth.users(id) ON DELETE CASCADE,
  category_id UUID REFERENCES categories(id) ON DELETE CASCADE,
  content TEXT NOT NULL,
  created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
  updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
);

-- 启用 RLS (Row Level Security)
ALTER TABLE categories ENABLE ROW LEVEL SECURITY;
ALTER TABLE prompts ENABLE ROW LEVEL SECURITY;

-- 创建 RLS 策略
CREATE POLICY "Users can only see their own categories" ON categories
  FOR ALL USING (auth.uid() = user_id);

CREATE POLICY "Users can only see their own prompts" ON prompts
  FOR ALL USING (auth.uid() = user_id);

-- 创建索引
CREATE INDEX idx_categories_user_id ON categories(user_id);
CREATE INDEX idx_prompts_user_id ON prompts(user_id);
CREATE INDEX idx_prompts_category_id ON prompts(category_id);
2

配置环境变量

编辑项目根目录下的 .env.local 文件:

# Supabase Configuration
NEXT_PUBLIC_SUPABASE_URL=https://your-project-ref.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key

# NextAuth Secret (生成一个随机字符串)
NEXTAUTH_SECRET=your-nextauth-secret-key-here
NEXTAUTH_URL=http://localhost:3000

⚠️ 重要提示:

  • your-project-ref 替换为你的 Supabase 项目引用
  • your-anon-key 替换为你的 Supabase 匿名密钥
  • NEXTAUTH_SECRET 生成一个强随机字符串
3

配置认证(可选)

如需启用 Google 登录,请:

  1. 在 Supabase 项目的 Authentication → Providers 中启用 Google
  2. 在 Google Cloud Console 创建 OAuth 2.0 凭据
  3. 将客户端 ID 和密钥添加到环境变量中
4

本地开发测试

配置完成后,启动开发服务器进行测试:

npm install
npm run dev

访问 http://localhost:3000 确认应用正常运行。

5

部署到 Zeabur

5.1 准备代码仓库

  1. 将代码推送到 GitHub、GitLab 或 Gitee
  2. 确保 .env.local 文件已添加到 .gitignore

5.2 在 Zeabur 创建项目

  1. 访问 Zeabur 官网 并登录
  2. 点击 "New Project" 创建新项目
  3. 选择 "Deploy from Git" 并连接你的代码仓库
  4. 选择 PromptDock 项目仓库

5.3 配置环境变量

在 Zeabur 项目设置中添加以下环境变量:

NEXT_PUBLIC_SUPABASE_URL=https://your-project-ref.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key
NEXTAUTH_SECRET=your-nextauth-secret-key-here
NEXTAUTH_URL=https://your-app-name.zeabur.app

💡 提示:

  • NEXTAUTH_URL 设置为你的 Zeabur 应用域名
  • 其他环境变量与本地开发时相同
  • Zeabur 会自动检测 Next.js 项目并配置构建设置

5.4 部署应用

  1. 点击 "Deploy" 开始部署
  2. 等待构建完成(通常需要 2-5 分钟)
  3. 部署成功后,Zeabur 会提供一个访问域名
  4. 访问该域名确认应用正常运行

5.5 配置自定义域名(可选)

  1. 在 Zeabur 项目设置中点击 "Domains"
  2. 添加你的自定义域名
  3. 按照提示配置 DNS 记录
  4. 等待 SSL 证书自动配置完成
6

部署后配置

6.1 更新 Supabase 认证设置

  1. 在 Supabase 项目的 Authentication → URL Configuration 中
  2. 将 Site URL 设置为你的 Zeabur 应用域名
  3. 在 Redirect URLs 中添加:https://your-domain.zeabur.app/auth/callback

6.2 测试功能

  1. 访问部署后的应用
  2. 测试用户注册/登录功能
  3. 测试创建分类和 Prompt 功能
  4. 确认数据正常保存到 Supabase

🎉 恭喜!

你的 PromptDock 应用已成功部署到 Zeabur,现在可以在任何地方访问和使用了!