返回

Supabase VPS 主机,预装好

自托管的 Supabase 在您自己的服务器上同时运行 Postgres 数据库、用户认证、文件存储和实时服务。付款后 Supabase 官方的 Docker 配置会自动启动,Studio 通过 HTTPS 打开,地址、登录名和密码显示在面板中。用服务器上的 publishable 密钥让您的应用连接该地址,数据库则通过 5432 或 6543 端口访问。

您需要多大算力?

合计$6.89/月

价格含增值税。

RAM 和 CPU 可随时升级或降配。磁盘只能增大,建议从小配置开始。

您的 Supabase 服务器上安装什么?

  • Supabase 官方的 Docker 配置,固定在 v1.26.08 发布标签
  • PostgreSQL 17 和 Studio 管理界面
  • 安装时一并启动的服务包括 Auth、PostgREST、Realtime、Storage 和 Edge Runtime 这几项
  • Supavisor 连接池,开放 5432 和 6543 端口
  • 由官方脚本在安装时生成的密钥和数据库密码,分别是 SUPABASE_PUBLISHABLE_KEY、SUPABASE_SECRET_KEY、ANON_KEY、SERVICE_ROLE_KEY 和 POSTGRES_PASSWORD
  • 通过 Caddy 提供 HTTPS,使用基于您 IP 的 sslip.io 地址,所以域名是可选的
  • 设置位于 /opt/seturack/supabase/.env
  • 防火墙只开放 22、80、443、5432 和 6543 端口

Supabase 需要多大的配置?

Supabase 的 Docker 文档给出的最低配置是 4 GB RAM、2 个核心和 40 GB 磁盘,推荐 8 GB 或更多 RAM、4 个或更多核心以及 80 GB 或更多磁盘。开发和小项目可以从 4 GB 起步,有真实用户的项目可以考虑 8 GB。把用不到的服务,例如 Realtime 或 Storage,从 Compose 文件中移除,可以降低需求。如果不够,可以在面板中分别扩大 RAM、CPU 和磁盘,您的数据和 IP 地址保持不变。

用途配置价格选择
入门 4 GB RAM · 2 vCore · 60 GB NVMe $6.89/月
中等 8 GB RAM · 4 vCore · 120 GB NVMe $13.62/月
强劲 16 GB RAM · 8 vCore · 200 GB NVMe $25.15/月

适合谁?

  • 想把 Supabase 项目迁到自己服务器上的人
  • 用 AI 工具做了应用、想把数据库和登录放在自己服务器上的人
  • 想搭建自己的开发和测试环境的开发者

下单之后会发生什么?

  1. 设定配置并完成付款。
  2. 服务器启动后,Supabase 会自行安装。在我们的真实服务器测试中大约需要 8 分钟。请在“概览”标签页等待“应用”一行显示 Supabase 已就绪。
  3. 打开“面板地址”一行的链接。浏览器会要求输入“登录名”和“密码”,然后 Studio 就会打开。
  4. 通过 SSH 连接到服务器,然后用下面这条命令读取需要的几个密钥和密码:grep -E '^(SUPABASE_PUBLISHABLE_KEY|SUPABASE_SECRET_KEY|POSTGRES_PASSWORD)=' /opt/seturack/supabase/.env
  5. 把“面板地址”和 publishable 密钥交给您的应用,secret 密钥只留在服务器端。
  6. 把 .env 中的 SITE_URL 和 ADDITIONAL_REDIRECT_URLS 设为您的应用地址,然后运行 docker compose up -d。

每台服务器都包含

  • 价格含每日备份
  • 不限流量
  • 完整 root 权限
  • 之后可升级或降配 RAM 和 CPU,并扩大磁盘
  • 位置:Istanbul · IST-1。

须知

  • 自托管的 Supabase 只运行一个项目。官方文档说明,分支、PITR、Management API 和 analytics bucket 在这种部署中不可用。
  • 安装完成后,Auth 的 SITE_URL 是有密码保护的 Studio 地址,所以邮件中的链接会指向那里。请把您应用的地址填入 SITE_URL 和 ADDITIONAL_REDIRECT_URLS。
  • 5432 和 6543 端口对互联网开放,而 Docker 发布了这些端口,所以 ufw 无法关闭它们。要限制访问,请在 docker-compose.yml 中 Supavisor 的端口行开头加上 127.0.0.1:,并使用 SSH 隧道。
  • 更新由您自行负责。Supabase 大约每月发布一次 Compose 配置,文件夹中的 update.sh 脚本会把变更合并到您的安装中。

Supabase 常见问题

自托管的 Supabase 需要多少 RAM?

Supabase 的文档要求自托管安装至少有 4 GB RAM、2 个核心和 40 GB 磁盘,推荐 8 GB 或更多 RAM。把用不到的服务从 Compose 文件中移除,可以降低需求。

在哪里可以找到我的 Supabase API 密钥?

通过 SSH 连接,查看 /opt/seturack/supabase/.env。SUPABASE_PUBLISHABLE_KEY 用于客户端代码。SUPABASE_SECRET_KEY 拥有完全权限,只应放在服务器端。较早的 ANON_KEY 和 SERVICE_ROLE_KEY 仍然可用。

如何把我的应用连接到自托管的 Supabase?

使用 supabase-js 时,把“面板地址”和 SUPABASE_PUBLISHABLE_KEY 的值传给 createClient。REST、Auth、Storage 和 Realtime 都在该地址之下。浏览器要求输入的登录名和密码只用于 Studio,API 请求则用密钥校验。

如何从外部连接 Supabase 数据库?

数据库连接要经过 Supavisor,连接字符串为 postgres://postgres.your-tenant-id:POSTGRES_PASSWORD@ADDRESS:5432/postgres。5432 是会话模式,6543 是事务模式。其中 your-tenant-id 是 .env 中的 POOLER_TENANT_ID 值。Postgres 本身不对外发布。

为什么收不到 Supabase 的注册邮件?

安装时没有设置真正的 SMTP 服务器,所以需要邮件确认的注册无法完成。请在 /opt/seturack/supabase/.env 中填写以 SMTP_ 开头的各项,填入您的邮件服务商的信息,然后在该文件夹中运行 docker compose up -d。如果要允许无需确认的注册,请查看 ENABLE_EMAIL_AUTOCONFIRM 设置。

可以运行多个 Supabase 项目吗?

一次安装只运行一个项目,Studio 不支持多个组织或项目。每个项目请使用单独的服务器。

我的 Supabase 数据有备份吗?

您的服务器每晚备份,保留最近 7 天,费用已包含在价格中。Supabase 的托管备份和 PITR 不属于自托管安装。如果需要回到某个具体时间点,请同时保留您自己的 pg_dump 文件。

了解更多,查看类似应用