断网也能用!离线版“Notion+1Password+记账App”开源实现

项目介绍
Personal Management System(PMS)是波兰开发者 Volmarg 用 PHP/Symfony 手搓的“全家桶”级个人数据管理后端。它把自己定位成“WordPress 式”的轻量 CMS,但只服务一个人——你本人。所有数据默认落在本地 MySQL,天生拒绝云同步,真正做到“数据不出家门”。前端单独拆仓库,支持 Docker 一键拉起,树莓派、旧笔记本都能跑,24×7 低功耗守护隐私。

核心功能速览
模块 一句话亮点 典型场景
🎯 Todo/Goals 目标+子任务+收款进度 存钱买相机、学一门语言
🔑 Passwords AES 加密+一键复制密码 告别浏览器自带密码库
💸 Payments 自动月报+欠条追踪 月底知道钱都去哪了
📷 Images 类 Masonry 画廊+Lightbox 宝宝照片离线备份
📅 Schedules 循环提醒+Dashboard 铃铛 车险/体检不再忘
🌴 Travels 地点+图片+地图链接 种草旅行地灵感库
📁 Files DataTable+图标预览 发票/合同集中仓库
5 分钟本地启动
-
- 克隆
git clone https://github.com/Volmarg/personal-management-system.git pmscd pms
- 克隆
-
- Docker 一键(包含 PHP、Nginx、MySQL)
docker compose up -d
- Docker 一键(包含 PHP、Nginx、MySQL)
-
- 打开
http://localhost:8080,用演示账号admin@admin.admin / admin即可体验。 若想跑在树莓派,官方 compose 已设platform: linux/arm/v7,直接docker compose pull && docker compose up -d无坑。
- 打开
代码演示:新增一条待办
以下 PHP 片段演示了如何不依赖前端,直接用 HTTP API 插入一条“每日跑步 5 km”目标(需先拿 JWT)。
// 1. 登录拿 token
$response = Http::post('http://localhost/api/login_check', [
'username' => 'admin@admin.admin',
'password' => 'admin'
]);
$token = $response->json()['token']; // 2. 新建目标
Http::withHeaders(['Authorization' => 'Bearer ' . $token])
->post('http://localhost/api/todo', [
'name' => '每日跑步',
'description' => '5 km 起步,坚持30天',
'deadline' => (new DateTime('+30 days'))->format('Y-m-d')
]);不到 20 行代码即可把任何脚本/IoT 设备接入 PMS,实现自动化数据推送。
与主流工具对比
| 维度 | PMS | Notion | 1Password | 云笔记 | |---|---|---|---| | 数据位置 | 本地 MySQL | 云端 | 云端 | 云端 | | 功能覆盖 | 全场景 | 全场景 | 仅密码 | 仅笔记 | | 离线使用 | ✅ 100% | ❌ 需网络 | ✅ 部分 | ❌ | | 自建难度 | 低(Docker) | ❌ 不可 | ❌ 不可 | ❌ 不可 | | 可扩展性 | 高(开源) | 低 | 低 | 低 |
一句话总结:PMS 用“我全都要”的思路,把 Notion、记账 App、密码管理器、网盘整合进一个可离线的本地包。
总结
如果你厌倦了把隐私分散在各大云端,又懒得折腾多个开源单品,Personal Management System 就是“树莓派上的瑞士军刀”。它把待办、账单、密码、照片、文件甚至旅行灵感全部收进本地数据库,Docker 一行命令即可拥有。MIT 协议无版权顾虑,二次开发门槛低,PHP 栈开发者可随心魔改。现在就把它拉到本地,为自己搭一座真正意义上“只属于我”的数据堡垒吧!
项目地址:https://github.com/Volmarg/personal-management-system