自托管提醒平台Noted Reminders

什么是 Noted Reminders ?
Noted是一个简单的自托管应用程序,用于创建使用Apprise API推送到设备的提醒。您可以向几乎每个平台发送消息,包括定时电子邮件!
什么是 Apprise API ?
Apprise允许您向我们今天可用的几乎所有最流行的通知服务发送通知,例如:Telegram、Discord、Slack、Amazon SNS、Gotify等。此API提供了一个简单的网关,可以通过HTTP接口直接访问它。
Apprise 是老外开发的,所以支持的都是国外主流的 通信软件 和短信,微信肯定是不支持的
老苏之前写过 Apprise,当时选择的是邮件,但邮件的实时性太差了
文章传送门:几乎每个平台都可以使用的推送通知apprise
不过现在多了一个选择,就是 Gotify
文章传送门:Gotify消息推送系统搭建
安装
在群晖上以 Docker 方式安装。
在注册表中搜索 noted ,选择第二个 mrcas/noted,版本选择 latest。
本文写作时,
latest版本对应为v1.0.0,最新的v1.1.0测试也是OK的;

端口
本地端口不冲突就行,不确定的话可以用命令查一下
# 查看端口占用
netstat -tunlp | grep 端口号
| 本地端口 | 容器端口 |
|---|---|
8388 | 8080 |
默认没有暴露端口

需要点 + 号添加

环境
| 可变 | 值 |
|---|---|
TZ | 设为 Asia/Shanghai |

命令行安装
如果你熟悉命令行,可能用 docker cli 更快捷
# 运行容器
docker run -d \--restart unless-stopped \--name noted \-p 8388:8080 \-e TZ=Asia/Shanghai \mrcas/noted:latest
也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件
version: '3'services:noted:image: mrcas/noted:latestcontainer_name: notedrestart: unless-stoppedports:- 8388:8080environment: - TZ=Asia/Shanghai
然后执行下面的命令
# 新建文件夹 noted
mkdir -p /volume2/docker/noted# 进入 noted 目录
cd /volume2/docker/noted# 将 docker-compose.yml 放入当前目录# 一键启动
docker-compose up -d
从资源库,CPU 占用比较高

运行
在浏览器中输入 http://群晖IP:8388 就能看到登录界面

先要创建一个用户

登录成功之后的主界面\

但是现在还不能直接添加提醒,因为提醒依赖于 Apprise,而 Apprise 又依赖于 Gotify
获取 Gotify 的 token
打开 http://192.168.0.197:8385 ,登录 Gotify进入后台,选择 apps 后,能获取到 Token

设置 Apprise
这一步并不是必须的, 如果需要
Apprise转发才需要安装
在 https://github.com/caronc/apprise#productivity-based-notifications 能查到 Gotify 的消息格式

打开 http://192.168.0.197:8181,在 Configuration Manager --> Configuration 中填入 gotify://192.168.0.197:8385/AdxxxxxxxxxxxPA,然后保存即可

如果需要
Apprise转发,需要将协议改为apprise,即apprise://192.168.0.197:8181/apprise

进入 Notifications,做个简单测试

如果在 Gotify 很快就收到,说明设置是 OK 的

Noted Reminders 设置
现在回到 Noted Reminders,首先要添加 Notification Services

Apprise URL 中填入 gotify://192.168.0.197:8385/AdxxxxxxxxxxxPA

接下来新建提醒

虽然是英文界面,但是一看就懂

跟手机上设置定时提醒是差不多的

保存之后,会出现在主界面

Gotify 在设定的时间收到了消息

最后来张官方的图展示下效果

附录
数据库的备份
默认情况下,Noted.db 在容器的 /app 目录中,所以要备份的话需要执行下面的命令
# 进入 noted 目录
cd /volume2/docker/noted# 将数据库文件拷贝到容器外当前目录
docker cp noted:/app/Noted.db ./

Apprise的安装
之前的文章中 Apprise是图形化安装的,如果你还没安装过,用命令行会更快捷
# 新建文件夹 apprise 和 子目录
mkdir -p /volume2/docker/apprise/config# 进入 apprise 目录
cd /volume2/docker/apprise# 修改目录权限
chmod 777 config# 运行 apprise 容器
docker run -d \--restart unless-stopped \--name apprise \-p 8181:8000 \-v $(pwd)/config:/config \caronc/apprise:latest
参考文档
Casvt/Noted: A simple self hosted reminder platform that uses push to send notifications to your device. Set the reminder and forget about it!
地址:https://github.com/Casvt/Noted
相关文章:
自托管提醒平台Noted Reminders
什么是 Noted Reminders ? Noted 是一个简单的自托管应用程序,用于创建使用 Apprise API 推送到设备的提醒。您可以向几乎每个平台发送消息,包括定时电子邮件! 什么是 Apprise API ? Apprise 允许您向我们今天可用的几乎所有最流…...
LockSupport常用方法源码分析
前言:本文将介绍LockSupport类中的方法和部分源码,以及面试常问到的一个小问题,感兴趣的大佬可以指点下。 希望能够加深自己的印象以及帮助到其他的小伙伴儿们😉😉。 如果文章有什么需要改进的地方还请大佬不吝赐教&am…...
Mybatis Notes
文章目录1 Mybatis 介绍1.1 快速入门2 JDBC2.1 JDBC介绍2.3 JDBC问题分析2.4 Mybatis与JDBC技术对比3 数据库连接池3.1 数据库连接池介绍3.2 数据库连接池产品产品3.3 Druid引入项目4lombok4.1 lombok介绍4.2 lombok使用4.2.1 在pom.xml文件中引入依赖4.2.2 pojo类代码引入1 My…...
MySQL 10:MySQL事务
MySQL 中的事务是由存储引擎实现的。在 MySQL 中,只有 InnoDB 存储引擎支持事务。事务处理可用于维护数据库的完整性,确保批处理的 SQL 语句要么执行要么根本不执行。事务用于管理 DDL、DML 和 DCL 操作,例如插入、更新和删除语句,…...
软件设计(十三)-原码、反码、补码、移码
软件设计(十二)数据结构(下)https://blog.csdn.net/ke1ying/article/details/129035300 下面把一个数转成二进制表达形式 原码: 数值1 : 0000 0001 数值-1 : 1000 0001 1 (- 1) : 1000 0010 这是8个…...
5.4 BGP地址聚合
5.3.1配置BGP地址聚合 1. 实验目的 熟悉BGP地址聚合的应用场景掌握BGP地址聚合的配置方法2. 实验拓扑 实验拓扑如图5-4所示: 图5-4:配置BGP地址聚合 3. 实验步骤 (1)配置IP地址 R1的配置 <Huawe…...
华为OD机试 - 数列还原(Python) | 机试题算法思路 【2023】
最近更新的博客 华为OD机试 - 自动曝光(Python) | 机试题算法思路 【2023】 华为OD机试 - 双十一(Python) | 机试题算法思路 【2023】 华为OD机试 - 删除最少字符(Python) | 机试题算法思路 【2023-02】 华为OD机试 - Excel 单元格数值统计(Python) | 机试题算法思路 …...
华为OD机试题 - 新工号系统(JavaScript)| 代码+思路+重要知识点
最近更新的博客 华为OD机试题 - 字符串加密(JavaScript) 华为OD机试题 - 字母消消乐(JavaScript) 华为OD机试题 - 字母计数(JavaScript) 华为OD机试题 - 整数分解(JavaScript) 华为OD机试题 - 单词反转(JavaScript) 使用说明 参加华为od机试,一定要注意不要完全背…...
Java-算法竞赛中常用的Java API之大数类
Java-算法竞赛中常用的Java API之大数类摘要BigInteger和BigDecimal创建赋值加法减法乘法除法*取余*求最大公因数求最值*(a^b)%mod比较大小*进制转化类型转化BigDecimal精度问题保留n位小数摘要 java中的基础数据类型能存储的最大的二进制数是 2 ^ 63 - 1, 对应的十进制数是92…...
了解Nginx,这一篇就够了
了解Nginx,这一篇就够了1.Nginx应用场景2.Nginx相关概念正向代理和反向代理负载均衡动静分离3.Nginx配置文件解析全局块events块http块1.Nginx应用场景 HTTP服务器:Nginx本身也是一个静态资源的服务器,当只有静态资源的时候,就可…...
k8s删除pod或deployment
查看pod或者deployment信息 deployment: kubectl get deployment -n 命名空间pod: kubectl get pod -n 命名空间删除pod或者deployment 删除pod: kubectl delete pod <pod名> -n <命名空间>可是,此时你会发现刚刚…...
Visual Studio 2022: 增加对虚幻引擎的支持
自 Visual Studio 2022 发布以来,我们一直专注于为游戏和大型项目开发人员提供一系列生产力和性能改进。今天,我们很高兴与大家分享下一组专门用来提高虚幻引擎开发效率的功能。我们听到并看到了来自你(我们的游戏开发人员)的大量…...
【Python】以邮件的方式定时发送一天的股票分析报告
【Python】以邮件的方式定时发送一天的股票分析报告 文章目录【Python】以邮件的方式定时发送一天的股票分析报告1、Python发送邮件1)EmailSender封装2)可能存在的问题2、jinja2动态渲染html页面3、阿里云OSS搭建图床1)Python上传图片到OSS中…...
mybatis条件构造器(二)
mybatis条件构造器(二) 1 准备工作 1.1 建表sql语句(Emp表) SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS 0;-- ---------------------------- -- Table structure for emp -- ---------------------------- DROP TABLE IF EXISTS emp; CREATE TABLE emp (EMPNO int NOT NU…...
C++【类与对象】
文章目录类与对象(1)类与对象一1.0.面向过程和面向对象初步认识1.1.类的引入1.2.类的定义1.3.类的访问限定符及封装1.4.类的作用域1.5.类的实例化1.6.类的对象大小的计算1.8.类成员函数的this指针(2)类与对象二2.0类的6个默认成员…...
假设检验选择统计量重点-----正态总体参数的假设检验
文章目录单个正态总体参数的假设检验单个正态总体N(μ,σ2)N(\mu,\sigma^2)N(μ,σ2)的均值μ\muμ的假设检验1.σ2\sigma^2σ2已知(U检验法)单个正态总体方差的假设检验单边检验简介--计算拒绝域两个正态总体参数的假设检验方差已知的两正态总体均值的假设检验均值未知的两正态…...
华为OD机试 - 通信误码(Python) | 机试题算法思路 【2023】
最近更新的博客 华为OD机试 - 自动曝光(Python) | 机试题算法思路 【2023】 华为OD机试 - 双十一(Python) | 机试题算法思路 【2023】 华为OD机试 - 删除最少字符(Python) | 机试题算法思路 【2023-02】 华为OD机试 - Excel 单元格数值统计(Python) | 机试题算法思路 …...
设计模式之装饰者模式
文章の目录一、什么是装饰者模式二、优势三、缺点四、应用场景五、示例参考写在最后一、什么是装饰者模式 装饰者模式也称为包装器模式,在不改变原有对象的基础上为其动态的添加上新的功能。 装饰者模式有以下特点: 添加功能时不改变原对象结构。装饰…...
【第31天】SQL进阶-写优化- 插入优化(SQL 小虚竹)
回城传送–》《31天SQL筑基》 文章目录零、前言一、练习题目二、SQL思路:SQL进阶-写优化-插入优化解法插入优化禁用索引语法如下适用数据库引擎非空表:禁用索引禁用唯一性检查语法如下适用数据库引擎禁用外键检查语法如下适用数据库引擎批量插入数据语法…...
SpringBoot自动装配的原理
前言 在开发SpringBoot项目时,当我们引入spring-boot-starter-xxx依赖后,想要使用依赖中的bean,直接就用Autowired拿来用了,不需要用xml或者注解的方式把它先注入到Spring容器中。这就是自动装配的特性,本文来讲述Spri…...
R语言AI模型部署方案:精准离线运行详解
R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...
逻辑回归:给不确定性划界的分类大师
想象你是一名医生。面对患者的检查报告(肿瘤大小、血液指标),你需要做出一个**决定性判断**:恶性还是良性?这种“非黑即白”的抉择,正是**逻辑回归(Logistic Regression)** 的战场&a…...
云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地
借阿里云中企出海大会的东风,以**「云启出海,智联未来|打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办,现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...
基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
基于 UniApp + WebSocket实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...
页面渲染流程与性能优化
页面渲染流程与性能优化详解(完整版) 一、现代浏览器渲染流程(详细说明) 1. 构建DOM树 浏览器接收到HTML文档后,会逐步解析并构建DOM(Document Object Model)树。具体过程如下: (…...
高等数学(下)题型笔记(八)空间解析几何与向量代数
目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...
【算法训练营Day07】字符串part1
文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接:344. 反转字符串 双指针法,两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...
基于matlab策略迭代和值迭代法的动态规划
经典的基于策略迭代和值迭代法的动态规划matlab代码,实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...
python报错No module named ‘tensorflow.keras‘
是由于不同版本的tensorflow下的keras所在的路径不同,结合所安装的tensorflow的目录结构修改from语句即可。 原语句: from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后: from tensorflow.python.keras.lay…...
AI病理诊断七剑下天山,医疗未来触手可及
一、病理诊断困局:刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断",医生需通过显微镜观察组织切片,在细胞迷宫中捕捉癌变信号。某省病理质控报告显示,基层医院误诊率达12%-15%,专家会诊…...
