Ubuntu 22.04 安装 PocketBase 0.40.5 指南
Ubuntu 22.04 从零安装 PocketBase v0.40.5 实战:官方 zip 下载与 sha256 校验、超级用户创建、systemd 托管、升级降级、FAQ 排障与卸载,全程命令实测。
Ubuntu 22.04 安装 PocketBase 0.40.5 指南
目标:在一台 Ubuntu 22.04 服务器上从零安装 PocketBase v0.40.5 并完成 systemd 托管,覆盖官方发布包下载校验、超级用户创建、服务启停、升级降级、常见故障排查与卸载清理。全部命令与输出均在 Ubuntu 22.04.5 LTS(amd64)环境实测通过。
一、环境信息
- 操作系统:Ubuntu 22.04.5 LTS(amd64,
cat /etc/os-release实测PRETTY_NAME="Ubuntu 22.04.5 LTS") - 服务器主机名:pb-server
- PocketBase 版本:v0.40.5(2026-10-21 实查官方 GitHub Releases 最新稳定版)
- 安装目录:
/opt/pocketbase - 数据目录:
/opt/pocketbase/pb_data(默认约定目录) - 服务端口:8090(
pocketbase serve默认端口) - 服务托管:systemd,单元名
pocketbase.service - 管理台地址:
http://<服务器IP>:8090/_/ - 示例超级用户:
admin@example.com/q1w2e3r4(仅演示用,生产请替换为自己的强口令)
二、前置条件
开始安装前需要确认以下事项,逐项给出检查命令与实测回显。
1. 操作系统与架构。PocketBase 官方为 Linux 提供 amd64/arm64/armv7/ppc64le/s390x 五种架构的发行包,先确认本机架构,以选择正确的包:
uname -m
实测输出:
x86_64
x86_64 对应 linux_amd64 包(若输出 aarch64 则选 linux_arm64)。
2. 安装基础工具。下载解压官方 zip 包需要 curl(或 wget)与 unzip,校验需要 sha256sum(系统自带):
apt-get update -qq
apt-get install -y -qq curl unzip ca-certificates
实测输出(节选):
Setting up unzip (6.0-26ubuntu3.2) ...
Processing triggers for libc-bin (2.35-0ubuntu3.15) ...
3. 网络连通性。安装过程需要访问 github.com 下载发布包;若服务器出境网络慢或不稳定,可先配置代理环境变量再执行下载(以自建代理 192.168.1.62:7897 为例,按实际环境替换):
export http_proxy=http://192.168.1.62:7897 https_proxy=http://192.168.1.62:7897
⚠️ 注意:纯内网服务器请改用第五节"离线包安装方案",在能联网的机器下载后拷贝过去。
4. 端口占用检查。8090 为 PocketBase 默认端口,安装前确认未被占用:
ss -ltn | grep 8090 || echo "8090 空闲"
实测输出:
8090 空闲
5. 防火墙放行(可选,供外网访问)。Ubuntu 自带 ufw 防火墙,若处于启用状态需放行 8090 端口:
ufw status
ufw allow 8090/tcp
实测输出:
Status: inactive
Rules updated
Rules updated (v6)
⚠️ 注意:实测环境防火墙处于
inactive状态;若你的服务器Status: active,放行后外网才能访问 8090。
三、版本选型说明
PocketBase 发布节奏快,安装前应实查最新稳定版,而不是照抄旧教程中的版本号。
1. 查询最新稳定版:浏览器打开官方 Releases 页 https://github.com/pocketbase/pocketbase/releases,页面顶部即最新版。2026-10-21 实查结果:最新稳定版 v0.40.5,同一页面同期可见旧维护分支 v0.22.56 的回补版本(说明官方对 0.22 旧线仍在做安全回移)。也可用命令行查发布摘要:
curl -fsSL https://github.com/pocketbase/pocketbase/releases/expanded_assets/v0.40.5 | grep -oE "href=\"[^\"]+\"" | grep -iE "tar\.gz|zip|checksums"
实测输出(v0.40.5 全部发行资产清单):
href="/pocketbase/pocketbase/releases/download/v0.40.5/checksums.txt"
href="/pocketbase/pocketbase/releases/download/v0.40.5/pocketbase_0.40.5_darwin_amd64.zip"
href="/pocketbase/pocketbase/releases/download/v0.40.5/pocketbase_0.40.5_darwin_arm64.zip"
href="/pocketbase/pocketbase/releases/download/v0.40.5/pocketbase_0.40.5_linux_amd64.zip"
href="/pocketbase/pocketbase/releases/download/v0.40.5/pocketbase_0.40.5_linux_arm64.zip"
href="/pocketbase/pocketbase/releases/download/v0.40.5/pocketbase_0.40.5_linux_armv7.zip"
href="/pocketbase/pocketbase/releases/download/v0.40.5/pocketbase_0.40.5_linux_ppc64le.zip"
href="/pocketbase/pocketbase/releases/download/v0.40.5/pocketbase_0.40.5_linux_s390x.zip"
href="/pocketbase/pocketbase/releases/download/v0.40.5/pocketbase_0.40.5_windows_amd64.zip"
href="/pocketbase/pocketbase/releases/download/v0.40.5/pocketbase_0.40.5_windows_arm64.zip"
2. 版本与平台对照:
| 平台 | 发行包(以 v0.40.5 为例) | 说明 |
|---|---|---|
| Linux amd64 | pocketbase_0.40.5_linux_amd64.zip | 本篇所用 |
| Linux arm64 | pocketbase_0.40.5_linux_arm64.zip | 树莓派 4/5、ARM 云主机 |
| Linux armv7 | pocketbase_0.40.5_linux_armv7.zip | 老款 32 位 ARM 板 |
| Linux ppc64le / s390x | 同名 zip | 小型机场景 |
| macOS amd64/arm64 | pocketbase_0.40.5_darwin_*.zip | 开发机 |
| Windows amd64/arm64 | pocketbase_0.40.5_windows_*.zip | 开发机 |
关键差异与选型:同一版本号下按 uname -m 结果选平台包;生产一律选最新稳定版,旧分支(0.22.x)仅在无法升级的存量环境中作安全回补用。
⚠️ 排障实录:tar.gz 下载 404。网上大量旧教程(含 0.39 及更早版本)使用
pocketbase_<版本>_linux_amd64.tar.gz链接,从 v0.40.x 起 Linux 发行包已全部改为 zip 格式,继续下载 tar.gz 会报 404——实测:curl: (22) The requested URL returned error: 404定位方法即上方"查询最新稳定版"命令列出的资产清单:v0.40.5 资产里没有 tar.gz,只有 zip 与 checksums.txt。解决方案:改用
.zip包并用unzip解压(这也是第二节安装 unzip 的原因)。
四、方案 A:在线下载官方 zip + systemd 托管(推荐)
4.1 方案说明
本方案是官方推荐的安装方式:从 GitHub Releases 下载与架构匹配的 zip 发布包,校验 sha256 后解压到 /opt/pocketbase,创建超级用户,最后交给 systemd 托管实现开机自启与崩溃自动拉起。全程约 5 分钟。
4.2 下载与校验
创建安装目录,下载 zip 包与官方校验文件,并核对 sha256:
mkdir -p /opt/pocketbase && cd /opt/pocketbase
curl -fsSL -o pocketbase.zip https://github.com/pocketbase/pocketbase/releases/download/v0.40.5/pocketbase_0.40.5_linux_amd64.zip
curl -fsSL -o checksums.txt https://github.com/pocketbase/pocketbase/releases/download/v0.40.5/checksums.txt
grep linux_amd64 checksums.txt
sha256sum pocketbase.zip
实测输出:
1dbea1b01eb3dfe64953513859d01e759c96650c4e3264fa4eecd54b769382e4 pocketbase_0.40.5_linux_amd64.zip
1dbea1b01eb3dfe64953513859d01e759c96650c4e3264fa4eecd54b769382e4 pocketbase.zip
两行哈希完全一致,说明包完整未被篡改。若不一致,删除后重新下载。
4.3 解压安装
unzip -o pocketbase.zip
chmod +x pocketbase
ls -lh
实测输出:
Archive: pocketbase.zip
inflating: CHANGELOG.md
inflating: LICENSE.md
inflating: pocketbase
total 44M
-rw-r--r-- 1 root root 6.9K Oct 8 16:38 CHANGELOG.md
-rw-r--r-- 1 root root 1.1K Oct 8 16:38 LICENSE.md
-rw-r--r-- 1 root root 908 Oct 21 09:28 checksums.txt
-rwxr-xr-x 1 root root 32M Oct 8 16:39 pocketbase
-rw-r--r-- 1 root root 13M Oct 21 09:28 pocketbase.zip
发布包内含三个文件:pocketbase 主程序(约 32MB 单二进制)、CHANGELOG.md 更新日志、LICENSE.md 许可证。确认版本:
./pocketbase -v
实测输出:
pocketbase version 0.40.5
4.4 首次启动验证(前台)
正式托管前先前台跑一次,确认程序能正常拉起并观察初始化输出:
timeout 8 ./pocketbase serve --http=0.0.0.0:8090
实测输出:
2026/10/21 09:29:06 Server started at http://0.0.0.0:8090
├─ REST API: http://0.0.0.0:8090/api/
└─ Dashboard: http://0.0.0.0:8090/_/
(!) Launch the URL below in the browser if it hasn't been open already to create your first superuser account:
http://0.0.0.0:8090/_/#/pbinstall/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjb2xsZWN0aW9uSWQiOiJwYmNfMzE0MjYzNTgyMyIsImV4cCI6MTc5MjU3Njc0NiwiaWQiOiIwdTdtZzM2cTZ0cjNnYmsiLCJyZWZyZXNoYWJsZSI6ZmFsc2UsInR5cGUiOiJhdXRoIn0.qwj3tCb_vBjDCfDmBeh1mS1z6getZIca6oPOBKwZIS4
(you can also create your first superuser by running: ./pocketbase superuser upsert EMAIL PASS)
首启时 PocketBase 自动完成初始化:创建数据目录 pb_data(含业务库 data.db、辅助库 auxiliary.db、供 JS 扩展使用的类型声明 types.d.ts),并打印两条创建首个超级用户的路径(浏览器安装链接或 CLI 命令)。
验证健康检查接口(另开终端,或服务被 timeout 停止前执行):
curl -s http://127.0.0.1:8090/api/health
实测输出:
{"message":"API is healthy.","code":200,"data":{}}
4.5 创建超级用户
用 CLI 直接创建演示超级用户(避免依赖浏览器安装链接的有效期):
./pocketbase superuser create admin@example.com q1w2e3r4
实测输出:
Successfully created new superuser "admin@example.com"!
💡 说明:
superuser upsert EMAIL PASS会在邮箱已存在时改为更新密码,适合脚本幂等场景;create在邮箱重复时会报错。二者首次创建效果相同。
4.6 配置 systemd 托管
写入服务单元 /etc/systemd/system/pocketbase.service:
cat > /etc/systemd/system/pocketbase.service <<EOF
[Unit]
Description=PocketBase service
After=network.target
[Service]
Type=simple
User=root
LimitNOFILE=4096
Restart=always
RestartSec=5
WorkingDirectory=/opt/pocketbase
ExecStart=/opt/pocketbase/pocketbase serve --http=0.0.0.0:8090
[Install]
WantedBy=multi-user.target
EOF
逐项说明:
After=network.target:网络就绪后再启动;Type=simple:前台进程型服务,pocketbase serve即前台运行;User=root:以 root 运行(官方示例写法);如需收紧,可改为专用低权用户并同步调整/opt/pocketbase目录属主;LimitNOFILE=4096:文件描述符上限,并发文件/连接较多时可调大;Restart=always+RestartSec=5:进程异常退出后 5 秒自动拉起;WorkingDirectory=/opt/pocketbase:工作目录,pb_data/pb_public/pb_hooks等相对目录都基于它;ExecStart中--http=0.0.0.0:8090:显式绑定所有网卡。不加该参数时 serve 默认只绑127.0.0.1:8090(本机可访问,外网不可达),若指定了域名参数则默认绑0.0.0.0:80;WantedBy=multi-user.target:开机自启。
加载并启用服务:
systemctl daemon-reload
systemctl enable pocketbase
systemctl start pocketbase
systemctl is-active pocketbase
实测输出:
Created symlink /etc/systemd/system/multi-user.target.wants/pocketbase.service → /etc/systemd/system/pocketbase.service.
active
4.7 安装结果验证
服务状态:
systemctl status pocketbase --no-pager -l
实测输出(节选):
● pocketbase.service - PocketBase service
Loaded: loaded (/etc/systemd/system/pocketbase.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2026-10-21 09:29:52 UTC; 6s ago
Main PID: 2822 (pocketbase)
Tasks: 11 (limit: 94371)
Memory: 7.5M
CGroup: /system.slice/pocketbase.service
└─2822 /opt/pocketbase/pocketbase serve --http=0.0.0.0:8090
Oct 21 09:29:52 pb-server systemd[1]: Started PocketBase service.
Oct 21 09:29:52 pb-server pocketbase[2822]: 2026/10/21 09:29:52 Server started at http://0.0.0.0:8090
Oct 21 09:29:52 pb-server pocketbase[2822]: ├─ REST API: http://0.0.0.0:8090/api/
Oct 21 09:29:52 pb-server pocketbase[2822]: └─ Dashboard: http://0.0.0.0:8090/_/
注意 Memory: 7.5M——空载内存仅个位数 MB,这是单二进制 Go 程序的资源优势。
健康检查与管理台:
curl -s http://127.0.0.1:8090/api/health
curl -s http://127.0.0.1:8090/_/ | head -c 220
实测输出:
{"message":"API is healthy.","code":200,"data":{}}
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>PocketBase</title>
管理台 HTML 正常返回。浏览器打开 http://<服务器IP>:8090/_/,用 admin@example.com / q1w2e3r4 登录即可看到管理仪表盘。
数据持久化验证(重启服务后账号仍有效,证明状态已落盘):
systemctl restart pocketbase
sleep 2
curl -s -X POST http://127.0.0.1:8090/api/collections/_superusers/auth-with-password -H "Content-Type: application/json" -d '{"identity":"admin@example.com","password":"q1w2e3r4"}' -o /dev/null -w "auth_http=%{http_code}\n"
实测输出:
auth_http=200
超级用户登录返回 200,重启无数据丢失。所有持久化状态都在 /opt/pocketbase/pb_data/ 目录内。
五、方案 B:离线包安装(内网/断网服务器)
5.1 方案说明
生产内网服务器通常不能直连 GitHub。本方案在任一能联网的机器上完成下载与校验,再把 zip 包传到服务器解压安装,后续步骤与方案 A 完全一致(PocketBase 本身就是单文件,不存在额外的依赖安装)。
5.2 在联网机器上下载并校验
mkdir -p pb_transfer && cd pb_transfer
curl -fsSL -o pocketbase_0.40.5_linux_amd64.zip https://github.com/pocketbase/pocketbase/releases/download/v0.40.5/pocketbase_0.40.5_linux_amd64.zip
curl -fsSL -o checksums.txt https://github.com/pocketbase/pocketbase/releases/download/v0.40.5/checksums.txt
grep linux_amd64 checksums.txt
sha256sum pocketbase_0.40.5_linux_amd64.zip
实测输出(与 4.2 一致即校验通过):
1dbea1b01eb3dfe64953513859d01e759c96650c4e3264fa4eecd54b769382e4 pocketbase_0.40.5_linux_amd64.zip
1dbea1b01eb3dfe64953513859d01e759c96650c4e3264fa4eecd54b769382e4 pocketbase_0.40.5_linux_amd64.zip
5.3 传输到服务器
用 scp(或内网已有的文件分发通道)把两个文件传到目标服务器:
scp pocketbase_0.40.5_linux_amd64.zip checksums.txt root@<服务器IP>:/opt/pocketbase/
在目标服务器上核对哈希后解压(输出同 4.2/4.3):
cd /opt/pocketbase
grep linux_amd64 checksums.txt
sha256sum pocketbase_0.40.5_linux_amd64.zip
unzip -o pocketbase_0.40.5_linux_amd64.zip
chmod +x pocketbase
./pocketbase -v
实测输出(节选):
1dbea1b01eb3dfe64953513859d01e759c96650c4e3264fa4eecd54b769382e4 pocketbase_0.40.5_linux_amd64.zip
pocketbase version 0.40.5
5.4 创建超级用户并 systemd 托管
与方案 A 相同,逐条执行即可:
./pocketbase superuser create admin@example.com q1w2e3r4
实测输出:
Successfully created new superuser "admin@example.com"!
写入与服务管理命令同 4.6 节(/etc/systemd/system/pocketbase.service 的完整内容与逐项说明见该节),执行后验证:
systemctl daemon-reload
systemctl enable pocketbase
systemctl start pocketbase
systemctl is-active pocketbase
实测输出:
Created symlink /etc/systemd/system/multi-user.target.wants/pocketbase.service → /etc/systemd/system/pocketbase.service.
active
curl -s http://127.0.0.1:8090/api/health
实测输出:
{"message":"API is healthy.","code":200,"data":{}}
六、升级、降级与多版本管理
6.1 官方自更新命令 pocketbase update
PocketBase 内置自更新子命令,自动下载最新版替换当前可执行文件,并在结束时默认对 pb_data 做一次备份。实测从 v0.40.4 升级到 v0.40.5(在 /opt/upgrade-test 目录放入 0.40.4 版二进制后执行):
./pocketbase -v
echo y | ./pocketbase update
./pocketbase -v
实测输出:
pocketbase version 0.40.4
Fetching release information...
You already have the latest version 0.40.5.
pocketbase version 0.40.5
执行过程中程序先拉取发布信息并打印新版本更新日志片段,然后替换二进制。更新产生的自动备份落在 pb_data/backups/ 下,文件名带 @update_ 前缀:
ls -lh pb_data/backups/
实测输出:
total 236
-rw-r--r-- 1 root root 225389 Oct 21 09:42 @update_v0.40.5.zip
-rw-r--r-- 1 root root 240 Oct 21 09:42 @update_v0.40.5.zip.attrs
💡 说明:
update命令默认--backup为 true,即更新前自动备份数据目录;可用./pocketbase update --backup=false关闭。 ⚠️ 注意:update需要能直连 GitHub Releases 下载新包,且对二进制所在目录有写权限。出境网络受限的服务器建议改用 6.2 的手动替换方式。
6.2 手动替换二进制升级
下载新版 zip(步骤同 4.2),解压覆盖旧二进制后重启服务即可,数据目录无需任何处理:
cd /opt/pocketbase
unzip -o pocketbase.zip
systemctl restart pocketbase
systemctl is-active pocketbase
./pocketbase -v
实测输出(节选):
active
pocketbase version 0.40.5
💡 说明:数据库结构迁移(schema migration)在服务启动时自动执行(默认
--automigrate=true),无需手工跑迁移。
6.3 降级
把旧版本二进制重新解压覆盖,再重启服务即完成降级。实测用 v0.40.4 二进制启动由 v0.40.5 初始化的数据目录(全新空库场景)可以正常拉起:
pocketbase version 0.40.4
2026/10/21 09:42:47 Server started at http://127.0.0.1:8096
├─ REST API: http://127.0.0.1:8096/api/
└─ Dashboard: http://127.0.0.1:8096/_/
⚠️ 注意:跨 schema 迁移的降级不受支持——一旦新版本对数据库结构做了变更,旧版程序可能无法读取。降级前务必用
pb_data/backups/里的备份或管理台/API 手动创建的备份做兜底,并优先选择只回退一个补丁版本。
6.4 多版本并存
不同业务需要不同版本时,按目录隔离部署即可:每个版本独立目录(如 /opt/pocketbase-0.40.5、/opt/pocketbase-0.22.18),各自配独立的 systemd 单元(改 Description、WorkingDirectory、ExecStart 与端口 --http=0.0.0.0:8091 等避免冲突)。单一服务切换版本时改 ExecStart 指向不同目录的二进制后 systemctl daemon-reload && systemctl restart pocketbase。
七、方案对比与选择建议
| 维度 | 方案 A:在线下载(推荐) | 方案 B:离线包传输 | pocketbase update 自更新 |
|---|---|---|---|
| 是否需联网 | 服务器需访问 GitHub | 仅中转机需联网,服务器零外网 | 服务器需访问 GitHub |
| 来源 | 官方 Releases + checksums 校验 | 官方包人工拷贝,可先校验 | 官方 Releases 自动拉取 |
| 版本控制 | 任意指定版本 | 任意指定版本 | 只能到最新版 |
| 服务管理 | systemd 托管 | systemd 托管 | 二进制热替换,需 systemd 重启生效 |
| 适用场景 | 标准生产安装 | 内网隔离/安审环境 | 补丁版本快速跟进 |
关键差异与建议:能联网的服务器用方案 A首次安装;内网隔离环境用方案 B;日常小版本跟进优先用 pocketbase update(自带数据备份),网络不通时退回手动替换(6.2)。
八、配置说明
安装完成后,与运行行为相关的目录约定与关键配置如下。
目录结构(均位于 WorkingDirectory,即 /opt/pocketbase):
| 目录/文件 | 作用 | 是否随安装包自带 |
|---|---|---|
pocketbase | 主程序单二进制 | 是 |
pb_data/ | 数据目录:data.db 业务库、auxiliary.db 辅助库、backups/ 备份目录 | 首次启动自动生成 |
pb_public/ | 静态站点目录,存在即对外托管 | 否,按需创建 |
pb_hooks/ | JSVM 钩子目录(*.pb.js) | 否,按需创建 |
pb_migrations/ | 迁移文件目录 | 否,按需生成 |
常用运行配置通过 serve 的命令行参数与数据目录约定完成(参数全量解释见《PocketBase 0.40.5 配置参数详解》):
- 监听地址/端口:
--http=0.0.0.0:8090(systemd 单元内修改后systemctl daemon-reload && systemctl restart pocketbase生效); - 数据目录改名:
--dir /var/lib/pocketbase(需同步调整目录属主); - 静态站点:创建
pb_public/index.html后重启即托管(默认--indexFallback=true时缺失路径回落到 index.html,适配 SPA)。
修改 systemd 单元后必须重载并重启:
systemctl daemon-reload
systemctl restart pocketbase
systemctl is-active pocketbase
实测输出:
active
九、常见问题(FAQ)
Q1:照旧教程下载 pocketbase_x.y.z_linux_amd64.tar.gz 报 404?
从 v0.40.x 起 Linux 发行包改为 zip 格式。改用 pocketbase_<版本>_linux_amd64.zip 并用 unzip 解压;资产清单可用第三节"查询最新稳定版"的命令实查。完整排障过程见该节排障实录。
Q2:服务正常但外网浏览器访问不了?
两个最常见原因:① serve 未绑外网网卡——默认只绑 127.0.0.1:8090,检查 systemd 单元 ExecStart 是否带 --http=0.0.0.0:8090,改后 systemctl daemon-reload && systemctl restart pocketbase;② 防火墙未放行——ufw allow 8090/tcp(见第二节)。本机可先用 curl -s http://127.0.0.1:8090/api/health 确认服务本身健康。
Q3:忘记超级用户密码怎么办?
CLI 直接重置(服务运行中执行即可,改完立即生效):
./pocketbase superuser update admin@example.com q1w2e3r4
实测输出:
Successfully changed superuser "admin@example.com" password!
若账号本身丢失,可用 superuser upsert 重建同邮箱账号,或 superuser delete 删除后重建。
Q4:systemctl start 后服务起不来?
先看日志定位:
journalctl -u pocketbase --no-pager -n 20
实测运行日志示例(节选):
Oct 21 09:29:52 pb-server systemd[1]: Started PocketBase service.
Oct 21 09:29:52 pb-server pocketbase[2822]: 2026/10/21 09:29:52 Server started at http://0.0.0.0:8090
Oct 21 09:29:52 pb-server pocketbase[2822]: ├─ REST API: http://0.0.0.0:8090/api/
Oct 21 09:29:52 pb-server pocketbase[2822]: └─ Dashboard: http://0.0.0.0:8090/_/
常见根因:① 端口被占——手动前台启动可直接看到报错 listen tcp 127.0.0.1:8090: bind: address already in use(实测回显),用 ss -ltn | grep 8090 找到占用进程或改 --http 端口;② 数据目录权限不足——User= 与 --dir 目录属主要匹配;③ 二进制无执行位——chmod +x pocketbase。
Q5:下载 GitHub 发布包很慢或超时?
为下载命令配置代理后重试(第二节第 3 条的环境变量方式),或直接改走方案 B 离线传输;pocketbase update 卡住时同样改用 6.2 手动替换。
Q6:升级后想确认当前运行版本?
./pocketbase -v
实测输出:
pocketbase version 0.40.5
systemd 托管场景注意二进制替换后需 systemctl restart pocketbase 才切换到新版本进程。
十、卸载与清理
PocketBase 为单文件应用,卸载非常干净:
systemctl stop pocketbase
systemctl disable pocketbase
实测输出:
Removed "/etc/systemd/system/multi-user.target.wants/pocketbase.service".
删除服务单元并重载,再删除安装目录(含全部数据,先确认备份需求):
rm /etc/systemd/system/pocketbase.service
systemctl daemon-reload
rm -rf /opt/pocketbase
如曾放行防火墙,一并回收:
ufw delete allow 8090/tcp
实测输出:
Rule deleted
Rule deleted (v6)
十一、参考链接
-
GitHub 仓库:https://github.com/pocketbase/pocketbase
-
Releases(v0.40.5):https://github.com/pocketbase/pocketbase/releases/tag/v0.40.5
-
站内延伸:《PocketBase 介绍与选型指南》