一个基于 NextJS + Cloudflare 技术栈构建的可爱消息推送服务, 支持多种消息推送渠道
Find a file
2025-05-09 01:11:45 +08:00
.github/workflows chore: Update the deployment workflow on pnpm install deps 2025-04-20 12:19:11 +08:00
app fix: change origin get method 2025-04-19 15:19:15 +08:00
components feat: Add generic webhook channel 2025-05-03 14:06:43 +08:00
drizzle feat: Add endpoint groups 2025-03-23 21:19:15 +08:00
lib chore: remove unnecessary config item for single-button actionCard 2025-05-09 01:11:45 +08:00
public feat: Enable the new moe logo 2025-03-16 22:09:10 +08:00
scripts fix: DISABLE_REGISTER environment variable 2025-03-30 00:11:13 +08:00
types feat: Add endpoint groups 2025-03-23 21:19:15 +08:00
.env.example refactor: 添加DISABLE_REGISTER配置项,可选择关闭注册,默认为flase 2025-03-08 11:23:42 -05:00
.gitignore fix: change origin get method 2025-04-19 15:19:15 +08:00
.node-version feat: Init 2025-02-22 12:26:18 +08:00
components.json feat: Init 2025-02-22 12:26:18 +08:00
Dockerfile fix: DISABLE_REGISTER environment variable 2025-03-30 00:11:13 +08:00
drizzle.config.ts feat: Init 2025-02-22 12:26:18 +08:00
env.d.ts refactor: 添加DISABLE_REGISTER配置项,可选择关闭注册,默认为flase 2025-03-08 11:23:42 -05:00
eslint.config.mjs feat: Init 2025-02-22 12:26:18 +08:00
LICENSE feat: Init 2025-02-22 12:26:18 +08:00
middleware.ts feat: Add projection mechanisms for API Routing to ensure unauthorized users cannot access protected API 2025-03-29 14:23:51 +08:00
next.config.ts feat: Init 2025-02-22 12:26:18 +08:00
package.json Revert "chore: update nextjs" 2025-03-29 15:41:00 +08:00
pnpm-lock.yaml Revert "chore: update nextjs" 2025-03-29 15:41:00 +08:00
postcss.config.mjs feat: Init 2025-02-22 12:26:18 +08:00
README.md feat: Add generic webhook channel 2025-05-03 14:06:43 +08:00
tailwind.config.ts feat: Init 2025-02-22 12:26:18 +08:00
tsconfig.json feat: Init 2025-02-22 12:26:18 +08:00
wrangler.example.json refactor(docker): Update Dockerfile 2025-03-12 22:11:48 +08:00

MoePush Logo

MoePush

一个基于 NextJS + Cloudflare 技术栈构建的可爱消息推送服务, 支持多种消息推送渠道

在线演示

https://moepush.app

home

login

dashboard

特性

  • 📡多渠道支持 支持钉钉、企业微信、Telegram 等多种消息推送渠道。
  • 🛠️简单易用 :提供简单的接口调用,支持多种消息模板,快速集成。
  • 💖开源免费 :基础功能完全免费使用,代码开源,欢迎贡献。
  • 🎨精美 UI :使用 shadcn/ui 组件库,提供精美 UI 设计。
  • 🚀快速部署 :基于 Cloudflare Pages 部署,免费且稳定。
  • 📦接口组功能 :支持创建接口组,一次性推送消息到多个渠道接口。

已支持渠道

  • 钉钉群机器人
  • 企业微信应用
  • 企业微信群机器人
  • Telegram 机器人
  • 飞书群机器人
  • Discord Webhook
  • Bark App
  • 通用 Webhook

技术栈

本地运行

  1. 克隆项目并安装依赖:
git clone https://github.com/beilunyang/moepush.git
cd moepush
pnpm install
  1. 复制环境变量文件:
cp .env.example .env

环境变量文件 .env 中需要配置以下变量:

  • AUTH_SECRET:加密 Session 的密钥
  • AUTH_GITHUB_IDGitHub OAuth App ID
  • AUTH_GITHUB_SECRETGitHub OAuth App Secret
  • DISABLE_REGISTER:是否禁止注册,默认为false,设置为 true 则禁止注册
  1. 创建 wrangler.json 文件
cp wrangler.example.json wrangler.json
  1. 初始化本地数据库
pnpm run db:migrate-local
  1. 运行开发服务器:
pnpm run dev

访问 http://localhost:3000 查看应用。

部署

视频版保姆级部署教程

https://www.bilibili.com/video/BV1dtZBYnEUX/?p=2

GitHub Actions 自动部署

项目已配置 GitHub Actions 用于自动部署, 可以通过两种方式进行触发:

  • 推送新的 tag格式v*)会触发自动部署。例如:git tag v1.0.0 && git push origin v1.0.0
  • 手动触发工作流。前往 Actions 页面,点击 Deploy 工作流,点击 Run workflow 按钮即可。

部署前需要在 GitHub 仓库设置中添加以下 Secrets

  • CLOUDFLARE_API_TOKENCloudflare API Token
  • CLOUDFLARE_ACCOUNT_IDCloudflare Account ID
  • D1_DATABASE_NAMED1 数据库名称
  • AUTH_SECRET:加密 Session 的密钥
  • AUTH_GITHUB_IDGitHub OAuth App ID
  • AUTH_GITHUB_SECRETGitHub OAuth App Secret
  • PROJECT_NAME:项目名称 (可选默认moepush)
  • DISABLE_REGISTER:是否禁止注册,默认关闭,设置为 true 则禁止注册

使用 Docker 部署

docker pull beilunyang/moepush
docker run -d -p 3000:3000 -v $(pwd)/.wrangler:/app/.wrangler -e AUTH_SECRET=<你的AUTH_SECRET> -e AUTH_GITHUB_ID=<你的AUTH_GITHUB_ID> -e AUTH_GITHUB_SECRET=<你的AUTH_GITHUB_SECRET> moepush

贡献

欢迎提交 Pull Request 或者 Issue来帮助改进这个项目

交流

关注公众号了解更多项目进展以及AI区块链独立开发资讯 添加微信,备注 "MoePush" 拉你进微信交流群

支持

如果你喜欢这个项目,欢迎给它一个 Star 或者进行赞助



Buy Me A Coffee

许可证

MIT