EinVault开源自托管宠物健康管理平台:本地化部署与群晖Docker安装指南
CodeStacker
4781
积分0
好友655
主题 发消息 什么是EinVault?安装部署运行与配置注意事项与最佳实践参考文档楼主
发表于 19 小时前 | 查看: 11| 回复: 0
什么是EinVault?
EinVault 是一个专为 homelabs 设计的开源宠物健康和护理追踪器。它可以帮助用户记录宠物的健康档案、每日活动、护理日程,所有数据都保存在本地硬件上,不依赖云服务,无需注册外部账号。
主要特点 宠物档案:支持记录品种、简介、兽医信息、紧急联系人和头像照片。 每日日记:为每只宠物创建日记条目,支持心情追踪和每日最多 5 张照片。 健康追踪:记录就诊、疫苗接种、药物、程序和体重历史。 活动日志:追踪散步、餐食、排泄、零食、玩耍和美容记录。 提醒功能:支持 recurring 和一次性提醒,覆盖药物、疫苗、美容等场景。 护理轮班:安排工作轮班并导出为 iCalendar(.ics)格式。 角色权限:管理员管理应用,成员跟踪健康,护理人员记录活动。 自包含部署:单 Docker 容器 + SQLite 数据库,无外部依赖。 多语言支持:英语、德语、西班牙语、法语、意大利语和葡萄牙语。 响应式 UI:支持桌面和移动端,暗色和亮色主题。 应用场景 家庭宠物管理:为家中宠物建立完整的健康档案和日常记录。 多宠物家庭:同时管理多只宠物的健康和活动。 宠物寄养:护理人员可以记录宠物日常情况。 兽医记录:保存就诊历史和疫苗接种记录。 轮班看护:家庭成员轮流照顾宠物时共享信息。EinVault 是一个功能全面的宠物健康和护理管理工具,适合有宠物且希望本地管理宠物数据的用户。
安装部署
在群晖上以 Docker 方式安装。该镜像托管在 ghcr.io,如果使用群晖的 Docker 图形界面可能无法直接搜索到,需要通过命令行来部署。
Docker CLI 安装如果你熟悉命令行,使用 docker cli 可能会更快捷。
# 新建文件夹 einvault 和 子目录 mkdir -p /volume1/docker/einvault/data # 进入 einvault 目录 cd /volume1/docker/einvault # 修改目录权限 chmod a+rw data # 运行容器 docker run -d --name=EinVault --restart=unless-stopped -p 3608:3000 -v $(pwd)/data:/data -e ORIGIN=http://192.168.0.197:3608 -e TZ=Asia/Shanghai -e NODE_ENV=production -e DATABASE_URL=/data/einvault.db -e BODY_SIZE_LIMIT=10M -e UPLOAD_MAX_MB=10 -e user=1000:1000 ghcr.io/davefatkin/einvault:latest
关于环境变量的说明:
可变 值 说明 ORIGIN http://群晖IP:端口 必填,公共访问地址,用于 CSRF 保护 TZ Asia/Shanghai 时区设置,确保日期和时间正确显示 NODE_ENV production 生产环境模式 DATABASE_URL /data/einvault.db 数据库路径 BODY_SIZE_LIMIT 10M 请求体大小限制 UPLOAD_MAX_MB 10 上传文件大小限制(MB) user 1000:1000 容器运行的用户 UID:GID Docker Compose 安装使用 docker-compose 进行管理也是不错的选择,尤其方便后续的维护和配置变更。将下面的内容保存为 docker-compose.yml 文件。
services: einvault: image: ghcr.io/davefatkin/einvault:latest container_name: einvault restart: unless-stopped # Option A (default): host-level proxy (Nginx, Caddy, Traefik on the host) ports: - '3608:3000' # Option B: Docker-network proxy (Traefik, Caddy running in Docker) # Comment out ports above and uncomment below, then add your proxy labels/config. # expose: # - "3000" # networks: # - proxy volumes: - ./data:/data user: '1000:1000' environment: # Your public URL — must match the address you access EinVault from. # Used for CSRF protection; the app will reject form submissions without it. ORIGIN: http://192.168.0.197:3608 NODE_ENV: production DATABASE_URL: /data/einvault.db BODY_SIZE_LIMIT: 10M UPLOAD_MAX_MB: 10 # Set to your local timezone so dates and times display correctly. # Defaults to UTC if omitted. Example: America/New_York, Europe/London # TZ: America/New_York security_opt: - no-new-privileges:true cap_drop: - ALL read_only: true tmpfs: - /tmp:mode=1777,size=64m deploy: resources: limits: # cpus: '0.5' memory: 256M reservations: memory: 64M healthcheck: test: ['CMD', 'wget', '-qO-', 'http://127.0.0.1:3000/api/health'] interval: 30s timeout: 5s retries: 3 start_period: 15s # Uncomment if using Option B # networks: # proxy: # external: true
然后通过 SSH 登录到您的群晖,执行下面的命令:
# 新建文件夹 einvault 和 子目录 mkdir -p /volume1/docker/einvault/data # 进入 einvault 目录 cd /volume1/docker/einvault # 修改目录权限 chmod a+rw data # 将 docker-compose.yml 放入当前目录 # 一键启动 docker-compose up -d
运行与配置
在浏览器中访问 http://<群晖IP>:3608 ,首次运行需要创建管理员账户。页面底部支持多语言切换,但目前暂无中文选项。
接着就可以开始添加你的宠物伙伴了。你需要填写的信息包括:
Name:名字 Breed:品种 Sex:性别 Date of birth:出生日期 Weight unit:重量单位 Microchip number:芯片编号 Bio / notes:简介 / 注释添加完成后,你会进入主界面。左侧的导航菜单是核心功能入口:
Dashboard:仪表板,概览所有信息。 Journal:每日日记,为每个宠物记录日常点滴,支持情绪追踪,每天最多可上传 5 张照片。 Health:健康追踪,管理兽医就诊、疫苗接种、用药、手术及体重历史记录。 Reminders:提醒事项,设置药物、疫苗接种、美容等周期性或一次性提醒。如果你有多只宠物,可以在 Settings 设置页面中点击 Add Companion 按钮继续添加。
注意事项与最佳实践
数据备份:所有数据都保存在你挂载的 ./data 目录(即容器内的 /data 路径)。定期备份这个目录即可完整备份你的 EinVault 数据。结合 Docker 的部署方式,迁移和恢复也会非常方便。 ORIGIN 设置:这是最重要的环境变量之一,必须与你从外部浏览器访问 EinVault 的地址(包括协议、域名/IP、端口)完全一致,否则会导致 CSRF 验证失败,无法提交表单。 端口占用:确保你指定的本地端口(示例中是 3608)没有被其他服务占用。 HTTPS 访问:如果你希望通过 HTTPS 安全访问,需要在 EinVault 容器前配置反向代理,例如使用 Caddy、Nginx 或 Traefik。此时,ORIGIN 环境变量也应设置为你的 HTTPS 地址。示例中的 docker-compose.yml 已预留了相关配置注释(Option B),可供参考。参考文档
EinVault: A private, self-hosted companion health and care tracker
项目地址:https://github.com/davefatkin/EinVault
这是一个典型的 “自托管” 解决方案,将数据控制权完全交还给用户。如果你对类似的本地化部署和 开源实战 项目感兴趣,可以访问 云栈社区 获取更多部署经验和技术讨论。
上一篇:兴业证券成交量分桶熵因子详解:算法原理、Python实现与回测验证
下一篇:Cursor 3发布,智能体编程时代开启:IDE的角色正被重新定义
Docker, Node.js, SQLite, 宠物管理, 健康追踪
0
0
0
长按一键三连
给UP主投 10枚算力
添加到我的收藏
相关帖子
• 如何在浏览器中直接运行Python?Pyodide技术详解与上手指南 • Kubernetes 镜像管理避坑指南:从拉取策略到私有仓库认证 • Docker 一键部署 HolyClaude:集成了 Claude Code 等 7 大 AI 的编程工作站 • Tentix开源AI客服系统评测:不只是工单,历史知识库沉淀是关键 • EMQX插件漏洞复现与利用分析:5.5.1版本后台命令执行 • Claude Code TUI 高性能渲染引擎:五层架构与零GC优化深度解析 • 朝鲜黑客UNC1069供应链攻击分析:通过Axios投毒渗透AI智能体OpenClaw • GPT Code Interpreter技术解析:Python代码执行的三种实现方案与安全考量 • Screego:基于WebRTC的浏览器屏幕共享工具,免安装即用 • 深入剖析Docker容器网络原理:从veth pair、bridge到四种网络模式实战收藏回复 只看该作者 举报
相关知识
EinVault开源自托管宠物健康管理平台:本地化部署与群晖Docker安装指南
开源智能家居管理平台(Home Assistant)
宠物营养与健康管理智能平台构建
Docker安全性:最佳实践和常见安全考虑
使用 docker 部署 AspNetCore 应用:使用alpine镜像并加入健康检查和瘦身
咖啡壶(chemex)安装
宠物AI能力开放平台的最佳实践:宠智灵如何驱动行业智能化变革
8 个最佳的开源任务管理系统(附打分)
开源智能家居自动化平台(HomeGenie)
大健康产业远程健康管理与服务平台开发案.doc
网址: EinVault开源自托管宠物健康管理平台:本地化部署与群晖Docker安装指南 https://www.trfsz.com/newsview1929620.html
推荐资讯
- 1发朋友圈对老公彻底失望的心情 12775
- 2BMI体重指数计算公式是什么 11235
- 3补肾吃什么 补肾最佳食物推荐 11199
- 4性生活姿势有哪些 盘点夫妻性 10428
- 5BMI正常值范围一般是多少? 10137
- 6在线基础代谢率(BMR)计算 9652
- 7一边做饭一边躁狂怎么办 9138
- 8从出汗看健康 出汗透露你的健 9063
- 9早上怎么喝水最健康? 8613
- 10五大原因危害女性健康 如何保 7828
