好玩的Docker项目 - message-pusher 消息推送服务

AI摘要
Message-Pusher 是一款多功能消息推送服务,支持多种推送方式,包括邮件、微信、QQ、企业微信、飞书、钉钉、Bark App、WebSocket、Telegram、Discord 和腾讯云自定义告警。它支持自定义 Webhook、Markdown、异步消息发送、用户管理、Cloudflare Turnstile 用户校验、公告发布和 API 兼容性。可以通过 Docker 或手动部署,并提供详细的部署教程。
由ChatGPT生成

✨ 搭建专属于你的消息推送服务,支持多种消息推送方式,支持 Markdown,仅单可执行文件,开箱即用✨

描述

  1. 多种消息推送方式

    • 邮件消息,
    • 微信测试号,
    • QQ,
    • 企业微信应用号,
    • 企业微信群机器人
    • 飞书自建应用
    • 飞书群机器人,
    • 钉钉群机器人,
    • Bark App,
    • WebSocket 客户端(官方客户端接入文档),
    • Telegram 机器人,
    • Discord 群机器人,
    • 腾讯云自定义告警:免费的短信提醒,
    • 群组消息:可以将多个推送通道组合成一个群组,然后向群组发送消息,可以实现一次性推送到多个渠道的功能,
    • 自定义消息:可以自定义消息请求 URL 和请求体格式,实现与其他服务的对接,支持众多第三方服务
  2. 支持自定义 Webhook,反向适配各种调用平台,你可以接入各种已有的系统,而无需修改其代码。
  3. 支持在 Web 端编辑 & 管理发送的消息,新消息发送后 Web 端即时刷新
  4. 支持异步消息发送。
  5. 支持用户管理,支持多种用户登录注册方式:

  6. 支持 Markdown。
  7. 支持 Cloudflare Turnstile 用户校验。
  8. 支持在线发布公告,设置关于界面以及页脚。
  9. API 兼容其他消息推送服务,例如 Server 酱

部署

通过 Docker 部署

部署:

docker run -d --restart always --name message-pusher -p 3000:3000 -e TZ=Asia/Shanghai -v /home/ubuntu/data/message-pusher:/data justsong/message-pusher

更新:

docker run --rm -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower -cR

开放的端口号为 3000,之后用 Nginx 配置域名,反代以及 SSL 证书即可,具体参考详细部署教程

数据将会保存在宿主机的 /home/ubuntu/data/message-pusher 目录(只有一个 SQLite 数据库文件),请确保该目录存在且具有写入权限,或者更改为合适的目录。

Nginx 的参考配置:

server{
   server_name msgpusher.com;  # 请根据实际情况修改你的域名
   
   location / {
          client_max_body_size  64m;
          proxy_http_version 1.1;
          proxy_pass http://localhost:3000;  # 请根据实际情况修改你的端口
          proxy_set_header Host $host;
          proxy_set_header X-Forwarded-For $remote_addr;
          proxy_cache_bypass $http_upgrade;
          proxy_set_header Accept-Encoding gzip;
   }
}

之后使用 Let's Encrypt 的 certbot 配置 HTTPS:

# Ubuntu 安装 certbot:
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
# 生成证书 & 修改 Nginx 配置
sudo certbot --nginx
# 根据指示进行操作
# 重启 Nginx
sudo service nginx restart

手动部署

  1. GitHub Releases 下载可执行文件或者从源码编译:

    git clone https://github.com/songquanpeng/message-pusher.git
    cd message-pusher/web
    npm install
    npm run build
    cd ..
    go mod download
    go build -ldflags "-s -w" -o message-pusher
  2. 运行:

    chmod u+x message-pusher
CC BY-NC-SA 4.0 Deed | 署名-非商业性使用-相同方式共享
最后更新时间:2024-06-16 14:25:10