Supabase项目创建 #
一、创建云上项目 #
1.1 注册账号 #
text
访问 Supabase 官网
│
▼
点击 "Start your project"
│
▼
选择注册方式
├── GitHub授权 (推荐)
├── GitLab授权
├── Bitbucket授权
└── 邮箱注册
│
▼
完成注册,进入Dashboard
1.2 创建组织 #
text
首次使用需要创建组织
│
├── 组织名称
│ 例如: "My Company" 或 "Personal"
│
└── 选择计划
├── Free (免费)
│ └── 适合学习和小型项目
├── Pro ($25/月)
│ └── 适合生产环境
└── Team/Enterprise
└── 适合团队和企业
1.3 创建项目 #
text
点击 "New Project"
│
├── 选择组织
│
├── 项目名称
│ 例如: "my-awesome-app"
│
├── 数据库密码
│ ⚠️ 请妥善保存,无法再次查看
│
├── 区域选择
│ 推荐: 选择离用户最近的区域
│ - Northeast Asia (Tokyo)
│ - Southeast Asia (Singapore)
│ - West US (San Francisco)
│ - East US (N. Virginia)
│ - West EU (Frankfurt)
│ - West EU (Ireland)
│
└── 定价计划
└── 选择适合的计划
1.4 等待项目初始化 #
text
项目初始化中...
├── 创建数据库实例 (~1-2分钟)
├── 配置认证服务
├── 配置存储服务
├── 配置API网关
└── 完成!
项目创建后自动生成:
├── 项目ID (Project Reference)
├── API URL
├── 匿名密钥 (anon key)
├── 服务密钥 (service_role key)
└── JWT密钥
二、Dashboard概览 #
2.1 导航菜单 #
text
Dashboard布局
├── 左侧导航
│ ├── Home - 项目概览
│ ├── Table Editor - 表编辑器
│ ├── SQL Editor - SQL编辑器
│ ├── Database - 数据库管理
│ ├── Authentication - 认证管理
│ ├── Storage - 存储管理
│ ├── Edge Functions - 边缘函数
│ ├── Realtime - 实时订阅
│ ├── Logs - 日志查看
│ ├── Reports - 报告统计
│ └── Settings - 项目设置
│
└── 主内容区
└── 根据选择显示不同内容
2.2 项目设置 #
text
Settings 页面
├── General - 常规设置
│ ├── 项目名称
│ ├── 项目ID
│ └── 删除项目
│
├── API - API设置
│ ├── Project URL
│ ├── API Keys
│ └── JWT设置
│
├── Auth - 认证设置
│ ├── URL配置
│ ├── 认证提供商
│ └── 邮件模板
│
├── Database - 数据库设置
│ ├── 连接信息
│ ├── 连接池
│ └── 扩展管理
│
└── Storage - 存储设置
└── 全局配置
三、获取项目配置 #
3.1 API配置信息 #
text
Settings > API
Project URL
├── 格式: https://xxxxxxxx.supabase.co
└── 用途: 客户端连接地址
API Keys
├── anon public
│ ├── 用途: 客户端使用
│ ├── 权限: 受RLS限制
│ └── 安全: 可以公开
│
└── service_role
├── 用途: 服务端使用
├── 权限: 绕过RLS
└── 安全: ⚠️ 必须保密!
3.2 数据库连接信息 #
text
Settings > Database
Connection Info
├── Host: db.xxxxxxxx.supabase.co
├── Database name: postgres
├── Port: 5432 (直连) / 6543 (连接池)
├── User: postgres
└── Password: 创建时设置的密码
Connection String
├── JDBC格式
├── ODBC格式
├── .NET格式
└── PHP格式
3.3 JWT配置 #
text
Settings > API > JWT Settings
JWT Secret
├── 用途: 验证JWT令牌
├── 格式: 随机字符串
└── 安全: ⚠️ 必须保密!
JWT Configuration
├── 算法: HS256
├── 过期时间: 默认3600秒
└── 可自定义配置
四、项目配置示例 #
4.1 环境变量配置 #
bash
# .env.local
# Supabase项目URL
NEXT_PUBLIC_SUPABASE_URL=https://xxxxxxxx.supabase.co
# 匿名密钥 (可公开)
NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
# 服务密钥 (仅服务端使用,必须保密)
SUPABASE_SERVICE_ROLE_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
4.2 配置文件示例 #
typescript
// lib/supabase.ts
import { createClient } from '@supabase/supabase-js'
const supabaseUrl = process.env.NEXT_PUBLIC_SUPABASE_URL!
const supabaseAnonKey = process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY!
export const supabase = createClient(supabaseUrl, supabaseAnonKey)
4.3 服务端配置 #
typescript
// lib/supabase-admin.ts
import { createClient } from '@supabase/supabase-js'
const supabaseUrl = process.env.NEXT_PUBLIC_SUPABASE_URL!
const serviceRoleKey = process.env.SUPABASE_SERVICE_ROLE_KEY!
// 服务端客户端,绕过RLS
export const supabaseAdmin = createClient(supabaseUrl, serviceRoleKey, {
auth: {
autoRefreshToken: false,
persistSession: false
}
})
五、使用CLI创建项目 #
5.1 登录CLI #
bash
# 登录Supabase账号
supabase login
# 浏览器会打开授权页面
# 完成授权后返回终端
5.2 创建新项目 #
bash
# 列出所有项目
supabase projects list
# 创建新项目
supabase projects create my-new-project
# 交互式创建
supabase projects create
# 会提示输入:
# - 项目名称
# - 数据库密码
# - 区域
5.3 链接现有项目 #
bash
# 初始化本地项目
supabase init
# 链接到远程项目
supabase link --project-ref xxxxxxxx
# 项目ID可以在Dashboard的Settings > General找到
六、项目区域选择 #
6.1 可用区域 #
| 区域 | 代码 | 适合用户 |
|---|---|---|
| Northeast Asia (Tokyo) | ap-northeast-1 | 中国、日本、韩国 |
| Southeast Asia (Singapore) | ap-southeast-1 | 东南亚 |
| West US (San Francisco) | us-west-1 | 美国西部 |
| East US (N. Virginia) | us-east-1 | 美国东部 |
| West EU (Frankfurt) | eu-west-1 | 欧洲西部 |
| West EU (Ireland) | eu-west-2 | 欧洲西部 |
| South Asia (Mumbai) | ap-south-1 | 印度 |
| Southeast Asia (Sydney) | ap-southeast-2 | 澳大利亚 |
6.2 区域选择建议 #
text
选择原则
├── 选择离用户最近的区域
├── 考虑数据合规要求
├── 考虑成本差异
└── 区域一旦选择无法更改
七、免费额度说明 #
7.1 Free计划限制 #
| 资源 | 免费额度 |
|---|---|
| 数据库 | 500MB |
| 存储 | 1GB |
| 带宽 | 5GB/月 |
| 并发连接 | 60 |
| Edge Functions | 500K调用/月 |
| Realtime | 200并发连接 |
| 团队成员 | 2人 |
7.2 Pro计划限制 #
| 资源 | Pro额度 |
|---|---|
| 数据库 | 8GB |
| 存储 | 100GB |
| 带宽 | 250GB/月 |
| 并发连接 | 200 |
| Edge Functions | 2M调用/月 |
| Realtime | 500并发连接 |
| 团队成员 | 无限制 |
| 价格 | $25/月 |
八、项目安全设置 #
8.1 数据库密码 #
text
数据库密码要求
├── 至少16个字符
├── 包含大小写字母
├── 包含数字
├── 包含特殊字符
└── 不要使用常见单词
8.2 API密钥管理 #
text
密钥使用原则
├── anon key
│ ├── 可在前端使用
│ ├── 受RLS保护
│ └── 可以公开
│
└── service_role key
├── 仅在服务端使用
├── 绕过所有安全策略
├── 绝对不能暴露
└── 不要提交到代码仓库
8.3 环境变量安全 #
bash
# .gitignore
.env
.env.local
.env.*.local
*.pem
*.key
# 使用环境变量管理工具
# - Doppler
# - Vault
# - AWS Secrets Manager
九、常见问题 #
9.1 项目创建失败 #
text
可能原因
├── 组织配额已满
│ └── 解决: 升级计划或删除不用的项目
│
├── 区域不可用
│ └── 解决: 选择其他区域
│
└── 网络问题
└── 解决: 检查网络连接
9.2 忘记数据库密码 #
text
重置密码步骤
├── Settings > Database
├── 点击 "Reset database password"
├── 输入新密码
└── 更新所有连接配置
9.3 项目暂停 #
text
免费项目暂停规则
├── 7天无活动自动暂停
├── 暂停后数据保留
├── 访问时自动恢复
└── Pro计划不会暂停
十、总结 #
项目创建检查清单:
| 步骤 | 状态 |
|---|---|
| 注册账号 | ☐ |
| 创建组织 | ☐ |
| 创建项目 | ☐ |
| 保存数据库密码 | ☐ |
| 获取API密钥 | ☐ |
| 配置环境变量 | ☐ |
| 选择合适区域 | ☐ |
下一步,让我们初始化客户端SDK!
最后更新:2026-03-28