什么是 PocketBase?
PocketBase 是一个开源的后端即服务(BaaS)解决方案,专为现代移动应用、Web 应用和浏览器扩展设计。它将数据库、认证系统、文件存储和实时订阅等功能打包到一个可执行文件中,大小仅约 15MB。
与 Firebase 等托管服务不同,PocketBase 采用自托管模式,这意味着您拥有对数据的完全控制权,可以将其部署在任何服务器上,包括国内云服务商。对于中国开发者而言,这解决了 Firebase 在国内访问不稳定、数据合规性等问题。
核心特性
- 内置 SQLite 数据库:单文件存储,易于备份和迁移,支持完整的 SQL 查询
- 完整的认证系统:支持邮箱密码、OAuth2、匿名登录等多种认证方式
- 实时订阅:基于 WebSocket 的实时数据同步,适合聊天、协作等场景
- 文件存储:本地文件系统存储,支持缩略图生成,可扩展到云存储
- Admin UI:内置管理界面,可视化管理数据、用户和权限
- 扩展能力:支持 JavaScript Hooks 和 Go 插件扩展功能
为什么选择 PocketBase?
国内访问稳定
无需代理,部署在国内服务器上即可获得稳定的访问速度。API 响应时间通常在 20-80ms,远优于 Firebase 的 500ms+。
数据合规无忧
数据存储在您自己的服务器上,符合《网络安全法》数据本地化要求,满足等保 2.0/3.0 认证标准。
成本可控
无 API 请求费用,无存储费用,无用户数量限制。仅需支付服务器成本,小型项目月费可低至 60 元。
完全自主可控
开源 MIT 许可证,无供应商锁定。可以根据业务需求定制功能,通过 Go 插件或 JS Hooks 扩展能力。
快速开始
1. 下载 PocketBase
访问下载页面,选择适合您操作系统的版本。支持 Windows、macOS、Linux 以及 ARM 架构。
2. 启动服务
解压后,在终端运行:
./pocketbase serve 3. 访问管理界面
打开浏览器访问 http://localhost:8090/_/,设置管理员账号即可开始使用。
4. 集成到项目
安装 JavaScript SDK:
npm install pocketbase PocketBase vs Firebase
| 特性 | PocketBase | Firebase |
|---|---|---|
| 部署方式 | 自托管(任意服务器) | Google 托管 |
| 国内访问 | 完全可用 | 需要代理 |
| 数据所有权 | 完全自主 | Google 管理 |
| 月成本(小型项目) | ~60 元 | ~350-1050 元 |
| API 响应延迟 | 20-80ms | 500ms+ 或超时 |
| 数据合规 | 符合国内法规 | 数据存储海外 |
详细对比请阅读PocketBase vs Firebase 深度对比。
常见问题
PocketBase 是免费的吗? v
是的,PocketBase 采用 MIT 开源许可证,完全免费使用,无任何限制。您可以将其用于个人项目、商业项目,也可以进行二次开发和分发。
PocketBase 适合什么规模的项目? v
PocketBase 非常适合中小型项目,包括 MVP 产品、初创应用、内部工具等。基于 SQLite,单机可支持日活 1-5 万用户。对于更大规模的应用,可以通过主从架构、读写分离等方式扩展。
如何将 PocketBase 部署到生产环境? v
PocketBase 可以部署到任何支持 Go 运行的服务器。推荐使用 Nginx 或 Caddy 作为反向代理,配置 SSL 证书。国内可以部署到阿里云 ECS、腾讯云 CVM 等。详细的部署指南请参考生产部署清单。
PocketBase 支持哪些前端框架? v
PocketBase 提供官方 JavaScript SDK,支持所有主流前端框架,包括 Vue、React、Angular、Svelte、Solid 等。也支持原生 JavaScript、TypeScript。移动端可以使用 React Native、Flutter 等通过 HTTP API 集成。
如何参与 PocketBase 中文社区? v
您可以:1) 在插件市场提交您开发的插件;2) 在案例展示中分享您的项目;3) 贡献文档翻译和改进;4) 在 GitHub 上提交 Issue 和 PR。欢迎加入我们的社区建设!