当前位置: 首页 > news >正文

自托管提醒平台Noted Reminders

在这里插入图片描述

什么是 Noted Reminders ?

Noted 是一个简单的自托管应用程序,用于创建使用 Apprise API 推送到设备的提醒。您可以向几乎每个平台发送消息,包括定时电子邮件!

什么是 Apprise API ?

Apprise 允许您向我们今天可用的几乎所有最流行的通知服务发送通知,例如:TelegramDiscordSlackAmazon SNSGotify 等。此 API 提供了一个简单的网关,可以通过 HTTP 接口直接访问它。

Apprise 是老外开发的,所以支持的都是国外主流的 通信软件 和短信,微信肯定是不支持的

老苏之前写过 Apprise,当时选择的是邮件,但邮件的实时性太差了

文章传送门:几乎每个平台都可以使用的推送通知apprise

不过现在多了一个选择,就是 Gotify

文章传送门:Gotify消息推送系统搭建

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 noted ,选择第二个 mrcas/noted,版本选择 latest

本文写作时, latest 版本对应为 v1.0.0,最新的 v1.1.0 测试也是 OK 的;

在这里插入图片描述

端口

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

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

默认没有暴露端口

在这里插入图片描述

需要点 + 号添加

在这里插入图片描述

环境

可变
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 操作,例如插入、更新和删除语句&#xff0c…...

软件设计(十三)-原码、反码、补码、移码

软件设计(十二)数据结构(下)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&#xff0c;这一篇就够了1.Nginx应用场景2.Nginx相关概念正向代理和反向代理负载均衡动静分离3.Nginx配置文件解析全局块events块http块1.Nginx应用场景 HTTP服务器&#xff1a;Nginx本身也是一个静态资源的服务器&#xff0c;当只有静态资源的时候&#xff0c;就可…...

k8s删除pod或deployment

查看pod或者deployment信息 deployment&#xff1a; kubectl get deployment -n 命名空间pod&#xff1a; kubectl get pod -n 命名空间删除pod或者deployment 删除pod&#xff1a; kubectl delete pod <pod名> -n <命名空间>可是&#xff0c;此时你会发现刚刚…...

Visual Studio 2022: 增加对虚幻引擎的支持

自 Visual Studio 2022 发布以来&#xff0c;我们一直专注于为游戏和大型项目开发人员提供一系列生产力和性能改进。今天&#xff0c;我们很高兴与大家分享下一组专门用来提高虚幻引擎开发效率的功能。我们听到并看到了来自你&#xff08;我们的游戏开发人员&#xff09;的大量…...

【Python】以邮件的方式定时发送一天的股票分析报告

【Python】以邮件的方式定时发送一天的股票分析报告 文章目录【Python】以邮件的方式定时发送一天的股票分析报告1、Python发送邮件1&#xff09;EmailSender封装2&#xff09;可能存在的问题2、jinja2动态渲染html页面3、阿里云OSS搭建图床1&#xff09;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++【类与对象】

文章目录类与对象&#xff08;1&#xff09;类与对象一1.0.面向过程和面向对象初步认识1.1.类的引入1.2.类的定义1.3.类的访问限定符及封装1.4.类的作用域1.5.类的实例化1.6.类的对象大小的计算1.8.类成员函数的this指针&#xff08;2&#xff09;类与对象二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) | 机试题算法思路 …...

设计模式之装饰者模式

文章の目录一、什么是装饰者模式二、优势三、缺点四、应用场景五、示例参考写在最后一、什么是装饰者模式 装饰者模式也称为包装器模式&#xff0c;在不改变原有对象的基础上为其动态的添加上新的功能。 装饰者模式有以下特点&#xff1a; 添加功能时不改变原对象结构。装饰…...

【第31天】SQL进阶-写优化- 插入优化(SQL 小虚竹)

回城传送–》《31天SQL筑基》 文章目录零、前言一、练习题目二、SQL思路&#xff1a;SQL进阶-写优化-插入优化解法插入优化禁用索引语法如下适用数据库引擎非空表&#xff1a;禁用索引禁用唯一性检查语法如下适用数据库引擎禁用外键检查语法如下适用数据库引擎批量插入数据语法…...

SpringBoot自动装配的原理

前言 在开发SpringBoot项目时&#xff0c;当我们引入spring-boot-starter-xxx依赖后&#xff0c;想要使用依赖中的bean&#xff0c;直接就用Autowired拿来用了&#xff0c;不需要用xml或者注解的方式把它先注入到Spring容器中。这就是自动装配的特性&#xff0c;本文来讲述Spri…...

网络编程(Modbus进阶)

思维导图 Modbus RTU&#xff08;先学一点理论&#xff09; 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议&#xff0c;由 Modicon 公司&#xff08;现施耐德电气&#xff09;于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...

Linux 文件类型,目录与路径,文件与目录管理

文件类型 后面的字符表示文件类型标志 普通文件&#xff1a;-&#xff08;纯文本文件&#xff0c;二进制文件&#xff0c;数据格式文件&#xff09; 如文本文件、图片、程序文件等。 目录文件&#xff1a;d&#xff08;directory&#xff09; 用来存放其他文件或子目录。 设备…...

C++初阶-list的底层

目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...

三维GIS开发cesium智慧地铁教程(5)Cesium相机控制

一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点&#xff1a; 路径验证&#xff1a;确保相对路径.…...

Cesium1.95中高性能加载1500个点

一、基本方式&#xff1a; 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

【位运算】消失的两个数字(hard)

消失的两个数字&#xff08;hard&#xff09; 题⽬描述&#xff1a;解法&#xff08;位运算&#xff09;&#xff1a;Java 算法代码&#xff1a;更简便代码 题⽬链接&#xff1a;⾯试题 17.19. 消失的两个数字 题⽬描述&#xff1a; 给定⼀个数组&#xff0c;包含从 1 到 N 所有…...

剑指offer20_链表中环的入口节点

链表中环的入口节点 给定一个链表&#xff0c;若其中包含环&#xff0c;则输出环的入口节点。 若其中不包含环&#xff0c;则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...

cf2117E

原题链接&#xff1a;https://codeforces.com/contest/2117/problem/E 题目背景&#xff1a; 给定两个数组a,b&#xff0c;可以执行多次以下操作&#xff1a;选择 i (1 < i < n - 1)&#xff0c;并设置 或&#xff0c;也可以在执行上述操作前执行一次删除任意 和 。求…...

使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装

以下是基于 vant-ui&#xff08;适配 Vue2 版本 &#xff09;实现截图中照片上传预览、删除功能&#xff0c;并封装成可复用组件的完整代码&#xff0c;包含样式和逻辑实现&#xff0c;可直接在 Vue2 项目中使用&#xff1a; 1. 封装的图片上传组件 ImageUploader.vue <te…...

C++中string流知识详解和示例

一、概览与类体系 C 提供三种基于内存字符串的流&#xff0c;定义在 <sstream> 中&#xff1a; std::istringstream&#xff1a;输入流&#xff0c;从已有字符串中读取并解析。std::ostringstream&#xff1a;输出流&#xff0c;向内部缓冲区写入内容&#xff0c;最终取…...