前提
本文章默认你已经理解并熟悉 git 和 Docker,并安装好相应的软件。
简介
本文将从 Heimdallr 的部署以及群晖DSM推送的配置两个部分讲解如何使用Heimdallr作为通知网关转发群晖的通知。
Heimdallr 配置部分
Step 1. 配置阿里云镜像仓库
进入阿里云 容器镜像服务,左上角需要选择合适的地域(镜像仓库所在的地域要与函数的地域一致)。
点击新建个人版实例。一路同意、确认即可,然后创建 Registry 密码。再点击创建镜像仓库,点击创建命名空间。
填入仓库名称和摘要,选择私有,点下一步。
然后选择【本地仓库】,点【创建镜像仓库】】。
复制指南中的登录命令,如
docker login --username=是你猫兄啊 registry.cn-shenzhen.aliyuncs.com
输入密码登录。
Step 2. 构建镜像并推送至仓库
先克隆本项目至本地。
git clone https://github.com/LeslieLeung/heimdallr.git
cd heimdallr
记住之前创建的命名空间和仓库的名称,这里给镜像打 tag 需要用到。这里将 YOUR_NAMESPACE
替换成命名空间的名字,YOUR_REPOSITORY
替换成仓库的名字。VERSION
可以随便取,但建议使用递增的数字。
docker build -t ccr.ccs.tencentyun.com/YOUR_NAMESPACE/YOUR_REPO_NAME:VERSION .
docker push ccr.ccs.tencentyun.com/YOUR_NAMESPACE/YOUR_REPO_NAME:VERSION
回到镜像仓库,在镜像版本中应该可以看到里面已经有刚才构建好的镜像。
Step 3. 创建 Serverless 函数
进入 函数计算,注意地域需要选择和前面镜像仓库相同的地域。点击创建服务,名称随意填写,点击确定。
进入服务后,点击【函数管理】,点击【创建函数】。
选择【使用容器镜像创建】,函数名称随意输入,选择镜像,选择刚才构建的镜像。
在 Args
处添加环境变量,如:
["-e", "BARK_URL=https://api.day.app"]
详细的环境变量列表,见 环境变量。
如有多个环境变量请逐一添加。选择程序类型为【处理 HTTP 请求】,内存选择【128 MB】,点击创建即可。
创建完成后,来到【函数管理-函数详情-触发器管理】处,可以看到访问路径。
!重要提示 此访问路径为访问推送服务的唯一鉴权途径,请妥善保存避免泄露。
大功告成!
至此,基于阿里云 Serverless 的部署已经完成。
群晖DSM推送配置
进入【控制面板】-【通知设置】-【短信】,点击【新增短信服务提供商】。
名称随意选择即可,测试网址填入在腾讯云 Serverless中获取的url,【测试网址】按照如下复制即可。如果使用 bark ,第一个地方填bark,若使用其他,填其他方式
https://SERVERLESS_URL/bark?phone=123&title=hi&body=hello+world
点击下一步,在【编辑HTTP请求标题】页面留空,点下一步即可。
在该页按照截图设置即可。最后点击应用。
回到控制面板,选择刚才添加的短信服务提供商,发件人随便填,作为通知title,主要电话号码也是随便填即可。
点击应用,然后点击【寄送测试短信】,若能收到通知,即配置成功。