总览仪表盘
展示今日奶量、目标奶量、喂养次数和排泄次数,并提供可排序的快捷记录按钮。
Baby Tracker 是一个面向家庭使用的轻量级婴儿记录应用,覆盖日常喂养、排泄、体重、疫苗、健康随访和倒数日等场景。项目默认自托管,数据保存在本机 SQLite 数据库中,支持手机浏览器、PWA 和 Home Assistant。
总览仪表盘
展示今日奶量、目标奶量、喂养次数和排泄次数,并提供可排序的快捷记录按钮。
趋势分析
查看体重、每日喂养量、辅食、排尿和排便趋势,以及单日 24 小时时段分布。
成长与日程
管理疫苗进度、健康随访、自定义项目和倒数日,并通过日历与列表查看状态。
数据管理
支持 CSV 导出、JSON 备份恢复、操作日志和用户权限管理。
FNOSP/Baby_tracker-fnos 是面向飞牛 fnOS 的社区版本,安装方式、版本差异和更新说明以该仓库文档为准。
打开飞牛版仓库
Baby Tracker 采用单体 Flask 应用,重点保持部署简单、数据可控和移动端体验稳定。
| 层级 | 实现 |
|---|---|
| 后端 | Python 3.11、Flask 3.0、Werkzeug |
| 数据存储 | SQLite,启用 WAL 模式和查询索引 |
| 页面渲染 | Jinja2 模板 |
| 前端 | 原生 JavaScript、Tailwind CSS CDN |
| 图表与图标 | Chart.js、Lucide |
| PWA | Web App Manifest、Service Worker |
| 生产服务 | Gunicorn,监听 0.0.0.0:5000 |
| 容器与发布 | Docker、GitHub Actions、GHCR、Docker Hub |
应用、模板和静态资源打包在同一个容器中。运行数据固定写入 data/baby.db,因此部署时只需要挂载一个持久化目录。这样既适合 NAS 和家用服务器,也便于迁移和备份。
baby.db-wal 和 baby.db-shm。SECRET_KEY,并修改默认管理员密码。secrets.yaml,不要写入公开配置。.├── app.py # 应用入口、数据库初始化、页面路由和 REST API├── templates/ # 四个主要功能页面及登录、注册页├── static/ # 样式、页面脚本、PWA 清单和 Service Worker├── docs/ # Home Assistant 与业务计划源数据├── tests/ # API 回归测试├── data/ # 运行时 SQLite 数据,不提交到 Git└── .github/workflows/ # 镜像构建与发布推荐使用 GHCR 镜像,通过 Docker Compose 运行。宿主机 ./data 目录会挂载到容器的 /app/data,数据库和备份都保存在这里。
services: baby-tracker: container_name: baby_tracker image: ghcr.io/xigemax/baby_tracker:latest ports: - "8964:5000" volumes: - ./data:/app/data environment: TZ: Asia/Shanghai SECRET_KEY: "please-change-this-secret-key" restart: unless-stoppeddocker compose up -d启动后访问 http://<服务器地址>:8964。更新镜像时运行:
docker compose pull
docker compose up -d推荐使用 Python 3.11:
python3.11 -m venv .venvsource .venv/bin/activatepip install -r requirements.txt
export SECRET_KEY="local-development-secret"python app.py开发服务器监听 0.0.0.0:5000。app.py 直接运行时启用 Flask 调试模式,不应直接用于生产环境。
| 变量 | 默认值 | 说明 |
|---|---|---|
SECRET_KEY |
示例值 | Flask 会话签名密钥,生产环境必须替换 |
TZ |
Asia/Shanghai |
容器时区,影响记录时间和日期统计 |
FLASK_APP |
app.py |
Flask CLI 使用的应用入口 |
运行数据库固定为 data/baby.db。Docker 部署必须挂载 /app/data,否则重建容器后数据会丢失。
python -m unittest -v测试使用临时数据库,不会修改正常运行时的 data/baby.db。
更多配置、Home Assistant 集成和 API 说明请查看 主仓库。