飞牛OS部署ExerciseDiary:搭建个人运动训练记录服务

前言

开始健身并不难,难的是几周以后还能记得自己上次练了什么、用了多少重量、做了多少次,以及体重到底有没有变化。刚开始这些信息还能靠记忆,训练记录一多,很快就会散落在备忘录、表格或者聊天记录里。

ExerciseDiary提供了一种更集中的记录方式。它可以部署在自己管理的服务器或NAS中,通过Web页面创建训练项目,并持续记录训练参数和身体数据。

本文会在飞牛OS中通过Docker Compose部署ExerciseDiary,从GitHub拉取项目源码并构建容器,再通过8851端口打开Web页面,实际测试训练项目创建、默认重量与次数设置、体重记录和基础信息修改。

这篇文章主要验证的是ExerciseDiary作为运动训练日志的使用方式,并不把它扩展成所有类型的习惯管理工具。至于数据具体采用什么方式保存、是否具备用户认证以及容器重建后的数据持久化情况,还应以当前项目版本和实际配置为准。

最后还会通过cpolar为8851端口创建公网入口,让飞牛NAS和ExerciseDiary保持在线时,也可以从其他网络环境打开自己的训练记录页面。

1.什么是ExerciseDiary?

ExerciseDiary是一个轻量级、开源的个人习惯追踪与每日打卡系统,其核心目标是:用极简的设计 + 可视化的反馈,帮助用户建立并坚持健康的生活习惯(尤其是运动)。

它灵感来源于GitHub的贡献热力图------通过颜色深浅直观展示你每天是否完成了目标(比如"今天是否锻炼"),将抽象的"自律"转化为具体、可回溯的数据图像。久而久之,你会看到属于自己的"成就地图",形成正向激励。

核心特点:

  • 专注运动/习惯打卡:默认以"是否完成当日锻炼"为记录单位,也可轻松扩展至阅读、冥想、编程等任何日常习惯。
  • 本地优先 / 隐私友好:数据可完全存储在本地(如浏览器 localStorage 或本地数据库),无需注册账号,不上传隐私。
  • 可视化日历视图:采用类似 GitHub 的热力图布局,一目了然看到连续打卡天数与长期坚持轨迹。
  • 技术透明、易于部署:通常基于常见 Web 技术栈(如 HTML/CSS/JavaScript + Python/Node.js + SQLite 等),代码简洁,适合开发者自行部署或二次开发。
  • 开源可定制:作为个人项目,鼓励用户根据自身需求修改逻辑、UI 或集成提醒功能。

为什么叫 ExerciseDiary?

  • Exercise:强调身体活动与健康生活,但不仅限于健身;
  • Diary:意为"日记",代表每日记录、持续反思与自我对话。

合起来,ExerciseDiary = 用写日记的方式,记录你每一天为更好自己所付出的行动。

2.安装前提条件

2.1ssh远程连接到飞牛

  • 开启【SSH 服务】
  • 使用终端(Windows PowerShell / Mac Terminal)登录:

在设置--->SSH中开启SSH服务:

2.2验证docker是否开启

使用命令:

shell 复制代码
docker -v 
systemctl status -v

也可以直接在飞牛主页查看(其他机器也是这样的哦~)

3.安装ExerciseDiary

首先创建一下安装的目录并进入到该目录:

shell 复制代码
mkdir -p /docker/exer
cd /docker/exrer

下载源码,克隆官方仓库文件:

shell 复制代码
git clone https://github.com/aceberg/ExerciseDiary.git .

查看文件

shell 复制代码
ls -l Dockerfile docker-compose.yml

启动容器:

shell 复制代码
docker compose up --build -d

部署完成后,在浏览器中输入 http://飞牛IP:8851 就能看到ExerciseDiary的页面啦!

4.使用ExerciseDiary

新建训练模板

点【Add Exercise】创建项目,设置默认重量/次数:

记录体重

修改基本信息

如图所示保存,即可

将 ExerciseDiary 与 cpolar 结合,不仅能轻松部署私有化习惯打卡服务,更能通过 cpolar 强大的内网穿透能力,实现随时随地安全访问------无论你是在公司、出差还是旅行,只需一条 cpolar 隧道,就能从公网无缝连接家中运行的 ExerciseDiary 实例。无需公网 IP、不用复杂配置,cpolar 让你的自律系统真正"随行随用",既保障数据隐私,又突破网络限制,完美诠释了"自由源于掌控"的理念。

5.安装cpolar实现随时随地开发

5.1 什么是cpolar?

cpolar是一款安全高效的内网穿透工具,无需公网IP或复杂配置,只需一条命令,即可将本地服务器、Web服务或任意端口映射到公网,让你随时随地远程访问内网应用,特别适合开发调试、远程运维和应急部署等场景。

5.2 部署cpolar

cpolar 可以将你本地电脑中的服务(如 SSH、Web、数据库)映射到公网。即使你在家里或外出时,也可以通过公网地址连接回本地运行的开发环境。

❤️以下是安装cpolar步骤:

使用一键脚本安装命令:

shell 复制代码
sudo curl https://get.cpolar.sh | sh

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)

shell 复制代码
sudo systemctl status cpolar

Cpolar安装和成功启动服务后,在浏览器上输入虚拟机主机IP加9200端口即:【http://ip:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:

打开浏览器访问本地9200端口,使用cpolar账户密码登录即可,登录后即可对隧道进行管理。

6.配置公网地址

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理------创建隧道:

  • 隧道名称:可自定义,本例使用了:exercise,注意不要与已有的隧道名称重复
  • 协议:http
  • 本地地址:8851
  • 域名类型:随机域名
  • 地区:选择China Top

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了公网地址,接下来就可以在其他电脑或者移动端设备(异地)上,使用地址访问。

访问成功。

7.保留固定公网地址

使用cpolar为其配置二级子域名,该地址为固定地址,不会随机变化。

点击左侧的预留,选择保留二级子域名,地区选择china Top,然后设置一个二级子域名名称,我使用的是exercise,大家可以自定义。填写备注信息,点击保留。

登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理------隧道列表,找到所要配置的隧道,点击右侧的编辑

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名
  • 地区: China Top

点击更新

更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。

最后,我们使用固定的公网地址在任意设备的浏览器中访问,可以看到成功访问的页面,这样一个永久不会变化的二级子域名公网网址即设置好了。

总结

完成以上配置后,ExerciseDiary已经通过Docker Compose运行在飞牛OS中,并可以通过8851端口打开Web页面。

本文实际测试了训练项目创建、默认重量和次数设置、体重记录以及基础信息修改等功能,用来把原本分散的运动数据集中保存到同一个训练日志中。

对于这类需要长期积累的数据,实际使用前还应确认ExerciseDiary当前版本的数据存储目录是否已经正确持久化,并为重要训练记录保留独立备份。容器能够正常运行,并不代表删除和重建容器以后历史数据一定能够自动恢复。

通过cpolar为8851端口创建公网隧道后,还可以从其他网络环境访问ExerciseDiary。由于页面中可能包含体重、训练频率和个人资料等信息,公网使用前应确认应用本身是否具备身份认证,并优先采用HTTPS入口;如果应用没有登录保护,则不建议把页面作为无认证服务长期公开。

如果需要长期使用同一个访问入口,还可以根据实际套餐配置固定二级子域名,在账号和隧道配置保持有效期间使用固定地址。

从Docker部署、训练数据记录,到远程访问,本文完成了一套基于飞牛OS的ExerciseDiary个人运动日志搭建流程。

相关推荐
承渊政道3 天前
飞牛NAS部署Immich:搭建家庭相册并实现远程访问
运维·服务器·docker·内网穿透·cpolar·nas·immich
想你依然心痛18 天前
从监控数据到告警管理:Prometheus与Alertmanager部署实战
ubuntu·prometheus·内网穿透·系统监控·cpolar·告警管理
池央21 天前
NAS里的大文件怎么快速传?用Copyparty搭建轻量文件服务器
运维·服务器·cpolar
A-刘晨阳22 天前
低配N1也能搭家庭录像中心:Go2RTC与EasyNVR双容器实战
运维·云计算·cpolar
承渊政道25 天前
把家里的显卡变成远程AI画室:Stable Diffusion WebUI部署实战
人工智能·stable diffusion·内网穿透·cpolar·web ui·ai画室
禁默1 个月前
没有公网IP也能连数据库:把内网PostgreSQL开放给远程联调
数据库·tcp/ip·postgresql·cpolar
承渊政道1 个月前
OneNav书签导航实操:极空间Docker部署、分类整理与公网访问
运维·docker·内网穿透·cpolar·nas·onenav·轻量级部署
EterNity_TiMe_1 个月前
别让告警变成噪音:用Prometheus和Alertmanager搭一套可远程查看的监控系统
数据库·人工智能·ai·postgresql·prometheus·cpolar
袁煦丞 cpolar内网穿透实验室2 个月前
飞书+龙虾!摄影师局域网外使用龙虾实例!
飞书·远程工作·内网穿透·cpolar·摄影师·openclaw·安全内网链接