Supabase作为开源的后端即服务(BaaS)平台,支持开发者快速构建应用,同时提供灵活的自建部署选项。


本文将基于官方Docker部署教程,结合实践经验,详细说明自部署流程与注意事项。
环境准备
- 安装Docker与Docker Compose
 确保系统已安装Docker及Docker Compose工具。
| 1 | docker --version | 
- 生成安全密钥 
 访问Supabase密钥生成页面,生成以下密钥并保存至安全位置:- JWT_SECRET
- ANON_KEY
- SERVICE_ROLE_KEY
 
- 部署步骤 - 克隆Supabase代码库
 - 1 
 2- git clone --depth 1 https://github.com/supabase/supabase 
 cd supabase/docker- 配置环境变量
 复制示例配置文件并编辑, 将生成安全密钥步骤下生成的密钥,copy到.env文件中对应的位置。
 - 1 
 2- cp .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 | 
一些常见问题
- 若提示数据库账号密码验证失败,则需要进入1 
 2
 3
 4
 5* 必须32位,而不是*32-chars-min* 
 * 已提交[issus](https://github.com/supabase/supabase/pull/34171)
 * 如果```supabase-analytics```服务一直在重启,则查看容器日志。
 ```bash
 docker logs --details supabase-analyticssupabase-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