Rallly:开源版 Doodle,把来回邮件压缩成一次投票
阅读时间: 大约 14 分钟
Rallly:开源版 Doodle,把来回邮件压缩成一次投票

组织一场多人会议,最耗时间的往往不是会议本身,而是会前的来回确认:“周三下午行吗?不行的话周四?周四哪个时段?” Doodle、When2meet 一类投票工具用一张表格把这个过程压缩成”发链接、投票、看结果”。Rallly(官网 rallly.co,仓库 lukevella/rallly)是这个赛道里少见的开源、可自托管选手:创建投票无需注册,参与者点开链接即可投票,组织者在一张可用性网格上看到所有人的空闲时段,敲定后一键发日历邀请。本文基于 Rallly 官方站点、支持文档(support.rallly.co)与 GitHub 仓库一手资料,梳理其机制、定价与许可证边界。
一、背景:高频但琐碎的痛点
多人日程协调的本质是一个约束满足问题:N 个人各自有自己的日历交集,邮件、群聊式的逐轮回问让这个问题以最低效的方式展开。Doodle 自 2007 年前后把”投票选时间”产品化,但长期被诟病的点是:免费版广告多、投票页强制注册与付费墙混杂、数据掌握在商业服务方手中。Rallly 瞄准的正是这个缝隙——把投票做成无账号门槛的轻量体验,同时把源码开放、允许自托管,面向对数据主权敏感、又不愿自建重型日历系统的团队。
二、是什么:三态投票 + 可用性网格
Rallly 的核心对象是”调度投票(scheduling poll)”:
- 创建投票:组织者填写标题、说明、地点,在日历上勾选候选日期并配置每个日期的起止时间(官方截图提供 30 分钟、1 小时、1 小时 30 分、2 小时、全天五种时长预设,支持月视图与周视图切换,可锁定时区)。
- 分享链接:把邀请链接通过邮件、Slack、WhatsApp 等渠道发出,参与者无需注册账号即可回应。
- 投票:每个时段有三态选项——Yes(有空)、If need be(勉强可以)、No(不行)。
- 汇总:所有回应汇入一张参与者 × 时段的可用性网格,每个候选时段直接显示可用人数,绿色(Yes)与黄色(If need be)条形直观展示契合度。
- 敲定(Finalize):组织者从排名选项中选定一个时间,系统向留了邮箱的参与者发送带日历邀请的通知邮件;若投票里挂了视频会议,敲定那一刻自动生成会议链接。

除主流程外,仓库 README 列出的功能还包括:投票内评论讨论、参与者回应通知、10 种以上语言(社区经 Crowdin 翻译)、云托管版本与自托管版本同源构建。
三、技术机制:T3 栈 + 单体 Docker Compose
从 GitHub 仓库的 Topics 与 README 可知,Rallly 云端与自托管版构建自同一套代码库,技术栈为 Next.js + Prisma + tRPC + TailwindCSS,配套 next-auth 做认证、React-Email 发邮件、i18next 做多语言、Zod 做数据校验,仓库以 Turborepo 组织 monorepo(apps 下分 web、landing、docs);语言构成上 TypeScript 占 94.5%。截至本次调研(2026-10-22),仓库约 5.3k stars、575 forks、38 位贡献者、110 个 release,最新版本为 v4.16.1,许可证为 GNU AGPLv3。
自托管侧的设计取向是”单机起步、可插拔替换”:官方 Docker Compose 栈把四个容器打包在一起——Traefik(反向代理 + Let’s Encrypt 自动 HTTPS)、Rallly 应用、PostgreSQL 主库、Garage(S3 兼容对象存储,存放上传文件);只有 Traefik 对外暴露 80/443,其余容器走内部 Docker 网络。官方文档同时给出三条外置替换路径:设置 DATABASE_URL 即跳过内置 db 容器改用托管 Postgres;设置 S3_ENDPOINT 即跳过 Garage 改用 AWS S3 / Cloudflare R2 / MinIO;设置 PROXY_MODE=external 可关闭内置 Traefik,交由自建 Nginx/Caddy/Cloudflare Tunnel 终止 TLS。认证侧支持 Google、Microsoft 登录与任意 OpenID Connect 提供方的 SSO。

四、关键数据:云端计划与自托管许可
云端(rallly.co)计划对比(官方定价页,按年计费口径):
| 维度 | 游客(无账号) | Hobby(免费账号) | Pro(US$6/席位/月,按年计费) |
|---|---|---|---|
| 同时开放投票数 | 1 | 3 | 无限 |
| 参与者/选项数量 | 无限 | 无限 | 无限 |
| 投票保留期 | — | 所有日期过去且 30 天无活动后自动删除 | 无限期 |
| 复制投票 | 否 | 否 | 是 |
| 高级设置(要求填邮箱、隐藏姓名、隐藏票数) | 否 | 否 | 是 |
| 邮件邀请(带个人打开/回应追踪链接) | 否 | 否 | 是 |
| 团队协作 / 自定义品牌 / 移除署名 | 否 | 否 | 是 |
| API 与 Webhooks | 否 | 否 | 是 |
| Google Meet | 支持 | 支持 | 支持 |
| Zoom / Teams / Webex | 否 | 否 | 是 |
需要特别说明的口径:2026 年 10 月 13 日作者 Luke Vella 在官方博客宣布 Finalize(敲定投票)改为全计划免费,此前它曾是 Pro 的招牌功能;Google Meet 也因此对所有计划开放,而 Zoom、Microsoft Teams、Webex 仍属 Pro。定价分层的实际分界线被作者明确为”同时开放的投票数量”,而非总创建量。
官网首页滚动计数器显示”过去 30 天内约 51.7 万人在 9.4 万个投票中投了票”,这是云端实例的实时自报数字,不含任何自托管实例,且数字随时间滚动,只能作为规模量级参考,不能当作总用户数。
自托管许可证是最容易被”开源=免费随便用”误解的一环。官方 Licensing 页写明:AGPLv3 开源对个人使用永远免费,但多人自托管需要购买许可密钥:
| 档位 | 用户上限 | 价格 |
|---|---|---|
| Personal | 1 用户(1 seat) | 免费 |
| Plus | 最多 5 用户(5 seats) | $49 |
| Organization | 最多 50 用户(50 seats) | $499 |
| Enterprise | 50+ 用户(100 seats) | $999 起 |
该密钥是针对 Rallly v4.x 系列的永久许可,覆盖 v4 全系列更新但不代表未来大版本;激活时服务器需能经 HTTPS 访问 licensing.rallly.co,位于企业代理或 TLS 拦截防火墙后的环境需走专门的 Corporate Networks 文档。此外官方明确:API 仅由云端提供,自托管实例不具备 API;计费、配额计量等云端特性在自托管镜像中被编译剔除。
五、评测口径批判
官网首页引用了 MIT 行政助理 Eric Fletcher 等人的推荐语,以及 PCMag、HubSpot、Goodfirms、PopSci 等媒体标识,但这些属于营销页背书,没有给出对比测评的测量方法(样本量、对比对象、任务集均未公开),不宜当作严格评测结论。GitHub 的 5.3k stars 反映的是开发者关注度,与普通会议参与者的满意度不是同一指标。云端计数器同样只衡量云端活跃,无法回答”自托管实例有多少、留存如何”。
六、适用与不适用场景
适合:
- 习惯用 Doodle 但介意广告、注册墙与数据外泄的个人与小型委员会;
- 需要把投票能力嵌进自有系统、且愿意接受云端 API(Pro)或干脆自托管的团队;
- 有合规/数据主权要求(学校、律所、诊所、非营利内部协调),且用户规模落在 Plus/Organization 付费许可内的组织;
- 只需要”选个时间”、不需要完整日历同步的轻量协调。
不适合:
- 需要把投票结果双向同步进公司 Google Calendar / Outlook 日历并自动查冲突的场景(Rallly 只在敲定后发出日历邀请,不做持续双向同步);
- 要求 API/Webhook 的自托管团队(官方明确自托管不提供 API);
- 需要给单个时段设置人数上限、或给投票设报名截止时间的场景——官方 FAQ 明确这两项目前不支持,仅表示”未来可能加入”;
- 50 人以上的内部自托管:需走 Enterprise 询价,成本不再透明。
七、客观分析:优势与局限
优势:
- 投票零门槛:参与者无需注册、无需下载,打开链接三态勾选,这是相对 Doodle 免费版最直观的体验优势;
- 开源 + 可自托管:AGPLv3 源码可审计,单机 Docker Compose 一键起栈,Postgres/S3/反代均可外置,运维路径清晰;
- 定价分层克制:敲定、Google Meet、无限参与者都放下免费档,付费点集中在”并发投票量 + 高级管理功能”,符合高频重度用户付费的逻辑;
- 工程栈主流:Next.js/tRPC/Prisma/Zod 技术圈熟,二次开发与自托管排错的资料获取成本低。
局限:
- “开源免费”有边界:多人自托管并非零成本,5 人以上就要付费许可,且许可只覆盖 v4.x;AGPLv3 本身也对二次开发后的网络服务分发有强 copyleft 要求;
- 功能比商业竞品朴素:无时段人数上限、无报名截止、无投票结果导出的深度报表,团队协作 Spaces 的完整能力主要在云端 Pro;
- 自托管无 API:想在自己系统里程序化创建/读取投票的团队只能用云端 Pro;
- 赛道同质化高:Koala 项目库的点评也指出,日程投票功能差异化空间有限,核心壁垒在于运营、集成与信任,而非独特技术。
八、谁该关注
如果你是一个被 Doodle 的注册墙和广告劝退过的个人用户,Rallly 云端免费档已经覆盖大多数家庭聚餐、朋友聚会、课题组讨论;如果你是维护内部工具的工程师,Rallly 的自托管栈是 AGPL 项目里部署友好度较高的样本,值得拿来评估”开源自托管 + 云端商业化”这套双轨模式;如果你所在组织超过 50 人且要求完全内网运行,则需要先算清 Enterprise 许可与自研日历协调的成本再决策。