想做个小工具,光搭后端就要花两天:起数据库、配鉴权、搞文件存储、再做个管理界面。业务代码还没写,人已经累了。

PocketBase 把这些打包进一个二进制文件:下载、执行,后端就好了。

PocketBase:一个文件就是一个后端

小项目的后端困境

一个最小可用的后端通常要凑齐这些:

  • 数据库(MySQL / PostgreSQL)
  • 用户认证(注册、登录、会话)
  • 文件存储(上传、访问、权限)
  • 管理后台(总得有个界面看数据)
  • API 层(给前端调用)

分开搭的话,每一个都要选型、配置、联调。对小项目来说,这个成本占比太高了。

PocketBase 打包了什么

PocketBase 打包了什么

嵌入式数据库。 基于 SQLite,整个数据就是一个文件——备份就是复制文件,迁移就是拷走,这一点用起来极其省心。

内置用户认证。 邮箱密码、OAuth 登录开箱可用,不用自己实现一套。

文件存储。 上传和管理文件,配好访问规则就能用。

管理后台。 自带 Web 管理界面,可视化建集合、改数据、看日志,不用再为内部管理单独开发页面。

实时订阅。 数据变更可以推送到客户端,做实时功能不用额外搭 WebSocket 服务。

REST API 与 SDK。 建好集合自动生成接口,官方 SDK 直接调用。

什么时候该用,什么时候不该用

适合与不适合

场景 是否合适
原型 / 小工具 非常适合
个人项目 / MVP 非常适合
高并发生产系统 不合适
需要复杂查询与分布式 不合适

边界要认清:PocketBase 追求的是"快",不是"大"。它基于 SQLite 单文件,天然不适合高并发写入和水平扩展的场景。

使用流程

三步使用

  1. 跑起来 — 下载二进制直接执行,或者 Docker 一条命令
  2. 建集合 — 在管理后台里建集合和字段,配好访问规则(这一步决定谁能读谁能写)
  3. 接前端 — 用官方 SDK 调用,认证和文件存储都是现成的

一点提醒

访问规则一定要配。 PocketBase 的集合默认规则要自己写清楚,别留成完全开放——这是最常见的安全坑。

备份别省。 虽然单文件备份很方便,但正因为只有一个文件,丢了就全没了。建议定期自动复制一份。

想清楚规模再上。 项目真做大了要迁到别的数据库,成本不低。前期用它快速验证,验证通过再考虑架构演进,是更合理的路径。

对"想快点把东西做出来"这个诉求,PocketBase 几乎是目前最省事的选择——从下载到跑通,通常不超过十分钟。

项目地址: https://github.com/pocketbase/pocketbase