本项目使用环境变量传入配置,防止重要信息泄露。
完整示例可参见 示例。
Warning
重要安全建议 :debug 模式打开时,会在控制台输出系统实际的请求和返回信息,可能会包含你的token等隐私信息,请注意仅在调试时启用该功能。
变量名 | 默认值 | 可选值 | 变量说明 |
---|---|---|---|
DEBUG |
False |
True , False |
用于表示是否进入 debug 模式,会在日志中打印出请求和返回参数,方便调试。 |
PORT |
9000 |
监听的端口号 | |
WORKERS |
1 |
服务线程数(增加服务线程可能会增加内存消耗,在 Serverless 部署时建议保持默认1个线程即可。) |
本服务有分组和通知渠道的概念。通知渠道是最小的通知单位,可以通过某一个应用及其凭据发送通知;分组为多个通知渠道的组合,可以通过一个 token
唯一确定一个通知分组,同时向分组内的多个通知渠道发送通知。
见以下最小例子,其定义了一个名为 group_1
的分组,并具有一个对应的 token
,启用了 channel_1
, channel_2
, channel_3
三个通知渠道。其中 channel_1
为 bark
类型,有 BARK_URL
和 BARK_KEY
两项配置;channel_2
, channel_3
均为企业微信 Webhook。
Tip
自 2.0.12
版本起,组中可以嵌套组。在 ENABLED_CHANNELS
中填入组名即可。
ENABLED_GROUPS=group_1
# Define groups
# group_1
group_1_ENABLED_CHANNELS=channel_1,channel_2,channel_3,group_2
group_1_TOKEN=<YOUR_TOKEN>
# group_2
group_2_ENABLED_CHANNELS=channel_4
# token can be ignored if no used directly
# Define channels
# channel_1(bark)
channel_1_TYPE=bark
channel_1_BARK_URL=<YOUR_BARK_URL>
channel_1_BARK_KEY=<YOUR_BARK_KEY>
# channel_2(wecom_webhook)
channel_2_TYPE=wecom_webhook
channel_2_WECOM_WEBHOOK_KEY=<YOUR_WECOM_WEBHOOK_KEY>
# channel_3(wecom_app)
channel_3_TYPE=wecom_webhook
channel_3_WECOM_WEBHOOK_KEY=<YOUR_WECOM_WEBHOOK_KEY>
# channel_4(wecom_app)
channel_4_TYPE=wecom_webhook
channel_4_WECOM_WEBHOOK_KEY=<YOUR_WECOM_WEBHOOK_KEY>
变量名 | 说明 |
---|---|
ENABLED_GROUPS | (必填)启用的分组,区分大小写,多个分组逗号隔开 |
<GROUP_NAME>_ENABLED_CHANNELS | (必填)分组使用的通知渠道,区分大小写,多个渠道逗号隔开 |
<GROUP_NAME>_TOKEN | (选填)分组的 Token,对应请求时使用的 {key} 。建议使用随机生成的字母和数字,不可以带 / 。如果该分组不直接使用,只作为嵌套,可以不填。 |
变量名 | 说明 |
---|---|
<CHANNEL_NAME>_TYPE | (必填)渠道类型,取值范围见下表 |
(其他渠道配置) | 渠道具体配置,形如 <CHANNEL_NAME>_<渠道配置后缀> |
渠道名称 | 渠道类型(上面的<CHANNEL_NAME>_TYPE |
---|---|
Bark | bark |
企业微信 Webhook | wecom_webhook |
企业微信应用 | wecom_app |
Pushover | pushover |
PushDeer | pushdeer |
Chanify | chanify |
SMTP(邮件) | |
Discord | discord_webhook |
Telegram | telegram |
ntfy | ntfy |
飞书/Lark Webhook | lark_webhook |
钉钉自定义机器人 | dingtalk_webhook |
后缀名 | 通知渠道 | 后缀说明 |
---|---|---|
BARK_URL |
Bark | Bark服务器地址,如https://api.day.app |
BARK_KEY |
Bark | Bark的推送 key,如 qy7s8qnhjhphuNDHJNFxQE |
WECOM_KEY |
企业微信 | 企业微信机器人的 key,见 企业微信机器人webhook |
WECOM_CORP_ID |
企业微信 | 企业微信应用的 corp_id,见 企业微信应用消息 |
WECOM_AGENT_ID |
企业微信 | 企业微信应用的 agent_id |
WECOM_SECRET |
企业微信 | 企业微信应用的 secret |
PUSHOVER_TOKEN |
Pushover | Pushover 的 token,见 Pushover API |
PUSHOVER_USER |
Pushover | Pushover 的 user |
PUSHDEER_TOKEN |
PushDeer | PushDeer 的 token,见 Pushdeer API |
CHANIFY_ENDPOINT |
Chanify | Chanify 的 endpoint,见 Chanify,可不填,默认为 https://api.chanify.net |
CHANIFY_TOKEN |
Chanify | Chanify 的 token |
EMAIL_HOST |
Email 服务器地址,如 smtp.gmail.com |
|
EMAIL_PORT |
Email 服务器端口,如 465 |
|
EMAIL_USER |
Email 用户名 | |
EMAIL_PASSWORD |
Email 密码 | |
EMAIL_SENDER |
Email 发件人名称 | |
EMAIL_TO |
Email 收件人 | |
EMAIL_STARTTLS |
Email 是否使用 TLS | |
DISCORD_WEBHOOK_ID |
Discord | Discord 的 Webhook ID,见 Discord 文档 |
DISCORD_WEBHOOK_TOKEN |
Discord | Discord 的 Webhook Token |
TELEGRAM_TOKEN |
Telegram | Telegram 的 Token,见 这里 |
TELEGRAM_CHAT_ID |
Telegram | Telegram 的 Chat ID,见 这里 |
NTFY_HOST |
ntfy | ntfy 的服务端地址 |
NTFY_TOPIC |
ntfy | ntfy 的 topic,见 这里 |
LARK_HOST |
飞书/Lark | 飞书/Lark 的接口地址,默认可以留空。如果使用 Lark, 则为 https://open.larksuite.com/open-apis/bot/v2/hook/ |
LARK_TOKEN |
飞书/Lark | 飞书/Lark 的 Token |
LARK_SECRET |
飞书/Lark | 飞书/Lark 的签名密钥 |
DINGTALK_TOKEN |
钉钉 | 钉钉的自定义机器人 Token,见 这里。取其 access_token 部分。 |
DINGTALK_SAFE_WORDS |
钉钉 | 钉钉的自定义关键词,见 这里。 |
DINGTALK_SECRET |
钉钉 | 钉钉的 secret,通过加签方式保护机器人。与关键词只能二选一,推荐使用签名,见 这里。 |
APPRISE_URL |
Apprise | Apprise 的协议 URL,见 这里 |
PUSHME_URL |
PushMe | PushMe 的服务端地址 |
PUSHME_PUSH_KEY |
PushMe |
在创建函数时可以在高级配置中创建环境变量,函数创建后,可以在【函数配置-编辑】处对环境变量进一步进行设置。
阿里云 Serverless、华为云 Serverless 的配置方法类似。
在使用 docker run
命令创建容器时,可以通过 -e ENV=ENV_VAL
的方式创建环境变量。
配置方式参考 文档,在编辑原始环境变量处粘贴 .env
的内容即可。
注意,Zeabur 的
PORT
变量固定为8080
,不可调整。****