家里的事情一多,大家会不会碰到以下情况?
周末有什么安排,临时才发现彼此时间冲突;水电、物业、订阅什么时候续费,总要等到提醒弹出来才想起;家庭开支记在不同地方,想复盘时又很难找全;常用资料、保修记录和重要日期,也散落在手机备忘录、日历和文件夹里。
有没有一个平台,能把家庭日程、任务、预算、购物、菜谱、文件和提醒统一管理,并且让家人共同使用?本期要介绍的 Yuvomi 就是这样一套家庭生活管理工具。部署 NAS 后,全家人手机和电脑都能访问,数据也由自己保存和管理。

项目介绍
完整项目名:ulsklyc/yuvomi,可于GitHub直接搜索。
Yuvomi 是一款开源、自托管的家庭生活管理平台,可以把日历、任务、购物清单、家庭预算、菜谱、文件、健康记录和提醒等功能集中到一个界面中。
它支持多成员共同使用,每位家庭成员都可以拥有独立账号、权限和个人数据,同时也能共享日程、任务和家庭事务。Yuvomi 采用手机优先的界面设计,支持 PWA 安装,部署完成后可以直接通过手机、平板或电脑访问。
项目提供官方 Docker 镜像,支持 x86 和 ARM 架构,数据可保存在 NAS 本地,并支持数据库加密、定时备份和数据导出,适合用来搭建一套由自己管理的家庭数字生活中心。
项目特点
-
功能集中
将家庭日历、任务、购物清单、菜谱、预算、文件、健康记录、生日和提醒等功能整合到一个平台中,不需要在多个 App 之间来回切换。 -
支持多人共同使用
每位家庭成员都可以拥有独立账号、头像和权限,既能共享家庭事务,也能保留个人内容。 -
手机和电脑都能访问
采用响应式界面设计,支持手机、平板和电脑浏览,还可以作为 PWA 添加到手机桌面,使用体验更接近普通 App。 -
数据保存在自己手中
所有数据都运行在自己的 NAS 上,不依赖第三方云平台,也没有订阅费用和广告追踪。 -
支持数据加密与自动备份
可启用数据库加密,并设置定时备份、备份保留数量和 WebDAV 远程备份,降低数据丢失风险。 -
模块可自由启用
Yuvomi 的各项功能相互独立,可以根据家庭实际需求开启或关闭,不需要使用全部模块。 -
扩展能力丰富
支持 Google 日历、CalDAV、CardDAV、WebDAV、Gotify、ntfy、OIDC 单点登录以及 MCP 接口,后续可继续与其他服务联动。 -
官方提供 Docker 镜像
支持 x86 和 ARM 架构,可直接通过 Container Station 部署,适配大多数威联通 NAS。
部署流程
以威联通NAS为例,通过Docker Compose的方式进行部署。
部署代码如下:
services:
yuvomi:
image: ghcr.io/ulsklyc/yuvomi:latest
container_name: yuvomi
restart: unless-stopped
ports:
- "3847:3000"
volumes:
- /share/Container/yuvomi/data:/data # 应用数据及数据库
- /share/Container/yuvomi/backups:/backups # 数据库备份
- /share/Container/yuvomi/modules:/app/modules # 自定义扩展模块
- /share/Container/yuvomi/documents:/documents # 家庭文档存储
environment:
TZ: Asia/Shanghai
NODE_ENV: production
DB_PATH: /data/yuvomi.db # 数据库
SESSION_SECRET: "请替换为至少64位随机字符串"
DB_ENCRYPTION_KEY: "请替换为至少64位随机字符串"
# 直接通过 NAS IP 和端口访问
SESSION_SECURE: "false"
TRUST_PROXY: "loopback"
# 自动备份
BACKUP_DIR: /backups
BACKUP_ENABLED: "true"
BACKUP_SCHEDULE: "0 2 * * *"
BACKUP_KEEP: "7"
# 将上传的文档保存到 NAS 目录
DOCUMENT_STORAGE_LOCAL_ENABLED: "true"
DOCUMENT_STORAGE_LOCAL_PATH: /documents
# 日历和联系人同步间隔,单位为分钟
SYNC_INTERVAL_MINUTES: "15"
# 登录保护
RATE_LIMIT_WINDOW_MS: "60000"
RATE_LIMIT_MAX_ATTEMPTS: "5"
RATE_LIMIT_BLOCK_DURATION_MS: "900000"
打开威联通的Container Station创建新的应用程序。

使用一览
部署完毕后,浏览器输入NAS_IP:3847即可访问服务。首次访问会进入初始化页面,根据提示创建管理员账号即可。

后续还可以继续添加家庭成员,让每个人使用自己的账号登录,并分别设置头像、角色和可访问内容。


登录后首先进入 Yuvomi 的首页仪表盘。近期日程、待办任务、购物事项、用餐计划等信息,都可以集中显示在同一个页面中,不需要分别打开日历、备忘录和记账软件查看。
左侧导航栏则汇集了任务、购物、菜单、菜谱、日历、文件、预算、健康、联系人、生日和提醒等功能。Yuvomi 采用模块化设计,不准备使用的功能可以关闭,避免页面显得过于复杂。项目目前内置了 16 个主要模块。

点击右上角的布局按钮,还可以调整首页卡片的显示位置。比如将日历、任务和购物清单放在前面,把不常用的功能隐藏起来,让首页更符合自己的使用习惯。

Yuvomi 支持多人共同使用,每位家庭成员都可以拥有独立账号、头像和角色。添加完成后,创建日程或任务时可以直接指定参与成员,不必所有内容都混在同一个账号里。
例如,家庭共同出行的安排可以对所有成员可见;个人日程、健康记录或私人预算则可以单独保存。这样既能共同管理家庭事务,也可以保留各自的个人空间。项目支持按内容设置“仅自己、指定成员或所有人可见”。

再看下「联系人」。需要注意,联系人和家庭成员不是同一个概念。联系人更接近家庭通讯录,可以保存姓名、生日、电话和地址;家庭成员则可以登录 Yuvomi,参与任务、日程、预算和其他家庭事务。

「任务」模块可以用来记录需要完成的事情,并通过看板查看进度。创建任务时可以设置截止时间、优先级、子任务、重复周期和负责人。

对于需要长期重复的事务,只需要设置一次重复周期,后续便会自动生成,不必每次重新添加。任务还可以关联文件模块中的合同、票据或说明文档。

任务模块还可以与「奖励」功能配合。完成指定任务后获得积分,再通过家庭成员共同设定的奖励目录兑换奖励。是否使用这一功能,可以根据家庭实际需求决定,并不局限于儿童家务场景~这个还是比较有趣的。

「日历」模块可以记录家庭活动、缴费时间、纪念日、预约和其他重要安排。每个日程都可以指定参与成员和可见范围,避免所有人的日历混在一起。Yuvomi 还支持 Google Calendar、iCloud、CalDAV 和 ICS 日历订阅。如果原本已经在使用手机日历,可以继续同步到 Yuvomi,不需要从头重新录入。项目也支持重复日程、节假日覆盖和只读日历订阅。

「预算」模块可以记录收入、支出、账户余额、贷款、储蓄目标和每月预算,也可以单独管理需要定期续费的订阅服务。例如,家庭宽带、手机套餐、视频会员、云服务和保险,都可以记录金额与续费时间。到了设定日期前,系统会通过提醒中心通知,避免忘记续费或长期支付已经不再使用的服务。预算模块还支持个人预算和家庭预算分开查看,并可以按照类别统计支出、查看趋势和导出 CSV 文件。

「厨房」中的菜谱、菜单和购物清单并不是三个完全独立的功能,而是可以连接使用。可以先在菜谱中保存常做的菜品和所需食材,再将菜谱拖入每周菜单。确定一周的用餐安排后,还可以把所需食材直接加入购物清单,减少重复整理的步骤。

健康模块可以按成员记录体重、血压、用药、检查结果、运动和其他健康数据,并通过趋势图查看变化。由于这类数据比较敏感,Yuvomi 支持使用 SQLCipher 对数据库进行加密。

生日模块可以从联系人中选择成员,并自动在日历中建立生日事件和提醒。联系人还支持 CardDAV 同步以及 vCard 导入、导出,方便与其他通讯录工具交换数据。

Yuvomi 采用手机优先的响应式设计,可以直接通过手机浏览器访问,也可以作为 PWA 添加到手机桌面。添加完成后,可以像普通 App 一样从桌面打开,不需要经过应用商店安装。在网络暂时不可用时,PWA 还能以只读方式查看最近打开过的日历、任务、购物清单、联系人和首页内容。

项目支持站内提醒、Web Push、Gotify 和 ntfy。任务到期、日程开始、订阅续费或用药时间临近时,都可以通过相应渠道发送提醒。Web Push 需要通过 HTTPS 域名访问。

Yuvomi 内置数据库备份功能,可以手动备份,也可以按照设定的时间自动执行。本文的部署配置默认每天凌晨 2 点备份一次,并保留最近 7 份,备份文件保存在/share/Container/yuvomi/backups。备份模块也支持将备份文件上传到 WebDAV,并在恢复数据库之前自动建立回滚备份。

可以看到还有配置SMTP邮件等,都属于老内容,就不额外讲啦。
最后
到这里,Yuvomi 的部署和基本设置就完成了。第一次使用不用急着把所有模块都填满,先把近期日程、固定缴费、待办事项和常用资料放进去即可。使用一段时间后,哪些功能确实用得上、哪些模块可以关闭,自然就清楚了。
感谢观看,本文完。
评论区