SSD Nodes Learn Hosting plans →
指南 Matt Connor作者: Matt Connor · 更新于 2026-10-21

Supabase 免费吗?托管版限制与自托管成本

Supabase 免费版包含 500 MB 数据库空间,但项目闲置 1 周后会暂停。本文对比托管 Free 计划与 VPS 自托管,说明资源限制和运维成本。

Supabase 免费吗?

Supabase 以两种不同方式提供免费使用,但这两者并不是同一种方案。托管 Free 计划不收费。Supabase 的计费文档要求付费计划预留银行卡信息,但没有说明 Free 计划是否需要银行卡信息。该项目源代码开放,因此在您自己的 VPS(虚拟专用服务器)上运行完整技术栈无需支付许可费用。其中一种方案通过各项限制向您收费。另一种方案则通过您的工作量产生成本。

截至 2026 年 10 月 20 日, supabase.com/pricing 列出的 Free 计划包含 0.5 GB 数据库空间、1 GB 文件存储空间、5 GB 出站流量,以及每月 50,000 名活跃用户,适用于两个活跃项目。同一页面还列出了决定大多数相关事项的一句话:“Free 项目在闲置 1 周后会暂停”。在据此规划之前,请重新核对这些数值,因为定价页面会变动。

免费计划实际上提供什么

图表Free and Pro included quotas, checked 20 October 2026
此图表背后的数据
[
  {
    "plan": "Free",
    "db_gb": 0.5,
    "file_storage_gb": 1,
    "egress_gb": 5
  },
  {
    "plan": "Pro",
    "db_gb": 8,
    "file_storage_gb": 100,
    "egress_gb": 250
  }
]

MAU(月活跃用户数)统计一个计费周期内生成任意 Auth 事件的不同用户数。Supabase 将登录、令牌刷新和注销列为示例。因此,已登录用户即使当月没有重新登录,只要会话在后台静默刷新,也会计入统计。每个用户在每个周期内只计数一次,因此对于仍在开发中的项目,50,000 通常绰绰有余。最先耗尽的几乎从来不是用户数,而是 0.5 GB 的 Postgres 存储空间,或者开始从 Storage 提供图片或文件后产生的 5 GB 出站流量。

两个活跃项目是另一个不太显眼的限制。一个生产项目和一个预发布项目就会占满 Free 计划,因此第三个想法只能等待,或者与不应共用数据库的项目共享同一个数据库。

暂停限制为什么比存储上限更重要

“项目闲置 1 周后将暂停”是大多数免费套餐最终无法长期使用的原因。项目连续 7 天没有收到查询后,就会停止提供请求服务。README 中链接的演示项目,或每月只访问一次的预发布 API,都会在你发送链接的对象点击它时处于停机状态。恢复项目只需点击 Supabase 控制台中的 Resume project 按钮。暂停后 1 年内都可以恢复,因此修复很快,但前提是有人关注这些通知。Supabase 会在暂停项目前约 1 周发送警告邮件,但只有在有人查看该收件箱时,这项提醒才有用。

这才是托管免费层的实际代价。你无需支付费用,但要用可用性作为代价,并接受无法提高的上限,除非升级套餐。

Free 额度用完后 Pro 和 Team 的费用

图表Supabase list price per plan, checked 20 October 2026
此图表背后的数据
[
  {
    "plan": "Free",
    "usd_per_month": 0
  },
  {
    "plan": "Pro",
    "usd_per_month": 25
  },
  {
    "plan": "Team",
    "usd_per_month": 599
  }
]

Pro 方案起价为每月 $25,每个项目包含 8 GB 磁盘空间、100 GB 文件存储空间和 250 GB 出站流量。超出这些额度后,磁盘空间按每 GB $0.125 计费,文件存储按每 GB $0.0213 计费,未缓存的出站流量按每 GB $0.09 计费。缓存出站流量有单独的 250 GB 额度,超出后按每 GB $0.03 计费。以上价格截至 20 October 2026。Pro 还不会因不活动而暂停项目。Team 方案起价为每月 $599,面向需要合规和访问控制功能的组织,而不是面向运行个人副项目的单个开发者。

Pro 方案默认启用支出上限。这个默认设置很重要:超出包含额度后,服务会受到限制,而不是在您休息时继续增加账单。关闭上限就意味着您有意选择了另一种故障模式。这与您比较托管 Postgres 费用和自行运行 VPS 的费用时进行的计算相同,因为托管服务的费用主要用于购买他人的值班支持安排。

自托管的其他成本

许可证条款不会产生这部分成本。Supabase 文档称 Docker 是“自托管最快且推荐的方式”,整个技术栈可运行在普通 VPS 上。账单会以工作量的形式出现,文档也明确说明了哪些工作将由您负责:

  • 服务器配置和维护
  • 安全加固,以及保持操作系统和服务处于最新状态
  • 服务配置和管理
  • Postgres 数据库维护
  • 高可用性和可扩展性
  • 备份和灾难恢复
  • 监控和正常运行时间

应将其视为每周成本,而不是一次性配置成本。服务器配置只需执行一次。更新和备份检查则会持续进行。如果您坦诚地认为永远不会有人测试恢复流程,那么托管方案的实际成本低于表面看起来的成本,因为从未执行过恢复的备份不能算作真正的备份。

自托管 Supabase 不包含的功能

自托管堆栈并不是托管平台的复制版。文档明确列出了不可用的功能:“分支、日志以外的高级指标、托管备份和 PITR、分析和向量存储桶、ETL,以及 Management API”。PITR(时间点恢复)是迁移后最容易被忽略的功能。在托管计划中,PITR 只需启用一个设置。在自己的服务器上,则需要执行基础备份、归档 WAL(预写日志),将这两类数据保存到服务器之外的位置,并进行演练以验证各个环节能够协同工作。pgBackRest 等工具就是为此设计的,具体配置由您负责。

Studio 这个 Web 控制面板在自托管时“不支持多个组织或项目”。一个堆栈对应一个项目。因此,如果您自托管的原因是绕过两个项目的限制,就应规划第二个堆栈,并为其分配独立端口或部署到另一台服务器,而不是在一个控制面板中创建第二个项目。

您将获得什么

按照文档的说法,自托管 Supabase“不会主动回传数据,也不会收集任何遥测数据”。您的数据行和用户表存放在您直接租用的硬件上。当客户合同或监管机构规定数据必须保留在哪个国家时,这一点正是自托管的核心价值。

您还可以直接使用 Postgres。托管平台会为您调优和管理服务器。在自己的服务器上,shared_buffers、max_connections、扩展列表以及前置的连接池都由您自行配置。连接池很快就会成为问题,因为无服务器函数或繁忙的应用会打开超过 Postgres 可承载数量的连接。此时,在自己的 VPS 上运行 PgBouncer 或 Supavisor 就不再是可选项。

自托管最明显消除的是出口流量上限。只要 Storage 开始向真实访客提供图像或音频,5 GB 很快就会用完。大多数 VPS 方案包含以 TB 计量的传输流量,因此文件密集型应用通常会先触及托管平台的上限,而不是让服务器不堪重负。如果您阅读本文的原因是 Storage,应先计算磁盘成本,再计算计算资源成本:块存储或对象存储中的 1 TB 实际需要多少钱对总成本的影响通常大于 CPU。

启动自托管技术栈

文档规定的方式是浅克隆仓库的 docker 目录,并固定到一个自托管版本标签。截至 20 October 2026,该标签为 self-hosted/v0.8.3。该标签于 16 October 2026 创建,包含 Storage 和 Realtime 的安全修复,因此仍使用旧标签的安装值得更新。官方设置脚本位于 supabase.link/setup.sh,支持 Debian、Ubuntu、RHEL、CentOS 和 Fedora。如果希望将文件树保存在自己的 git 仓库中,下面的手动克隆方式更合适。

git clone --depth 1 --branch self-hosted/v0.8.3 https://github.com/supabase/supabase
mkdir supabase-project
cp -rf supabase/docker/. supabase-project
cd supabase-project && cp .env.example .env
printf 'ref=self-hosted/v0.8.3\n' > .supabase-version
docker compose pull
sh utils/generate-keys.sh
sh utils/add-new-auth-keys.sh
sh run.sh start

sh utils/generate-keys.sh 是不可跳过的步骤。.env.example 使用占位密钥,任何人都可以在公开仓库中读取这些密钥,因此使用这些值启动的技术栈会向任何发现该端口的人开放。文档会在其后直接运行 sh utils/add-new-auth-keys.sh,以添加新的 API 密钥和一对非对称密钥。启动技术栈前,请检查两个脚本的输出,并检查 .env。.supabase-version 文件会记录启动时使用的标签,以便捆绑的 update.sh 稍后升级安装。还应在 .env 中设置 DASHBOARD_PASSWORD,因为 Studio 受 HTTP 基本身份验证保护,文档要求该密码至少包含一个字母。

使用 docker compose ps 检查结果。输出中应列出每项服务均处于运行或健康状态。然后在 8000 端口打开 Studio,并使用控制台凭据登录。需要再次查看生成的密钥时,sh run.sh secrets 会将其打印出来;sh run.sh stop 会关闭技术栈。不要将 8000 端口直接发布到互联网。应在其前面配置带 TLS(传输层安全)的反向代理,或将其限制在专用网络中。完整操作指南,包括该代理以及建议优先修改的 .env 值,详见使用 Docker Compose 自托管 Supabase 的分步指南。

哪个免费方案适合您

项目仍在开发、尚未投入使用,且暂停服务不会造成损失时,选择托管的 Free 方案。它是真正可用的方案,支持的用户数量也很充足。但该方案的定位是让您最终升级到更高版本。

当项目已有用户会注意到停机时,选择 Pro,每月费用为 $25。这低于您单个月用于检查备份所需的工时成本,因此付费是排期决策,而不是失败。

如果您已经在运行 VPS,并且已为其他服务承担运维工作;如果数据不得离开所在司法管辖区;或者存储和出口流量的增长速度已经超过服务器价格的增长速度,请选择自托管。每种开放核心产品都存在同样的权衡。n8n 免费社区版与付费层级之间的区别以及免费 Nextcloud Hub 与其企业订阅之间的区别,划分出的界线相同,位置也相同。免费软件已经足够完整,可以承载实际工作负载。付费产品销售的是您不愿自行维护的部分。

FAQ

Supabase 免费计划是永久免费的吗?

截至 2026 年 10 月 20 日,定价页面没有为 Free 计划设置时间限制或试用期;账单文档要求付费计划绑定银行卡,但没有说明 Free 计划需要绑定银行卡。Free 计划有配额限制:数据库 0.5 GB、文件存储 1 GB、出站流量 5 GB、每月活跃用户 50,000 个,以及 2 个活跃项目。对大多数用户而言,导致免费使用结束的并不是配额,而是以下规则:“Free 项目在闲置 1 周后会暂停”。

Supabase 免费项目暂停后会发生什么?

项目会停止处理请求。API 调用会失败,控制面板会将项目标记为已暂停,直到有人使用 Resume project 按钮恢复项目。文档显示,暂停后 1 年内仍可使用该按钮。Supabase 会在项目暂停前约 1 周发送警告邮件,但不会向你的应用单独发送警告。因此,你 1 个月前分享的演示项目,在有人通知你时通常已经无法访问。如果项目必须在每天任何时间响应请求,请将其升级到 Pro,或自行托管。

自行托管的 Supabase 与托管版本相同吗?

不相同。文档列出了自行托管不包含的功能:“分支、超出日志范围的高级指标、托管备份和 PITR、分析和向量存储桶、ETL,以及 Management API”。Studio 也“不支持多个组织或项目”,因此一个自行托管的堆栈只能对应 1 个项目。数据库、身份验证、存储、实时功能和边缘函数组件,与托管平台运行的软件相同。

自行托管的 Supabase 会向 Supabase 回传任何内容吗?

不会。自行托管文档说明,自行托管的部署“不回传数据,也不收集任何遥测信息”。运行 docker compose pull 时,容器会从公共镜像仓库拉取镜像。这只是普通的镜像下载,不是关于你数据的报告。此后的所有内容都会保留在你的服务器上。这也意味着每个备份和每次安全更新都由你负责。

这篇文章对您有帮助吗?