你是否厌倦了在手机备忘录里零散记录健身数据?想拥有一个像GitHub贡献热力图那样直观的运动记录看板?今天,我们就来介绍一款轻量级的开源应用——Exercise Diary。它仿照GitHub年度热力图风格,能清晰记录和展示你的每一次运动打卡,让你对自己的健身历程一目了然。
Exercise Diary 简介
Exercise Diary 是一款仿 GitHub 风格的年度热力图健身记录工具,专为记录和可视化运动情况而设计。其界面简洁,支持按日记录运动项目、负重和次数,并通过图表直观展示运动趋势和体重变化。

安装部署
部署 Exercise Diary 非常简单,推荐使用 Docker Compose 一键启动,这对于拥有 NAS 设备的用户来说尤其方便。
Docker Compose 配置文件
创建一个 docker-compose.yml 文件,内容如下:
services:
exdiary:
image: aceberg/exercisediary:latest
container_name: exdiary
ports:
- 8851:8851
environment:
- TZ=Asia/Shanghai
volumes:
- ./data:/data/ExerciseDiary
restart: unless-stopped
参数说明(更多参数建议查阅官方文档):
- TZ (环境变量,可选):时区设置。
- HOST (环境变量,可选):应用监听地址。
- PORT (环境变量,可选):应用监听端口。
- THEME (环境变量,可选):界面主题,可选
emerald、grass、grayscale、ocean、sand、wood。
- COLOR (环境变量,可选):背景色模式,可选
light(亮色)或 dark(暗色)。
配置完成后,在终端进入该文件所在目录,执行 docker-compose up -d 命令即可启动服务。
使用指南
服务启动后,在浏览器中输入 http://你的NAS_IP:8851 即可访问 Exercise Diary 的主界面。

界面默认是英文,如果你需要,可以使用浏览器的翻译功能将其汉化。

1. 基础配置
首先进入 Config 页面进行基础设置。你可以修改访问地址、端口、主题颜色等。如果担心隐私泄露,可以开启 Auth(认证)功能,设置用户名和密码,这样只有通过验证的用户才能访问你的运动记录。

2. 添加运动项目
切换到 Add 页面,在这里添加你想要记录的运动项目。

主要填写 Group(组别,如“力量训练”)、Place in group(组内排序)、Name(运动名称)这三项即可。下方的描述、图片链接、默认负重和次数可以根据需要选填。

创建完成后,在主面板左侧就会显示你添加好的运动项目。

你可以根据需要添加多个运动项目,例如区分“力量训练”和“有氧运动”。

3. 记录每日运动
记录运动非常便捷:点击运动项目旁边的箭头,即可将该项目快速添加到当天的记录列表中。

在右侧的表格中,可以为每个项目填写具体的 Weight(负重)和 Reps(次数),然后点击 Save 保存。这样,当天的运动记录就完成了。

4. 查看统计与趋势
Stats 页面提供了详细的数据统计。左侧以列表形式展示选定运动的历史记录,右侧则用折线图清晰地展示 Reps(次数)和 Weight(负重)随时间的变化趋势,帮助你直观了解自己的进步情况。

Weight 页面则专门用于记录和追踪体重变化。你可以手动添加体重数据,应用会自动生成体重变化曲线图。

5. 移动端适配
Exercise Diary 同样对手机网页端进行了良好的适配,方便你随时随地查看和记录。

总结
虽然 Exercise Diary 的功能并不复杂,但它精准地满足了用户对运动数据进行结构化记录和可视化展示的核心需求。相比于手机备忘录,它提供了热力图和趋势图表,能更有效地激励用户坚持锻炼。通过 Docker 进行容器化部署,整个过程简单快捷,非常适合希望拥有私密、专属健身数据看板的用户。
对于这类轻量级、功能聚焦的开源实战项目,你有什么想分享或推荐的吗?欢迎在云栈社区与其他开发者交流你的使用心得或发现更多有趣的自托管工具。
综合推荐:⭐⭐⭐(轻量化,满足简单记录需求)
使用体验:⭐⭐⭐(功能简单,曲线直观展示)
部署难易:⭐⭐(简单)