Supabase作为开源的后端即服务(BaaS)平台,支持开发者快速构建应用,同时提供灵活的自建部署选项。
本文将基于官方Docker部署教程,结合实践经验,详细说明自部署流程与注意事项。
环境准备
- 安装Docker与Docker Compose
确保系统已安装Docker及Docker Compose工具。
1 | docker --version |
生成安全密钥
访问Supabase密钥生成页面,生成以下密钥并保存至安全位置:JWT_SECRET
ANON_KEY
SERVICE_ROLE_KEY
部署步骤
- 克隆Supabase代码库
1
2git clone --depth 1 https://github.com/supabase/supabase
cd supabase/docker- 配置环境变量
复制示例配置文件并编辑, 将生成安全密钥步骤下生成的密钥,copy到.env
文件中对应的位置。
1
2cp .env.example .env
vi .env- 拉取Docker镜像
这里推荐墙内镜像地址:dytt.online
1
docker compose pull
- 启动Supabase服务
1
docker compose up -d
服务启动后,通过docker compose ps检查容器状态,确认所有服务正常运行。
1
docker ps
- 访问管理界面
- Studio:http://localhost:8000(默认账号:supabase,密码见.env文件)
- Logflare界面: http://localhost:4000
核心服务
服务名称 | 功能描述 | 访问端口 |
---|---|---|
supabase-db |
PostgreSQL数据库 | 5432 |
supabase-auth |
用户身份认证 | 3000 |
supabase-studio |
管理控制台 | 8000 |
supabase-analytics |
Logflare控制台 | 4000 |
关闭与卸载
- 停止服务
1 | docker compose down |
- 彻底清理
1 | docker system prune -a |
一些常见问题
VAULT_ENC_KEY
字段长度问题:https://github.com/orgs/supabase/discussions/33119- 必须32位,而不是32-chars-min
- 已提交issus
- 如果
supabase-analytics
服务一直在重启,则查看容器日志。
1 | docker logs --details supabase-analytics |
若提示数据库账号密码验证失败,则需要进入supabase-db
容器,给每个pgSQL账号设置密码
1 | docker exec -it supabase-db /bin/bash |
修改完成后重启容器, 然后访问http://localhost:8000
1 | docker compose down |
资料参考
- 官方教程: Self-Hosting with Docker
- 74.1k!Star分分钟搭建百万用户在线系统?Supabase 帮你轻松实现!
- 如何使用Docker配置和部署Supabase