本仓库只是后端,需另外部署配套前端仓库 personal-management-system-front;安装步骤未写在 README 中,必须查阅官方文档;作者明确表示不保证提供支持
personal-management-system
VolmargMIT活跃维护一套自托管的个人数据管理 Web 应用,把笔记、密码、财务、联系人等日常信息集中到一个仪表盘里管理,用 Docker 就能部署。
Your web application for managing personal data.
v2.1.0发布于 2026-09-27 16:40 UTC4,194star349fork同步于 2026-11-10 17:40 UTC
README 未给出安装命令,仅指向官方文档:https://volmarg.github.io/docs/getting-started/installation.html 硬件要求按 README 说明
README 未说明具体硬件要求,仅提到目标是在树莓派或终端上 24/7 运行于家庭内网
自托管的个人数据管理后端,把待办、密码、财务、文件等分散信息集中到一个 Web 应用里
一套自托管的个人数据管理 Web 应用,把笔记、密码、财务、联系人等日常信息集中到一个仪表盘里管理,用 Docker 就能部署。
核心能力
- 按模块管理待办、笔记、联系人、密码等个人数据
- 密码模块加密存储,前端可一键复制原文
- 支付模块自动汇总月度开销并记录欠款
- 图片以瀑布流画廊展示,文件以表格管理
- 日程分组数据展示在仪表盘和通知铃中
容易踩的坑
内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README
- v2.1.0Version 2.1.0最新正式版2026-09-27 · 2026-09-27 16:40 UTC
TLDR
New Health module and bunch of fixes.
Changes
- 6bbeb021 📝 Add health module info to readme
- 1b633b51 🐛 Rename doctor/illness on soft-delete, fixes unique constraint
- 1b328e29 ✨ Health fixture
- fdc0e9f8 ♻ Add info about jwt auth success call
- 101442ac 🐛 Lock mechanism broken
- da8d93d9 ♻ Return doctor/illness created record id
- d4046fd2 🐛 Catch non unique doctor/illness
- 6855d8c8 🐛 Allow illness without appointments
- 4f2cb3ab 🐛 Allow empty doc contats
- c5d12959 ✨ Handle doctor contacts
- 11434a48 🐛 Doctor contacts missing default value
- c138c6db ♻ Response serializer into trait
- 7cb6d91a 🍻 Forgot doctor contacts dto
- 658bb90d ✨ Add doctor contacts
- 0e371360 🐛 SoftDelete appointments for removed illness
- a0443570 🐛 Explicitly check for filepath starting with string
- fb9d3679 🐛 Controll files accessed via get-file
- 8a1c489c 🐛 Send missing front data for illness appointments
- aae52a0c ♻ Reduce fields needed for doc appointment create/update
- b0bdd5bb 🐛 Unlink storageFile2Module when removing file
- cc555777 ♻ Appointment date H:i:s
- 86d3c269 🐛 Dont return deleted appointments
- 46203117 ♻ Rework the code for handling the appointment files properly
- 16260bc8 🐛 DocAppointment circular ref crashing getAll
- 033af33a ♻ Revert storage file paginated data (filter), add (all) call
- 8ac0becf 🔐 Add health module perms
- dd723e91 🐛 IllnessAction:getAll crash
- 2bef7645 ✨ Base code for doc appointment action
- c1837de8 🍻 Missing module defined in service
- d4df3f0f ✨ Prepare very base code for doctor/ilness action
- 71a492dc 🧑💻pencode entity soft-deletable
- 54ebb2d5 ♻ Make health entities soft-deletable
- 74a40d42 🧑💻xtend opencode entity rule
- 731c1c9f 🗃 Migration for health entities
- 5b1151b5 🐛 Missing unique constraint import
- bb244c27 ✨ Add base code for health entities
- 9a2d7306 🧑💻dd opencode entity rule
- 2cd9b3c1 🐛 StorageFile polymorph not working for new entities
- bf764317 🐛 StorageFile hydration fails if no entity is related
- b66118fe ✨ Entrypoint php: register storage files in db
- e5cd4db1 ✨ Add opencode config
- 1b5d799b ✨ Add polymorphic StorageFile2Module
- bcbb1861 🐛 Expecting storage file id in getDirNodeFiles crashes
- 6b20c9f3 ♻ Return file id and path in file data for storage
- 77a80984 ✨ Update storage file on dir rename
- 3c71a028 🐛 Deny renaming storage base upload dir
- 3fa67b3d ✨ Update storage file entity path on file rename
- 1e5ab033 ✨ Update storage file path on dir copy/move logic
- 9e634886 ♻ Reduce code for storage filter and files to entities
- c6916608 ✨ Allow uploading CSV in monthly payment import
- 13a3b868 ♻ Update storageFile path when moving from module view
- bd181af4 🐛 File path to entity, wrong file name for file without ext
- a3c6b3e3 🐛 Upload file into entity, wrong files paths
- 0b0c655c ♻ Remove StorageFileEntity on front removal
- 20af38b9 ♻ Storage uploaded file into entity
- 589ec3c1 ✨ Add command for creating entities from storage uploaded files
- 339cd883 ✨ Add storage_file table
- 0767c0ca ♻ StoreageFile filter, support search by query
- 0e123eac ♻ Route for getting all files via filter
- 3710cc90 ⏪ Revert github tpl for now - not working
- 00ec5fe0 📝 Another attempt adding tpl
- a469df35 📝 Yet another attempt to make issue tpl
- 27129f5c 📝 Further changes to make default issue tpl
- 074b9455 📝 Make default github issue tpl
- b4a31505 Update issue templates
- f9ad7ef0 🐛 Token not refreshed on activity based refresh
- 8bef257f :technologist: DevAction return class::func
- v2.0.4Version 2.0.42026-04-25 · 2026-04-25 10:05 UTC
查看更新说明
Changes
- 180b104d :sparkles: Allow assigning import profile to filter rule
- 033d6b46 :recycle: Add description field to filter rules
- 55cc14fe :bug: Migration for profiles/filters crashing
- 65b56547 :recycle: Add relation between import rule && profile
- 6641f182 :technologist: Define dev debug route for backend
- 2c7a6336 :recycle: Cleanup JwtAuthenticationDisabledAttribute
- cb5876ac :recycle: Contact type: allow url for image path, adjust
- 5e0e9e6f :bug: Contact type never updated
- 16621e71 :bug: In query jwt token never worked
- 871cbb65 :arrow_up: Profiler to 6.1.x
- 55dd6bfe :bug: Inaccessible profiler route
- 2522c289 :lock: Validate public folder get path
- c6bbff00 :lock: main firewall inactive
- 7ab6c728 :sparkles: Add import profile entity + crud
- d98c175e :sparkles: Support monthly import partial filter rule
- 12f9d6e3 :sparkles: Monthly import filter rules structure
- d40e442c :technologist: Split & clean OnKernelRequestListener
- v2.0.3Version 2.0.32026-01-31 · 2026-01-31 09:14 UTC
查看更新说明
Changes
- 04e4d7f7 :recycle: Deny sending storage module tree structure if its locked
- 31dc4c2b :recycle: Deny storage access if storage-based modules are locked
- 82c03619 :bug: Assign storage function module annotations
- a20842c0 :recycle: Dont show storage files in search for locked module
- 159599d3 :bug: Search result: soft deleted notes got listed
- e3476fe1 :recycle: Do not show notes search results for locked mofule
- 5cfac311 :bug: Typo on php.ini apc conf
- ddd6cf06 :sparkles: Allow (un)locking method for module
- v2.0.3bVersion 2.0.3-beta2026-01-13 · 2026-01-13 13:29 UTC
查看更新说明
Info
v2.0.3aims to bring back module locking functionallity
It's generally there, but unfinished.
Changes
- f330f3b6 :sparkles: Show dashboard widget lock state
- af720a7c :recycle: Show widget settings lock state based on module lock
- ef1d4ea4 :recycle: Return dashboard data only if module is acessible
- e0c84859 :recycle: Deny modules locking on demo
- 3ce24a4a :lock: Hide modules locking behind lock
- 920e59fb :recycle: Send proper lock/right state do show menu lock on front
- 6d38fce2 :bug: User rights in jwt not refreshing properly for module locks
- 83b55fe9 :sparkles: Send user rights in jwt to front
- 3d98e249 :recycle: Rename module reporsts name const
- c42fcc8b :sparkles: Handle module lock setting
- v2.0.2Version 2.0.22025-11-27 · 2025-11-27 13:39 UTC
查看更新说明
Mostly legacy code cleanup - pretty much all the mess should be cleaned up by now.
Contains some minor fixes here & there,
Changes
- 911afd38 :fire: Wipe leftover services logic, from ctrl cleanup
- 9cf59068 :recycle: Cleanup remaining legacy trans.
- 2ca91a9f :bug: Wrong trans ref
- 49ad3634 :fire: Legacy FileTagger
- 145df4e3 :recycle: Further translations cleanup && merge
- a66b9066 :recycle: Further translations cleanup
- e9779e16 :fire: Wipe part of legacy translations
- 3d5447fa :recycle: ModuleAnnotation to ModuleAttribute
- 6e83cc8b :recycle: Replace AnnotationReader with AttributeReader
- 8025c62f :bug: MonthlyPayments description trim
- 692d8322 :fire: Wipe last legacy Controller
- 04697104 :recycle: Get rid of ConfigLoaders core controller
- 1a844bb4 :recycle: Env and Utils into service
- 3b57f685 :recycle: Settings Controllers into services
- 1472a212 :fire: Wipe some legacy controllers
- 24b740f6 :recycle: ModulesController into ModulesService
- 589b25b9 :recycle: Wipe useless controllers. Move some ctrl to service
- 66b05297 :recycle: Wipe some useless controllers, use repo logic
- fef3da69 :fire: Wipe obsolete legacy controllers
- 5c036eb8 :recycle: LockedResource/Security-Controller into service
- 25fd20f8 :recycle: Actions tiny cleanup
- ab7e813e :recycle: Move assets around
- 4b5a2d8a :fire: Wipe commands legacy code + legacy miniatures comman
- 33ebd277 :fire: Further wipe controllers dead code
- 2fbc1836 :fire: cleanup some controllers legacy logic
- 39a66246 :recycle: Wipe useless dtos, rename some other dtos
- df2152c6 :fire: Wipe entities legacy stuff
- 3a2e7294 :fire: Wipe some useless entity interfaces
- 0ab7bd9b :fire: Cleanup repos code
- 0d419d3a :fire: Wipe some legacy dead code from repos
- 5d79c311 :fire: Further wipe dead code
- 0277deda :fire: Wipe dead code from files services
- a833b3cc :fire: Wipe bunch of old files related logic
- 154cf7d2 :bug: Recurring payments day of month not validated
- e7dc6855 :bug: Job holidays pool not validated on update
- 8756c438 :recycle: ValidationVo into ValidationDto
- 57b78322 :sparkles: Add schedules reminder sending to pi cron.d
- d3c717cc :bug: Reminders command not marking reminder as handled
- 40adade1 :fire: Wipe useless code in multiple files
- 04bb5da3 :fire: Wipe legacy ConfigLoaderSession
- 305f526d :fire: Wipe legacy logger
- 8171a921 :fire: Remove legacy Translator
- 6b8d64cc :fire: Wipe legacy App
- 4022c443 :fire: Wipe logger calls through legacy app
- 1b0f9be9 :fire: Wipe translator calls in legacy app
- 2b1cb831 :sparkles: Handle sending reminders over discord webhook
- 05436eae :technologist: Script: git diff between tags
- 8a08fb61 :fire: Wipe ConfigLoaders calls through legacy app
- 2743cf7d :sparkles: Store notification settings
用户点评
登录用户的真实使用记录,可按版本和硬件筛选共 0 条
还没有人点评。第一个说出真实体验的人最有价值。