Loomio 3.14.0 介绍与选型指南

Loomio 3.14.0 认知篇:开源群组决策协作平台的产品定位、Rails 技术栈与服务拓扑、10 种投票类型实测清单、发布节奏与社区规模量化数据,及与 Rallly/IHateMoney/Bitpoll/ClearFlask/Framadate 的选型对比(数据查询日期 2026-11-02)。

LoomioLoomio自托管DockerRailsPostgreSQLRedis协作2026/11/02

Loomio 3.14.0 介绍与选型指南

目标:认识 Loomio 3.14.0 的定位、架构、功能面与维护现状,给出与同类投票/协作工具的量化选型结论。外部事实(版本、star、许可证)为 2026-11-02 GitHub API / shields.io 实查;功能与架构结论来自当日主机实测实例(192.168.1.172:8144,由 《Loomio 3.14.0 Docker Compose 部署指南》 部署)。参数语义见 《Loomio 3.14.0 配置参数详解》,运维命令见 《Loomio 3.14.0 常用 CLI 命令与工具详解》。

一、环境信息

本文实查与实测所依赖的环境:

  • 实查通道:GitHub REST API(api.github.com)、shields.io 徽章、Docker Hub,查询日期 2026-11-02
  • 实测实例:Ubuntu 主机,Docker 29.9.2 / Compose v5.6.1,Web 192.168.1.172:8144,协同编辑 8145,邮件捕获 8146
  • 组件版本(bin/rails about、psql、redis-cli info 实测):
组件实测版本
Loomio3.14.0(release 1793498930,schema 20261031000002)
Rails / Ruby / Rack8.1.3.1 / 4.0.9 / 3.2.8
Puma / Solid Queue8.0.2 / 1.7.0
PostgreSQL / Redis17.11 / 8.4.8

二、软件概述

2.1 定位

Loomio 是一款开源的群组决策协作平台:以"群组(group)→ 讨论(discussion)→ 投票(poll)→ 立场(stance)"为主线,让组织成员对提案、方案、会议时间等议题正式表态并沉淀结论。GitHub 仓库(loomio/loomio,查询日期 2026-11-02)元数据实查:

项目实查值来源
最新 releasev3.14.0(2026-11-01T02:08:42Z)GitHub Releases API
stars / forks2624 / 711GitHub API(shields.io 同日显示 2.6k)
许可证AGPL-3.0仓库 LICENSE.txt
默认分支 / 最近推送master / 2026-11-02GitHub API
官网https://loomio.com仓库 homepage 字段

发布节奏:近期 v3.14.0 → 3.13.2 → 3.13.1 → 3.13.0 → 3.12.0,约每 1–2 周一版,维护活跃(pushed_at 与查询日同日)。

2.2 发行形态

官方唯一支持的自托管形态是 Docker Compose 全家桶(仓库 deploy/ 目录:docker-compose.yml、env_template、create_env.sh、update.sh、UPGRADING.md,GitHub contents API 实查),无 apt/deb 包、无独立二进制。镜像 loomio/loomio:3.14.0 单镜像 3.48 GB(app/worker/hocuspocus 三服务共用)。

三、核心架构

3.1 服务拓扑

官方 compose 共 8 个服务,职责实测梳理:

服务镜像职责
nginx-proxynginxproxy/nginx-proxy反向代理 + 按 VIRTUAL_HOST 动态生成 vhost
nginx-proxy-acmenginxproxy/acme-companionLet's Encrypt 自动签证书
apploomio/loomioRails 主应用(Puma 监听 3000,入口 thrust puma -C config/puma.rb)
workerloomio/loomio后台任务(TASK=worker → bin/jobs start,Solid Queue 监督进程)
dbpostgres:17主数据库(实测 schema 80 张表)
redisredis:8.4缓存 + Action Cable(实测关闭持久化、allkeys-lru 淘汰)
harakaloomio/haraka-rails-docker收信 SMTP(邮件回帖建讨论,监听 25)
hocuspocusloomio/loomioYjs 协同编辑服务器(TASK=hocuspocus → node hocuspocus/server.mjs)

数据流:浏览器 → nginx-proxy → app(Puma 多进程);异步通知/清理走 worker;文档编辑实时同步走 hocuspocus WebSocket;收信由 haraka relay 进 Rails Action Mailbox。实测实例(内网变体,去 nginx/acme/haraka、加 mailpit)6 服务全部 Up,稳态内存合计约 1.1 GB(app 480MiB、worker 431MiB、db 81MiB、hocuspocus 51MiB、redis 18MiB、mailpit 8MiB)。

3.2 数据模型

核心表(psql 实测):users / groups / memberships / topics / polls / poll_options / stances / votes。群组带 group_privacy(open/private)与 membership_granted_upon(request/approve/invite)两级准入;投票按 poll_type 从 config/poll_types.yml 加载模板值(TEMPLATE_VALUES),决定 ballot 规则与选项默认集。

💡 技术拓展:Loomio 的 ballot 规则(ballot_rule)不止一种,实测 10 种投票类型映射 5 类规则——

ballot_rule含义对应投票类型
bounded限选 N 项、每项计分count/check/proposal/poll/meeting/score
reason_only只表态不选项question
dot_vote每人发固定点数自由分配(实测 points_per_voter=8)dot_vote
ranked_points按名次累计积分ranked_choice(choice_count_min=3)
ranked_preferences排序偏好 + 淘汰制计票stv(单可转移票)

本文实测实例采用 proposal(bounded,agree/abstain/disagree/block 四选项、score 固定 1)。

四、功能特性

以下能力全部在实测实例或发行包源码核验:

  1. 10 种投票类型:免登录接口 GET /api/v1/boot/site 返回 pollTypes 全量清单,实测顺序为 count / check / question / proposal / meeting / poll / dot_vote / score / ranked_choice / stv;meeting 型选项名按 ISO8601 渲染(poll_option_name_format=iso8601)、可"待定"(can_respond_maybe),proposal 默认时限 7 天。
  2. 讨论与立场:投票自动建 topic,成员表态(stance)带理由(Markdown),支持评论、reaction、匿名投票(has_anonymous_polls 字段实测存在)。
  3. 实时协同编辑:hocuspocus(Yjs)承载文档共同编辑,浏览器直连 HOCUSPOCUS_URL(实测 ws://192.168.1.172:8145,HTTP 探活 200)。
  4. 邮件双向:出站 SMTP(实测接 mailpit,API total:0 在线);入站 haraka 收信回帖建讨论(RAILS_INBOUND_EMAIL_URL 走 Action Mailbox relay)。
  5. Server API:/api/server0/*(别名 /api/b3/*)Bearer 认证的服务端集成通道,实测可增删用户、读群组,免 CSRF(详见 D1 篇)。
  6. 企业接入:SAML、OAuth2/OIDC 两套 SSO 配置项齐备(env_template 实查),含 SSO 托管资料(LOOMIO_SSO_UPDATE_USER_PROFILE_ON_LOGIN 等)。
  7. 防护与可观测:Rack::Attack 限速(rails about middleware 实测含 Rack::Attack)、Cloudflare Turnstile 注册防刷、Sentry 错误追踪、Plausible 统计。
  8. 本地化与主题:多语言(config/locales + 可选 Google 翻译/OpenAI 语音转写),THEME_* 系列变量定制 logo/配色/深浅色默认主题。
  9. 推送:Web Push(VAPID 三键齐全即启用,create_env.sh 自动生成);移动端走共享 relay(PUSH_RELAY_URL)。

五、快速开始(最小可用示例)

前提:按 《Loomio 3.14.0 Docker Compose 部署指南》 起栈。三步验收实测:

# 1) 健康检查
curl -s http://192.168.1.172:8144/up
# 2) 版本自证
curl -s http://192.168.1.172:8144/api/v1/boot/version
# 3) 站点配置自证(节选)
curl -s http://192.168.1.172:8144/api/v1/boot/site | python3 -c \
  "import json,sys;d=json.load(sys.stdin);print(d['version'],d['baseUrl'],d['features']['env'])"

实测输出:

ok
{"version":"3.14.0","release":"1793498930","reload":true,"notice":null}
3.14.0 http://192.168.1.172:8144/ production

浏览器打开 http://192.168.1.172:8144/(实测 302 → /dashboard)注册首个用户即可建群组发投票;一次 API 全链路(建组→proposal→表态 200 回显)见 B2 篇 4.8 节。

⚠️ 注意:新群组默认被塞入演示假数据(3 假用户 + 24 演示投票),生产部署务必设 LOOMIO_DISABLE_DEMO_GROUPS=1(实测源码 app/extras/app_config.rb:203,处置见 B2 篇 4.10)。

六、适用场景与限制

适合:

  • 组织内正式决策留痕:提案(proposal)、方案比选(check/count)、评分(score)、点赞预算(dot_vote)
  • 会议时间协调:meeting 型自带时区与"待定"表态
  • 社团/委员会选举:ranked_choice、stv 两种排序投票
  • 需要 SSO、邮件回帖、协同编辑、对外 API 的中大型自托管场景

限制:

  1. 资源占用偏重:镜像 3.48 GB、全栈稳态内存约 1.1 GB,明显高于轻量投票工具;
  2. 发行形态单一:官方只支持 Docker Compose,Ruby 栈无裸机包安装路径;
  3. AGPL-3.0 copyleft:二开并对外提供服务需开源修改,商业闭源集成受限;
  4. 权限模型较扁平:站点管理员 + 群组管理员两级为主,无细粒度角色体系;
  5. 配置书写规则特殊:禁用开关必须注释整行(KEY=0 仍算启用),迁移其他软件习惯时易踩坑;
  6. 演示群组默认开启:非域名主机也会触发,需显式关闭。

七、同类选型对比

对比对象为站内已实测的同类工具(各行数据:Loomio 行为 2026-11-02 本文实查/实测;其余行取自各工具介绍篇的当日实测记录,star 为 shields.io 查询值):

维度Loomio 3.14.0Rallly 4.16IHateMoney 7.2.1Bitpoll 0.11.0ClearFlask 2.7.2Framadate 1.1.19
定位群组决策协作平台会议时间协调AA 制记账分摊投票表单产品反馈投票板日程/意见投票
技术栈Rails + PG + RedisNext.js + PGPython/FlaskDjango + PGJava + Node.jsPHP
许可证AGPL-3.0AGPL-3.0BSD-3-ClauseGPL-3.0Apache-2.0AGPL
GitHub star(查询日)2.6k(2026-11-02)5.3k(2026-11-02)1.4k(2026-11-02)318(2026-11-02)450(2026-11-01)103(2026-11-01)
投票类型10 种(含 STV/点赞预算)时间投票为主无(记账)单选/多选/评分功能请求投票日程/意见
群组/成员体系有(隐私+准入两级)弱有(共享账本)弱有(多租户板)无
协同编辑/讨论Yjs 实时 + 讨论区无评论评论评论+状态流无
SSOSAML + OIDC无无无无无
服务端 APIServer API(Bearer)无RESTRESTREST无
部署形态Compose 8 服务Compose 2 服务单容器+PG单容器+PG多组件LAMP 裸机
稳态内存(实测)≈1.1 GB低低低高低

选型解读(站内明细):

八、参考链接

Loomio 3.14.0 介绍与选型指南 - Quzuo