开源分享 | Baby Tracker — 新生儿喂养记录与疫苗规划,Docker 一行命令部署
项目地址:https://github.com/XiGeMaX/Baby_tracker
项目简介
Baby Tracker 是一个自部署的新生儿出入量记录系统,帮助新手父母科学记录宝宝的喂养、排泄、体重和疫苗接种情况。
核心功能:
- 仪表盘 — 今日喂养量、排泄次数、体重一览,支持一键快速记录和奶量估算
- 统计趋势 — Chart.js 驱动的体重/喂养/排泄趋势图表,支持 7/14/30 天维度切换
- 疫苗规划 — 基于 2025 版国家免疫规划,自动计算接种排期、互斥疫苗逻辑和逾期提醒
- 历史记录 — 月历视图 + 多色指示点,直观回溯每日喂养与疫苗状态
- Home Assistant 集成 — REST API 同步数据,支持远程快速记录
- 亮色/暗色主题、PWA 支持(可添加到手机桌面)、多用户认证 + 管理员审批
技术栈:Python Flask + SQLite + Vanilla JS + Tailwind CSS + Chart.js,打包为 Docker 镜像,开箱即用。
部署
version: '3.8'
services:
baby-tracker:
container_name: baby_tracker
image: "ghcr.io/xigemax/baby_tracker:latest"
ports:
- "8964:5000"
volumes:
- ./data:/app/data
environment:
- FLASK_ENV=production
- TZ=Asia/Shanghai
restart: unless-stopped
将上述内容保存为 docker-compose.yml,然后执行:
docker compose up -d
浏览器访问 http://localhost:8964 即可使用。数据持久化到 ./data 目录。
首次使用
- 访问
http://localhost:8964
- 默认管理密码:admin/admin123
- 管理面板中设置宝宝信息(出生日期、体重等)
- 后续新用户注册需管理员审批
HA 集成(可选)
在 configuration.yaml 中添加 REST 传感器,即可在 Home Assistant 仪表盘中显示喂养数据:
sensor:
- platform: rest
name: "Baby Feeding Today"
resource: "http://<你的NAS IP>:8964/api/ha/today"
scan_interval: 60
value_template: "{{ value_json.feed_ml }}ml"
json_attributes:
- feed_count
- urine_count
- stool_count
- last_weight
几点说明
- 项目完全本地运行,数据不上传任何云端,适合注重隐私的家庭
- SQLite 单文件数据库,备份和迁移都非常简单
- 项目开源,MIT 协议,欢迎 PR 和 Issue
- 镜像托管在 ghcr.io和dockerhub
如果觉得有用,欢迎 Star 支持。