CloudMeet:基于 Cloudflare 的开源会议调度方案
CloudMeet 是一款旨在替代 Calendly 的开源会议预约系统。其核心优势在于完全依托 Cloudflare 的免费生态(Pages 与 Workers)构建,这意味着用户无需购买或维护传统服务器,即可拥有一个高效、可靠的日程管理工具。它支持 Google 与 Outlook 日历的双向同步,极大简化了个人与团队的预约流程。
🚀 核心功能要点
- 多平台日历集成:全面支持 Google Calendar 和 Microsoft Outlook,用户可选择单一日历或将两者联合使用。
- 自动化链接生成:预约成功后,系统会自动创建对应的 Google Meet 或 Microsoft Teams 会议链接。
- 灵活的调度配置:支持自定义工作时间、可预约时段,并能预设多种会议时长(如 30 分钟或 1 小时)。
- 全流程邮件通知:涵盖预约确认、取消提醒等多种可配置的邮件通知,确保双方及时知晓。
- 便捷的管理后台:提供可视化 Dashboard,用于集中管理预约配置及开关邮件通知。
- 极速部署与更新:通过 GitHub Actions 实现一键部署,且支持后续的自动同步更新。
🛠️ 部署与配置流程
CloudMeet 的部署逻辑十分简洁,主要分为五个核心步骤:
- 权限准备:创建 Cloudflare API Token 并授予 D1 数据库权限。
- 授权配置:完成 Google OAuth 的授权信息设置。
- 环境搭建:基于 GitHub 模板创建仓库,并配置必要的机密变量(Secrets)。
- 执行部署:运行 GitHub Actions 触发自动化部署。
- 域名绑定(可选):绑定自定义域名以提升专业度。
👉 在线体验:meet.klappe.dev/cloudmeet
🔔 关键功能详解
自动化邮件提醒
系统利用 Cloudflare Workers 实现定时任务,默认在会议开始前 24 小时和 1 小时自动发送提醒邮件。为了保障接口安全,建议在配置中添加 CRON_SECRET,防止未经授权的外部访问。
Outlook Calendar 集成(可选)
若需使用 Microsoft 生态,可通过以下流程启用:在 Azure 注册应用 $rightarrow$ 获取 Client ID 与 Secret $rightarrow$ 配置 Microsoft Graph API 权限 $rightarrow$ 将参数添加至 GitHub Secrets 并重新部署。完成后,用户可在管理面板中指定 Outlook 账户及会议提供商偏好。
💻 开发者指南
对于需要二次开发或本地调试的用户,可以使用以下命令快速启动本地实例:
cp .env.example .dev.vars
npm install
npm run db:init
npm run dev
适用场景与总结
CloudMeet 凭借其 零服务器成本 和边缘计算 的特性,非常适合以下群体:
- 自由职业者:快速建立专业的预约页面,无需支付高昂的 SaaS 订阅费。
- 远程团队 / 开源项目组:低成本构建统一的日程协调机制。
- 自托管爱好者:希望完全掌控数据且不愿维护复杂服务器环境的用户。
正文完
