
RunningPage搭建记录
Windows环境
代码下载,我用git拉不下来,直接下载源码之后解压
环境搭建跟着一步步下来,其中&&在wondows中不可用,需要一行一行执行
pip3 install -r requirements.txt
npm install -g corepack && corepack enable && pnpm install
同步数据
我使用的KEEP,需要先在KEEP的个人中心设置手机号和密码,之后通过命令获取数据
python run_page/keep_sync.py 你的手机号 你的密码
之后生成运动轨迹,在powershell上运行原始命令报错,所以根据提示在{}前加了`
python run_page/gen_svg.py --from-db --title "$`{`{ env.TITLE `}`}" --type github --athlete "$`{`{ env.ATHLETE `}`}" --special-distance 10 --special-distance2 20 --special-color yellow --special-color2 red --output assets/github.svg --use-localtime --min-distance 0.5
生成年度轨迹
python run_page/gen_svg.py --from-db --type circular --use-localtime
最后 p npm develop 即可启动项目
CentOS环境
代码部署
首先安装git: sudo yum install -y git
拉取代码 git clone https://github.com/yihong0618/running_page.git
如果拉不下来,取消代理再试一次 git config --global --unset http.proxy , git config --global --unset https.proxy
安装pip3: yum install -y python3-pip
安装需要的包 pip3 install -r requirements.txt (这里遇到个问题,死活安装不上garth嘉明运动,由于只用keep所以在requirements文件里面把他删掉了
安装npm:https://blog.csdn.net/m0_72803988/article/details/136560877,这里安装的是node14但是要求>=16,所以需要升级https://blog.csdn.net/weixin_42871919/article/details/136657205
安装pnpm: npm install -g pnpm ,如果出现No package.json found in /root/glibc-2.28/build 则执行 npm init -f
至此需要的依赖都已装好,可以根据官方文档提示修改隐私或者网站样式之类的
生成轨迹
python3 run_page/gen_svg.py --from-db --title "$TITLE" --type github --athlete "$ATHLETE" --special-distance 10 --special-distance2 20 --special-color yellow --special-color2 red --output assets/github.svg --use-localtime --min-distance 0.5
最后运行 pnpm develop 就可以看到效果了
Docker部署
如果使用docker的话则运行 docker build -t running_page:latest . --build-arg app=Keep --build-arg keep_phone_number="xxx" --build-arg keep_password="xxx" 构建(由于我是centos所以构建可能出现 Err:1 http://deb.debian.org/debian bullseye InRelease 之类的问题,将Dockerfile中8到11行apt相关内容删除即可
此时可能出现语法问题,需要升级python版本或pip版本,或者在build的时候有可能出错提示无法使用yarn,将dockerfile中yarn替换为pnpm即可
最后启动 docker run -itd -p 5173:80 running_page:latest 就完成docker的运行了,在阿里云实例界面安全组放开5173端口,外网就可以通过ip:5173访问页面了,如果需要二级域名访问则在域名控制台新增二级域名,并且在nginxmanager中配置即可