最近闲逛github时看到一个有趣的项目,running_page,可以自动搭建个人运动记录的网站。大概看了下,过程还是很容易的,就是支持的app不多。自己运动的记录还是很多的,一直也想有记录的想法,正好趁着过年比较空,就搭建一下。
对比了下runing_page支持的几个app,最终选择了keep。昨天逛复兴岛的时候尝试了下keep的行走模式,用起来还是很舒服的,最终生成了一个5公里的行走记录。
搭建的过程主要就是按照README进行的,官方的建议是使用公共的静态站点服务搭建。咱自己有nas也不想让别人保存自己的隐私数据,所有最终目的就是把这个项目部署到自己的nas上。
开始是打算部署在nas上的docker中的,找了一个alpine镜像,启动后按照README开始安装python,以及yarn,但是最终在安装nodejs相关依赖时失败了。没办法,又找了个nodejs的镜像,哪知道又在安装python的依赖时失败了,也是没谁了。
没法子,现在自己的mac上试试了。mac上倒是没啥问题,顺利的yarn带来,访问到了本地页面。但是仔细一看,这还是人家自己的样例页面。又根据教程,清除了本地的运动记录。然后开始下载keep的运动记录。一下载就发现问题了,我明明昨天有5公里的行走记录,怎么显示没有相关记录呢?
后面又看了看项目介绍,人家记录的是跑步记录,咱这是行走记录,当然是下载不下来了。看看了代码中的接口,也是大方的写着runing。去官方翻了翻,发现人家没有公开的api接口,这个接口估计也是抓包弄出来的。
开启proxyman,抓了下keep的包。倒是很容易,行走记录的关键词是hiking。替换了代码中的runing,重新执行,昨天的记录被完美拉拉下来。重新打包编译,终于页面上显示了我自己的运动记录。
个人运动记录网站
本地的运行是解决了,下面要考虑的就是nas上怎么跑了。docker上不能动,就只能考虑虚拟机了。还好咱有现成的。unbuntu上安装python及其以来倒是很容易的。但是nodejs就有点麻烦。running_page这个工程支持的nodejs版本是12-16之间,通过apt安装的node版本要么太新,要么太老。其他方式又太麻烦。
还好有nvm这个利器,ubuntu上安装一个命令行就可以解决。管理各个版本的node也是非常容易。弄完它之后,running_page算是顺利的在虚拟机上跑起来了。
配上nginx,加上cloudflare上dns解析,我的个人运动记录网站算是完美搭建起来了。欢迎大家来参观 Jiang Bo Hiking Page