可视化锻炼日记ExerciseDiary

在这里插入图片描述

什么是 ExerciseDiary ?

ExerciseDiary 是带有 GitHub 风格的年度可视化的锻炼日记。

在这里插入图片描述

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 exercisediary ,选择第一个 aceberg/exercisediary,版本选择 latest

本文写作时, latest 版本对应为 0.1.3

在这里插入图片描述

docker 文件夹中,创建一个新文件夹 exdiary,并在其中建一个子文件夹 data

文件夹装载路径说明
docker/exdiary/data/data/ExerciseDiary存放数据库等

在这里插入图片描述

端口

本地端口不冲突就行,不确定的话可以用命令查一下

# 查看端口占用
netstat -tunlp | grep 端口号
本地端口容器端口
88518851

默认没有暴露容器端口,因为可以通过环境变量 PORT 修改

在这里插入图片描述

需要点 + 号自己添加

在这里插入图片描述

环境

可变
TZ时区设为 Asia/Shanghai

在这里插入图片描述

更多的环境变量请参考官方文档:https://github.com/aceberg/exercisediary#config

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

# 新建文件夹 exercisediary 和 子目录
mkdir -p /volume1/docker/exdiary/data# 进入 exercisediary 目录
cd /volume1/docker/exdiary# 运行容器
docker run -d \--restart unless-stopped \--name exdiary \-p 8851:8851 \-v $(pwd)/data:/data/ExerciseDiary \-e TZ=Asia/Shanghai \aceberg/exercisediary

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

version: '3'services:exdiary:image: aceberg/exercisediarycontainer_name: exdiaryrestart: unless-stoppedports:- 8851:8851volumes:- ./data:/data/ExerciseDiaryenvironment:- TZ=Asia/Shanghai

然后执行下面的命令

# 新建文件夹 exercisediary 和 子目录
mkdir -p /volume1/docker/exdiary/data# 进入 exercisediary 目录
cd /volume1/docker/exdiary# 将 docker-compose.yml 放入当前目录# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:8851 就能看到主界面

在这里插入图片描述

Add Exercise 新增锻炼项目

在这里插入图片描述

老苏基本上不锻炼,只能瞎编了

在这里插入图片描述

哑铃这种可以设置默认重量( Weight

在这里插入图片描述

跳绳可以设置默认的次数(Reps

在这里插入图片描述

现在有了几种运动模式了

在这里插入图片描述

点右侧箭头添加到选定的日期

在这里插入图片描述

Save 保存

在这里插入图片描述

继续编造了一些数据后

在这里插入图片描述

参考文档

aceberg/ExerciseDiary: Workout diary with GitHub-style year visualization
地址:https://github.com/aceberg/ExerciseDiary

aceberg/exercisediary - Docker Image | Docker Hub
地址:https://hub.docker.com/r/aceberg/exercisediary

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/685715.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

云计算基础-大页内存

大页内存功能概述 什么是大页内存 简单来说,就是通过增大操作系统页的大小来减小页表,从而避免快表缺失 主要应用场景 主要运用于内存密集型业务的虚拟机,比如对于运行数据库系统的虚拟机,采用HugePages(大页)后,可…

SAP MM学习笔记- 豆知识 - SAP中的英文 - MM中英文,日语,中文

MM模块中的英文,日语,中文 对照。 購買管理 日本語英語中国語購買依頼purchase requisition请购单購買発注purchase order购货单購買承認purchase order release采购订单下达一括承認collective release集体释放納期日request date请求日期無償支給free…

ubuntu22.04@laptop OpenCV Get Started: 011_edge_detection

ubuntu22.04laptop OpenCV Get Started: 011_edge_detection 1. 源由2. edge_detection应用Demo2.1 C应用Demo2.2 Python应用Demo 3. 重点逐步分析3.1 GaussianBlur去噪3.2 Sobel边缘检测3.2.1 SobelX方向边缘检测3.2.2 SobelY方向边缘检测3.2.3 SobelXY方向边缘检测 3.3 Canny…

PyTorch 快速安装 - 基于 JupyterHub 并运行 K8s

PyTorch 快速安装 - 基于 JupyterHub 并运行 K8s 运行 PyTorch 可以直接逻辑运行、容器中运行、KubeFlow 中运行以及基于 JupyterHub(独立运行或运行在 K8s 之上)等多种模式。这里介绍运行在 K8s 上基于 JupyterHub 的 PyTorch 方法,这也是运…

基于边缘计算的智能家居能源管理系统

一、项目背景 随着智能家居设备的普及,能源消耗问题日益凸显。为了更有效地管理家庭能源使用,减少浪费,并可能实现能源自给自足,我们提出了基于边缘计算的智能家居能源管理系统 该系统能够实时监控和分析家庭能源消耗数据&#xf…

MySQL的日志

一:概述 (1)介绍 在任何一种数据库中,都会有各种各样的日志,记录着数据库工作的方方面面,以帮助数据库管理员追踪数据库曾经发生过的各种事件,MySQL也不例外。 (2)分类…

中断系统(单片机)

中断概念: 中断系统是为使CPU具有对外界紧急事件的实时处理能力而设置的。当中央处理机CPU正在处理某件事的时候外界发生了紧急事件请求,要求CPU暂停当前的工作,转而去处理这个紧急事件,处理完以后,再回到原来被中断的地方&#…

课时33:脚本交互_基础知识_shell登录解读

2.1.1 shell登录解读 学习目标 这一节,我们从 基础知识、简单实践、小结 三个方面来学习。 基础知识 shell配置文件 系统级别生效配置文件/etc/profile系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行/etc/profile.d/*.sh被/etc/profile文件调用&…

WordPress绑定,实现任意域名访问

编辑wp-config.php将以下代码插入define( WP_DEBUG 下一行: /* 自适应任意访问域名. */ define(WP_SITEURL, http:// . $_SERVER[HTTP_HOST]); define(WP_HOME, http:// . $_SERVER[HTTP_HOST]); 效果:wordpress会自适应任意解析到这个站点的域名&#x…

【精品】关于枚举的高级用法

枚举父接口 public interface BaseEnum {Integer getCode();String getLabel();/*** 根据值获取枚举** param code* param clazz* return*/static <E extends Enum<E> & BaseEnum> E getEnumByCode(Integer code, Class<E> clazz) {Objects.requireNonN…

【JavaScript】localStorage 和 sessionStorage

文章目录 1. localStorage和sessionStorage的概念localStoragesessionStorage 2. localStorage和sessionStorage的使用设置数据读取数据删除数据清空所有数据 3. localStorage和sessionStorage的应用场景localStoragesessionStorage 4. 安全性注意事项5. 总结 在前端开发中&…

CSS篇--transform

CSS篇–transform 使用transform属性实现元素的位移、旋转、缩放等效果 位移 // 语法 transform:translate(水平移动距离&#xff0c;垂直移动距离) translate() 如果只给一个值&#xff0c;表示x轴方法移动距离 单独设置某个方向的移动距离&#xff1a;translateX() transla…

Debezium发布历史133

原文地址&#xff1a; https://debezium.io/blog/2022/10/26/debezium-1-9-7-final-released/ 欢迎关注留言&#xff0c;我是收集整理小能手&#xff0c;工具翻译&#xff0c;仅供参考&#xff0c;笔芯笔芯. Debezium 1.9.7.Final Released October 26, 2022 by Chris Cranfo…

林浩然与杨凌芸的Java时光魔法:格式化历险记

林浩然与杨凌芸的Java时光魔法&#xff1a;格式化历险记 The Java Time Odyssey of Lin Haoran and Yang Lingyun: A Formatting Adventure 在编程世界的一隅&#xff0c;有一个名叫林浩然的程序员。他是个Java大侠&#xff0c;对代码世界的法则了如指掌&#xff0c;尤其擅长驾…

用HTML和CSS打造跨年烟花秀视觉盛宴

目录 一、程序代码 二、代码原理 三、运行效果 一、程序代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><title>跨年烟花秀</title><meta name"viewport" content"widthdevi…

HCIA-HarmonyOS设备开发认证V2.0-轻量系统内核基础-信号量semaphore

目录 一、信号量基本概念二、信号量运行机制三、信号量开发流程四、信号量接口五、代码分析&#xff08;待续...&#xff09;坚持就有收获 一、信号量基本概念 信号量&#xff08;Semaphore&#xff09;是一种实现任务间通信的机制&#xff0c;可以实现任务间同步或共享资源的…

[02] Vue指令(1)

目录 Vue中的常用指令内容渲染指令条件渲染指令事件绑定指令内联语句事件处理函数调用传参 Vue中的常用指令 概念&#xff1a;指令&#xff08;Directives&#xff09;是Vue提供的带有v- 前缀的特殊标签属性。 vue 中的指令按照不同的用途可以分为如下 6 大类&#xff1a; 内容…

Ubuntu学习笔记-Ubuntu搭建禅道开源版及基本使用

文章目录 概述一、Ubuntu中安装1.1 复制下载安装包路径1.2 将安装包解压到ubuntu中1.3 启动服务1.4 设置开机自启动 二、禅道服务基本操作2.1 启动&#xff0c;停止&#xff0c;重启&#xff0c;查看服务状态2.2 开放端口2.3 访问和登录禅道 卜相机关 卜三命、相万生&#xff0…

算法学习——LeetCode力扣二叉树篇7

算法学习——LeetCode力扣二叉树篇7 236. 二叉树的最近公共祖先 236. 二叉树的最近公共祖先 - 力扣&#xff08;LeetCode&#xff09; 描述 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为&#xff1a;“对于有根树 T 的两个节点…

正则表达式预查寻也称断言,限定左右相邻内容

正则表达式预查寻也称断言,限定左右相邻内容 正则表达式预查寻分为 4 种: 正向肯定预查: (?pattern) (?pattern)正向否定预查: (?!pattern) (?!pattern)反向肯定预查: (?<pattern) (?<pattern)反向否定预查: (?<!pattern) (?<!pattern) 比如: 匹配 babc…