自托管提醒平台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…...
基于算法竞赛的c++编程(28)结构体的进阶应用
结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...
rknn优化教程(二)
文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK,开始写第二篇的内容了。这篇博客主要能写一下: 如何给一些三方库按照xmake方式进行封装,供调用如何按…...
连锁超市冷库节能解决方案:如何实现超市降本增效
在连锁超市冷库运营中,高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术,实现年省电费15%-60%,且不改动原有装备、安装快捷、…...
汽车生产虚拟实训中的技能提升与生产优化
在制造业蓬勃发展的大背景下,虚拟教学实训宛如一颗璀璨的新星,正发挥着不可或缺且日益凸显的关键作用,源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例,汽车生产线上各类…...
智能仓储的未来:自动化、AI与数据分析如何重塑物流中心
当仓库学会“思考”,物流的终极形态正在诞生 想象这样的场景: 凌晨3点,某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径;AI视觉系统在0.1秒内扫描包裹信息;数字孪生平台正模拟次日峰值流量压力…...
论文笔记——相干体技术在裂缝预测中的应用研究
目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术:基于互相关的相干体技术(Correlation)第二代相干体技术:基于相似的相干体技术(Semblance)基于多道相似的相干体…...
面向无人机海岸带生态系统监测的语义分割基准数据集
描述:海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而,目前该领域仍面临一个挑战,即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...
AI+无人机如何守护濒危物种?YOLOv8实现95%精准识别
【导读】 野生动物监测在理解和保护生态系统中发挥着至关重要的作用。然而,传统的野生动物观察方法往往耗时耗力、成本高昂且范围有限。无人机的出现为野生动物监测提供了有前景的替代方案,能够实现大范围覆盖并远程采集数据。尽管具备这些优势…...
Git 3天2K星标:Datawhale 的 Happy-LLM 项目介绍(附教程)
引言 在人工智能飞速发展的今天,大语言模型(Large Language Models, LLMs)已成为技术领域的焦点。从智能写作到代码生成,LLM 的应用场景不断扩展,深刻改变了我们的工作和生活方式。然而,理解这些模型的内部…...
Golang——9、反射和文件操作
反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一:使用Read()读取文件2.3、方式二:bufio读取文件2.4、方式三:os.ReadFile读取2.5、写…...
