Rallly 4.16 介绍与选型指南
开源会议时间投票与排期协调工具 Rallly 的功能盘点、AGPL-3.0 许可解读、版本节奏与社区活跃度实测,以及与 Doodle、Dudu、Framadate、Cal.com 的量化选型对比(数据来源与查询日期已逐项标注)。
Rallly 4.16 介绍与选型指南
版本基线:Rallly v4.16.2(2026-10-23 发布),数据查询日期 2026-10-24。除特别标注外,本文所有版本号、社区数据、兼容性信息均以此日期的官方一手来源为准。
一、Rallly 是什么
Rallly(发音同 "rally")是一个开源的会议时间投票与排期协调工具,定位是 Doodle 的开源替代品。它解决的核心问题是:一群人需要从若干候选时间中共同选出最合适的一个,而组织者不希望逐个私聊统计。
发起人创建一个"投票(Poll)",列出候选时间段并分享链接,参与者各自勾选可用时间,结果以矩阵形式实时汇总;当需要确定正式日程时,Rallly 还能把确认的时间直接转化为日历事件(支持 Google 日历集成、Microsoft Outlook 日历集成),并提供视频会议集成(Zoom/Google Meet/Microsoft Teams)。除时间投票外,它同样支持通用类型选项的投票(任意选项文本,不限定时间语义)。
项目由 Luke Vella(lukevella)主导开发,2017 年立项,持续维护至今,同时提供官方云托管(Rallly Cloud)与自托管两条使用路径。
二、核心功能盘点
- 时间投票(Poll):候选时间段矩阵、每人可选 Yes/Tentative( tentative 需开启 allowTentativeVotes)/No,支持隐藏参与者、隐藏统计分数、禁用评论等开关。
- 访客参与:参与者无需注册账号,凭分享链接即可投票评论;发起人可要求参与者填写邮箱(requireParticipantEmail)。
- 空间(Space)协作:注册用户以 Space 为单位组织投票,Space 内成员可共同管理。
- 事件与日历:投票定稿后可创建事件;支持连接 Google Calendar、Microsoft Outlook Calendar 双向同步,以及 Zoom/Google Meet/Microsoft Teams 视频会议链接生成。
- 邮件验证码登录:自托管实例默认走邮箱验证码(6 位 OTP,15 分钟有效)登录,无需密码体系;可选启用 OIDC 单点登录。
- 管理控制面板(Control Panel):多实例运维视角的用户/空间管理,通过
INITIAL_ADMIN_EMAIL认领首个管理员。 - 品牌化与白标:
APP_NAME、主色、Logo 等可配置;隐藏页脚署名(HIDE_ATTRIBUTION)属于企业授权功能。 - 速率限制:内置按过程(procedure)粒度的限流中间件,可经
RATE_LIMIT_ENABLED开关。 - 多语言:界面支持包括简体中文在内的多种语言(由社区 Crowdin 平台协作翻译)。
三、技术架构与许可证
| 层次 | 选型 | 说明 |
|---|---|---|
| 前端/全栈框架 | Next.js 16(App Router) | 服务端渲染 + React,运行时日志实测显示 Next.js v16.4.2 |
| ORM/数据库 | Prisma + PostgreSQL(必需) | 唯一支持的数据库;外部连接串经 DATABASE_URL 注入 |
| 认证 | Better Auth | 邮箱 OTP / OIDC;会话加密密钥经 SECRET_PASSWORD 提供 |
| 对象存储 | S3 兼容 API(可选) | 头像等上传走 S3;官方自带 Garage(v2.3.0)作为捆绑存储 |
| 邮件 | SMTP | 登录验证码、邀请、通知均依赖投递(nodemailer) |
| 进程形态 | 单体 Node.js 服务 | 默认监听 3000 端口,外部反代或捆绑 Traefik 均可 |
许可证:AGPL-3.0(仓库 LICENSE 与 npm 包信息一致)。需要注意的合规含义:允许商用与自托管,但对外提供网络服务时必须开放修改后的源代码;企业版授权主要解锁白标(去除 Rallly 署名)等高级能力。这与 MIT/Apache 类工具相比对二次分发更严格,选型时应纳入评估。
四、版本与社区活跃度(截至 2026-10-24)
4.1 版本节奏(GitHub Releases 实录)
| 版本 | 发布日期 | 要点 |
|---|---|---|
| v4.16.2 | 2026-10-23 | Node.js 24.22.1 安全重建(修复 CVE-2026-111497 等 2026-10 Node 安全公告),基础映像固定 node:24.22.1 |
| v4.16.1 | 2026-10-16 | 新增 GOOGLE_LOGIN_ENABLED/MICROSOFT_LOGIN_ENABLED 开关;访客会话错误提示;分页加载优化 |
| v4.16.0 | 2026-10-14 | 4.16 系列(新版自托管栈文档与安装器同期发布) |
| v4.15.1 | 2026-09-24 | 修补版本 |
| v4.15.0 | 2026-09-22 | 功能版本 |
| v4.14.0 | 2026-08-20 | 功能版本 |
来源:github.com/lukevella/rallly/releases(Releases Atom feed 实抓,查询日期 2026-10-24)。近 60 天内 6 个稳定 tag,无 pre-release 进入最新稳定位,属于高频持续发布的项目。
4.2 社区热度(shields.io 徽章实测,查询日期 2026-10-24)
- GitHub Stars:5.3k;Forks:576(img.shields.io/github/stars/lukevella/rallly、/forks 实测取值)。
- Docker Hub:
lukevella/rallly最新 tag 与 GitHub 同步(4.16.2 于 2026-10-23 更新,压缩体积约 295 MB),另维护4、latest跟踪 tag。 - 文档体系:support.rallly.co(Mintlify 站点,含自托管、配置、SSO、API Reference 等完整分册,支持
.md原文直取)。 - 治理:单仓库单产品,issue/PR 响应由核心作者与少量协作者驱动,属于"活跃但小核心"型开源项目。
五、量化选型对比
对比对象:闭源 SaaS 龙头 Doodle、两款常被拿来替代 Doodle 的自托管工具(Dudu、Framadate),以及定位相邻的日程预约工具 Cal.com。以下数据来源与查询日期逐项标注。
5.1 硬指标对比
| 维度 | Rallly 4.16 | Doodle(SaaS) | Dudu | Framadate | Cal.com |
|---|---|---|---|---|---|
| 开源许可 | AGPL-3.0 | 闭源 | GPL-2.0 | CeCILL-B(类 BSD) | AGPL-3.0(部分企业功能闭源) |
| 自托管 | 支持(官方一线支持 Docker 路径) | 不提供(仅付费企业私有化意向,核心闭源) | 支持(LAMP 一键包为主) | 支持(PHP,长期低维护) | 支持 |
| 技术栈 | Next.js + PostgreSQL | 未知(闭源) | PHP + MySQL/SQLite | PHP + MySQL | Next.js + PostgreSQL + Prisma |
| 时间投票核心能力 | 原生(Yes/Tentative/No、访客参与、隐藏统计) | 原生且功能最全(含自动日程建议) | 基本齐备 | 基本齐备但界面老旧 | 不以投票为核心(预约 1:1 为主) |
| 界面现代化/移动端 | 好(Next.js 响应式,多语言含中文) | 商业水准 | 一般 | 差 | 好 |
| 日历/会议集成 | Google/Outlook 日历、Zoom/Meet/Teams | 全面 | 无 | 无 | 全面(预约场景) |
| SSO(OIDC) | 自托管可用(OIDC_* 环境变量) | 商业版 | 无 | 无 | 部分闭源/企业版 |
| API | REST API 仅云托管提供;自托管无公开 REST API | 商业 API | 无 | 无 | 开放 REST API |
| 数据自主权 | 完全本地 | 数据在 Doodle 云 | 完全本地 | 完全本地 | 完全本地 |
| 维护活跃度(近 60 天) | 6 个稳定版本(2026-08-20 ~ 2026-10-23) | 不可见 | 低频 | 接近停滞 | 高频 |
来源说明:Rallly 数据来自官方仓库与 releases atom(查询日期 2026-10-24);Doodle 为闭源 SaaS,能力以官网公开定价页描述为准;Dudu(github.com/lokkju/dudu 及各发行版打包页)与 Framadate(framagit 官方仓库)维护状态以各自仓库提交记录为准,均为低频维护;Cal.com 以其官方仓库 license 声明为准。
5.2 选型结论速查
- 要"Doodle 的用法 + 数据本地化 + 免费":Rallly 是当前平衡度最高的选择——现代化界面、活跃维护、官方自托管文档完整,且有云托管兜底(不想运维时可以迁移到官方云)。
- 只是临时用一次、不想部署:直接用 Doodle 免费版或 Rallly Cloud 更省事,此时开源与否不是关键。
- 内网隔离、无公网依赖:Rallly 可全内网运行(数据库本机 PostgreSQL + SMTP 内网投递),Doodle 无法满足,Dudu/Framadate 技术上可行但体验与维护性明显落后。
- 要的是"预约日历"而不是"多候选时间投票":选 Cal.com 而不是 Rallly——两者的核心场景不同(1:1 预约 vs 多人时间协调)。
- 有 SSO 合规要求:Rallly 自托管原生 OIDC 开箱即用,Dudu/Framadate 需要自行改造。
六、适用与不适用场景
适合
- 团队周会、评审会、培训的时间协调,尤其跨时区(投票内建时区语义,候选时间以发起人时区表达)。
- 活动报名、聚餐选题等通用投票(非时间选项)。
- 需要把"选定时间"沉淀为日历事件的场景(Google/Outlook 集成后一键创建)。
- 中小组织内部工具箱里的"协作类"成员:配合 Space 做多团队隔离。
不适合(或需要额外论证)
- 高频 1:1 商务预约(应选 Cal.com 类预约工具)。
- 复杂资源排班(会议室/设备冲突检测、工时审批)——Rallly 不做资源管理。
- 需要程序化集成(自托管无 REST API,只有云端提供
/v1/pollsAPI 与 Webhooks;自托管自动化只能围绕数据库与运维脚本做)。 - 对 AGPL 合规敏感且不愿开源修改的场景。
七、部署路径预览与本文集导读
Rallly 官方把自托管收敛为两条路径,均以 PostgreSQL 为必需依赖:
- 官方安装器(推荐):一条命令拉取安装脚本完成栈初始化(App + PostgreSQL + S3 存储 + 反代),生成统一的
rallly.sh管理入口,位于/opt/rallly。 - 直接编排:官方提供预构建应用包 + 参考编排文件,可自行组合外部 PostgreSQL、外部反代(
PROXY_MODE=external)与外部对象存储。
本文集其余三篇围绕这两条路径展开:
- 部署落地:《Rallly 4.16 Docker Compose 部署指南》——官方安装器与编排文件的逐步实测。
- 参数字典:《Rallly 4.16 配置参数详解》——应用层与栈层环境变量逐项溯源。
- 日常运维:《Rallly 4.16 常用 CLI 命令详解》——rallly.sh 全命令实测与备份恢复。