### [雨云搭建 PocketBase 自托管后端即服务教程](https://www.jiyueip.com/article/12346) **Published:** 2026-07-28T11:06:05 **Author:** 斑斓助理 **Excerpt:** 在雨云 VPS 用 Docker 部署 PocketBase,提供数据库、用户认证、实时订阅与文件存储,替代 Firebase/Supabase 自托管,附权限配置与备份要点。 做小程序、App 或个人项目时,最麻烦的往往是后端:要建数据库、写用户登录、做文件上传、还要实时推送。PocketBase 是一个用单个可执行文件就能提供「数据库 + 用户认证 + 实时订阅 + 文件存储 + 管理后台」的开源后端即服务(BaaS),本地跑起来不到 10 秒,特别适合自托管轻量项目。本文记录在雨云 VPS 上用 Docker 部署 PocketBase 的完整过程与踩坑点。 ## 一、什么是 PocketBase,解决什么问题 PocketBase 把后端最常见的几件事打包成一个二进制程序: - **内置数据库**:基于 SQLite,提供可视化的集合(Collection)管理,不必单独装 MySQL/PostgreSQL; - **用户认证**:开箱即用的邮箱密码登录、OAuth 第三方登录、JWT 令牌; - **实时订阅**:前端可以通过 WebSocket 订阅数据变更,数据一改前端立刻更新; - **文件存储**:支持文件字段,上传的文件直接存到磁盘或对象存储; - **Admin 后台**:自带一个管理界面,建表、加字段、配权限都能点鼠标完成。 和 Supabase、Firebase 相比,PocketBase 的最大优势是「轻」——单文件、零外部依赖,1 核 1G 的机器就能跑。和前面写过的 NocoDB(见 [12342](https://www.jiyueip.com/article/12342))不同,NocoDB 本质是「把数据库变成在线表格」,而 PocketBase 是「把数据库变成带认证和 API 的完整后端」,更适合给程序当后端用。 ## 二、环境准备 建议在雨云买一台 1 核 2G 以上的 VPS(数据库 + 文件服务略吃内存)。系统选 Ubuntu 22.04,安装好 Docker 与 Docker Compose(可参考 [12235](https://www.jiyueip.com/article/12235) 的 VPS 入门)。国内节点延迟低、备案方便,做面向国内用户的小程序后端很合适。 > 新用户用优惠码 **admin01** 可享 **五折**优惠,雨云支持 7 天无理由退款,先开一台练手不亏。入口:[雨云官网](https://www.jiyueip.com/link/5617)。 部署用 Docker 最省事,既方便用 Portainer(见 [12310](https://www.jiyueip.com/article/12310))统管,也方便用 Watchtower(见 [12312](https://www.jiyueip.com/article/12312))自动更新。 ## 三、用 Docker Compose 部署 新建 `docker-compose.yml`: ```yaml services: pocketbase: image: ghcr.io/pocketbase/pocketbase:latest container_name: pocketbase restart: unless-stopped command: - /pb/pocketbase - serve - --http=0.0.0.0:8090 ports: - "8090:8090" volumes: - ./pb_data:/pb/pb_data - ./pb_public:/pb/pb_public ``` 关键点: - **数据必须挂卷**:`./pb_data` 是 SQLite 数据库和上传文件所在地,不挂卷重启就丢; - **端口别直接裸奔对外**:8090 是管理后台端口,建议用 Nginx/Caddy 反代并加 Authelia 之类鉴权(见 [12340](https://www.jiyueip.com/article/12340)),避免后台被扫; - 启动后访问 `http://服务器IP:8090/_/` 即可进入初始化。 ## 四、初始化与管理后台 首次打开 `_/` 会要求创建管理员账号,**这个账号权限极高,务必用强密码**。登录后你会看到: - **Collections**:建集合(相当于表),支持文本、数字、布尔、文件、关联等字段类型; - **API 规则**:每个集合能分别设置「公开读 / 登录读 / 仅管理员」的权限,默认是禁止公开的,需手动放开; - **Settings → Application**:能看到 SDK 用法和 API 地址。 踩坑提醒:PocketBase 默认所有集合对外不可见,前端调 API 报 403 多半是权限没开;另外集合改名会改底层表名,上线后尽量别乱改。 ## 五、和 n8n 联动做自动化 PocketBase 自带 REST API 和 Web 钩子,可以很方便地和 n8n(见 [12296](https://www.jiyueip.com/article/12296))联动:例如有新用户注册时,通过 PocketBase 的事件触发 n8n 工作流发欢迎通知。这种「PocketBase 当数据库 + n8n 当逻辑编排」的组合,能做不少轻量业务系统。 ## 六、备份别忘了 SQLite 数据库是单个文件,备份很简单:停服或锁库后直接拷 `pb_data` 目录即可。建议配合 BorgBackup(见 [12306](https://www.jiyueip.com/article/12306))做定时去重备份,或把上传的文件同步到对象存储(见 [12308](https://www.jiyueip.com/article/12308))。 ## 合规提醒 PocketBase 是你自己运营的后端服务,上面存储的用户注册信息、手机号、邮箱等属于《个人信息保护法》规定的个人信息,收集前需向用户明示并取得同意,不得擅自共享或出售。后台管理员账号等同于数据库最高权限,请妥善保管、不向他人泄露。不得利用本服务存储或分发违法不良信息。 **Tags:** 云服务器, 建站教程, 雨云, 雨云优惠码 **Categories:** 行业洞察 ---