部署教程|Supabase 自托管:Postgres + Auth + Storage 一站式上线
部署教程|Supabase 自托管:Postgres + Auth + Storage 一站式上线
笨鸟先飞1. 方案概览
Supabase = 托管版「开源 Firebase」:Postgres + Auth + Storage + Realtime + Edge Functions。官方提供 Docker Compose 便于自托管。
2. 前置准备
- 服务器:2C4G+,30GB 磁盘起步。
- 安装 Docker / Docker Compose。
- 域名(可选):用于外网访问与 OAuth 回调。
- 邮件服务(可选):用于注册/重置密码。
3. 获取仓库并启动
1 | git clone https://github.com/supabase/supabase.git |
核心服务:kong(网关)、rest(PostgREST)、realtime、auth、storage、db(Postgres) 等。
4. 基础配置
.env中设置:SUPABASE_PUBLIC_URL:对外访问域名或 IP。KONG_ANONYMOUS_REPORTS:如需关闭遥测设为off。- 邮件服务:
GOTRUE_SMTP_*字段。
- 数据持久化:确保
db、storage、realtime卷挂载到本地磁盘。
5. 验证服务
- 访问 Kong 代理的 API:
http://<host>:8000。 - PostgREST:
http://<host>:8000/rest/v1/,需携带apikey(Anon/Service)。 - Realtime/Storage:同样走 Kong,前端 SDK 会自动处理路由。
6. 前端最小示例(JS)
1 | import { createClient } from '@supabase/supabase-js' |
在 .env 的公开 key 填前端,Service Role 仅用于后端。
7. 常见运维
- 备份:定期导出 Postgres;Storage 文件定期同步到对象存储。
- 证书:用 Caddy/Traefik/Nginx 反代 + ACME 自动证书。
- 日志/监控:采集容器日志;Pg 监控可用 Prometheus exporter。
- 升级:
git pull后docker compose pull && docker compose up -d,注意备份。
8. 常见问题
- 无法注册/收邮件:检查 SMTP 配置;本地可临时关闭邮件验证用于开发。
- 401/403:确认传入的
apikey与 URL。 - Realtime 断开:检查 WebSocket 端口与反代配置。
- 磁盘暴涨:清理历史镜像;压缩/分层存储对象文件。
9. 总结
Supabase 自托管能在一台机器上快速跑通 Postgres + Auth + Storage + Realtime。按官方 Compose 启动、填好密钥与域名,前端用 SDK 即可读写,后续再完善邮件、TLS 与备份策略。***


