OpenBudgeteer 1.11.2 介绍与选型指南
OpenBudgeteer(TheAxelander/OpenBudgeteer)1.11.2 桶预算自托管应用认知篇:架构、功能、官方快速上手与 Firefly III/Actual/Budget Board 量化选型对比,全部溯源官方渠道(2026-10-24 查询)。
OpenBudgeteer 1.11.2 介绍与选型指南
目标:面向准备自托管个人/家庭预算管理服务的读者,讲清 OpenBudgeteer 的定位、技术架构、功能边界与同类横向选型结论。本文所有版本号、星数、许可证、发布节奏均于 2026-10-24 实查 GitHub Releases、Docker Hub 与 shields.io 徽章取证。
一、环境信息
本文为认知与选型篇,全部信息来自公开官方渠道,未混入任何本地实验数据。信息采集口径如下:
- 软件仓库:
TheAxelander/OpenBudgeteer(GitHub),官方文档站 https://theaxelander.github.io/ - 版本基线:1.11.2(2026-10-23 发布于 Docker Hub,为当前最新稳定版,不含 pre-release)
- 数据取证渠道:GitHub Releases 页、官方文档站(quick-start/install/config/api 四页)、Docker Hub 标签接口、shields.io 徽章(星数/许可证/提交活跃度)、Awesome-Selfhosted 项目清单
- 查询日期:2026-10-24(文中所有量化数据均以此日期为准,后续阅读时请注意时效)
二、软件概述
OpenBudgeteer 是一款基于 Bucket Budgeting Principle(桶预算法) 的自托管预算管理应用,设计灵感来自商业软件 YNAB(You Need A Budget)与开源项目 Buckets。项目由 TheAxelander 维护,采用 GNU AGPL-3.0 许可证开源(v1.10 起由 MIT 切换为 AGPL-3.0,官方 Releases 页注明),已被 Awesome-Selfhosted 清单收录于 Money, Budgeting & Management 分区(条目原文:"Budgeting app based on the Bucket Budgeting Principle. AGPL-3.0 Docker/C#")。
💡 技术拓展:Bucket Budgeting(桶预算)是「信封预算法(Envelope Budgeting)」在软件中的常见实现形态,与国内语境的「记账 App」有本质区别。主要流派对比:
流派 代表产品 核心思路 适用人群 桶/信封预算 OpenBudgeteer、YNAB、Buckets、Actual 先把收入分配到各个"桶"(用途),花钱从桶里扣,强调"给每一块钱安排工作" 希望事前规划、控制支出结构 复式记账 Firefly III、Beancount/Fava 每笔交易借贷平衡,强调账务严谨与可审计 有会计思维、需要资产/负债全貌 简单流水记账 IHateMoney、MyFin Budget 记流水、分摊、看报表,门槛最低 合租分摊、轻量记账 OpenBudgeteer 选择的是第一类:数据模型围绕 Bucket(桶)与 Bucket Movement(桶间资金移动)展开,本文选型结论也基于这一前提。
2.1 项目热度与活跃度(2026-10-24 实查)
| 指标 | 数值 | 来源 |
|---|---|---|
| GitHub Stars | 970 | shields.io 徽章 img.shields.io/github/stars/TheAxelander/OpenBudgeteer |
| Docker 拉取量 | 230k+ | shields.io 徽章 img.shields.io/docker/pulls/axelander/openbudgeteer |
| 年提交活跃度 | 326 commits/年 | shields.io 徽章 commit-activity/y |
| 最新稳定版 | 1.11.2(2026-10-23) | GitHub Releases / Docker Hub tags |
| 官方分发体积 | 约 94.2 MB(linux/amd64 分发包压缩层) | Docker Hub 标签接口 full_size |
关键解读:OpenBudgeteer 属于中等规模、活跃维护的项目——星数不及 Firefly III(25k)与 Actual(30k),但提交活跃度(326/年)远高于同量级的 Budget Board(22/年),且安全响应速度快:v1.11.1 与 v1.11.2 两个修复版均在 2026-10-23 同日发布(修复 CVE-2026-61635 SQL 注入与 CVE-2026-61636 ReDoS,见官方 Releases 页与 GHSA-ch28-32c3-4h4q、GHSA-vjxw-f3mc-4m3g 公告)。
2.2 版本演进与发布节奏
按 Docker Hub 各版本标签的 last_updated 时间(2026-10-24 实查)整理:
| 版本 | 发布时间 | 关键变化(来源:GitHub Releases 页) |
|---|---|---|
| 1.8 | 2024-03-16 | 迁移到 .NET 8;监听端口从 80 改为 8080;首个 Web API 独立服务;恢复 ARM64 构建;新增 APPSETTINGS_DEMO_DATA 演示数据 |
| 1.8.3 | 2024-05-20 | 放弃 SQLite 支持(破坏性变更) |
| 1.9 | 2025-01-04 | API 1.1 版本、新增 /withoutSystemBuckets 端点;清理 SQLite 残留代码 |
| 1.10 | 2025-04-30 | UI 迁移到 MudBlazor;强制要求 Redis;许可证 MIT→AGPL-3.0;API 文档 Swagger→Scalar(/api 端点);支持 .env 文件 |
| 1.11 | 2025-12-17 | Web 应用认证功能;Transfer 转账交易对话框;Bucket/Bucket Group 新图表 |
| 1.11.1 / 1.11.2 | 2026-10-23 | 修复 CVE-2026-61636(ReDoS)、CVE-2026-61635(SQL 注入);1.11.2 为新发布流程的过渡版本 |
关键解读:平均约 1 个大版本/年、补丁跟进及时;但跨大版本存在破坏性变更(端口、SQLite 弃用、Redis 强依赖、许可证切换),升级前必须读 Releases 页的 Breaking Changes。
三、核心架构
OpenBudgeteer 采用 .NET 技术栈与典型的 Blazor Server 单体架构,按官方 README 与文档站 Info 页(第三方依赖清单)整理:
- 前端:Blazor Server(v1.10 起基于 MudBlazor 组件库)。Blazor Server 意味着 UI 交互经 SignalR 长连接由服务端处理,浏览器端不运行业务逻辑;
- 核心逻辑:.NET(当前构建目标 net9.0,官方 Install 页"Build and deploy"章节要求 .NET SDK 9)+ MVVM 模式组织;
- 数据访问:Entity Framework Core,数据库提供方支持 MariaDB/MySQL(Pomelo.EntityFrameworkCore.MySql)与 PostgreSQL(efcore.pg);
- Redis:v1.10 起为强制依赖,用于存储 UI 设置类数据(如配色主题),支持 Redis ACL(用户名/密码/键前缀变量);
- API 服务:以独立服务形态提供(
axelander/openbudgeteer-api),与 Web 前端共享同一数据库,OpenAPI 3.0 文档经 Scalar 渲染(/api端点); - 导入解析:TinyCsvParser(CSV 银行流水导入)+ Rule Set(规则集)自动归类。
部署形态上,官方唯一推荐的生产部署方式是 Docker / Docker Compose(官方 Quick Start 全文即一份 Compose 文件);文档另提供"Build and deploy"源码编译路径(dotnet publish + nginx 反代),但没有发行版软件包,也没有官方裸机二进制发布件。数据库与 Redis 均为外部服务,应用本身无状态,首次启动自动建表并执行后续自动迁移(官方 Config 页:"the required tables and initial data will be created on first startup. Database schema changes after an update will be also applied automatically")。
四、功能特性
按官方文档站与 Releases 页归纳(均为产品既有能力描述,非实测结论):
- Bucket(桶)管理:桶分组(Bucket Group)、桶版本化(Bucket Version,支持
Expense every X Months、Save X until Y date等类型参数)、桶配色与文字色、统计隐藏开关(isHiddenFromSummaries); - 交易管理:银行流水导入(CSV 向导式映射 + Import Profile 保存)、Mapping Rule / Rule Set 自动归类 Payee 与桶、Transfer 转账、批量删除、编辑模式(v1.10 起仅 Display/Edit 两态);
- 预算执行:按月分配预算(Bucket Movement)、负余额结转(v1.11 修复:
Distribute Budget clears also now negative Bucket Balances); - 报表:Report 页多 Tab 图表(Blazor-ApexCharts,v1.9 迁移),覆盖桶与桶组(v1.11 新增);
- 数据一致性检查:Data Consistency 页自动发现负数交易进收入桶等异常;
- 本地化:
APPSETTINGS_CULTURE控制货币/日期/数字格式(BCP 47 语言标签); - 认证:v1.11 起内置 Web 应用认证(官方 Releases:"Add Authentication for Web App");
- 演示数据:
APPSETTINGS_DEMO_DATA=true一键灌入示例数据集; - 系统桶:内置 Income 与 Transfer 两个系统桶(固定 GUID
00000000-0000-0000-0000-000000000001/2),构成预算闭环。
明确没有的能力(避免选型误判):没有移动端客户端、没有银行账户自动同步(仅 CSV 导入)、没有多账本/多用户体系(单账本)、没有原生报表导出为 Excel 之类的办公格式(依赖浏览器打印)。
五、快速开始(最小可用示例)
以下为官方 Quick Start 页原文推荐的 Compose 配置(来源:https://theaxelander.github.io/latest/quick-start/,查询日期 2026-10-24),使用 MariaDB + Redis 最小组合:
services:
openbudgeteer:
image: axelander/openbudgeteer:latest
container_name: openbudgeteer
ports:
- 8080:8080
environment:
- CONNECTION_PROVIDER=mariadb
- CONNECTION_SERVER=openbudgeteer-mariadb
- CONNECTION_PORT=3306
- CONNECTION_DATABASE=openbudgeteer
- CONNECTION_USER=openbudgeteer
- CONNECTION_PASSWORD=openbudgeteer
- CONNECTION_ROOT_PASSWORD=myRootPassword # only required for initial DB creation
- CONNECTION_REDIS_SERVER=openbudgeteer-redis
- APPSETTINGS_CULTURE=en-US
- APPSETTINGS_DEMO_DATA=true # optional if you want to start with some example data
depends_on:
- mariadb
- redis
mariadb:
image: mariadb
container_name: openbudgeteer-mariadb
environment:
MYSQL_ROOT_PASSWORD: myRootPassword
volumes:
- db-data:/var/lib/mysql
redis:
image: redis
container_name: openbudgeteer-redis
volumes:
- redis-data:/data
volumes:
db-data:
redis-data:
启动后在浏览器访问 http://<服务器IP>:8080 即可进入 Web 界面。环境变量逐项含义、PostgreSQL 变体、Redis ACL 等细节见《OpenBudgeteer Docker Compose 部署指南》与《OpenBudgeteer 1.11.2 配置参数详解》。
六、适用场景与限制
适合:
- 已有 YNAB/Buckets 使用经验或认可信封预算法,希望把预算数据放在自己服务器上的个人/家庭用户;
- 只需要「导入银行 CSV → 规则自动归类 → 按月分配预算 → 看图表」这条主线的轻量用户;
- 已有 MariaDB/PostgreSQL 实例、希望复用现有数据库基础设施的家庭服务器/NAS 环境;
- 需要程序化读写预算数据的用户——独立 REST API 服务提供 OpenAPI 3.0 接口(详见《OpenBudgeteer 1.11.2 API 使用详解》)。
不适合 / 限制:
- 需要银行账户自动拉取流水(无集成,仅文件导入);
- 需要多人多账本协作(单账本定位,v1.11 认证也只解决访问控制);
- 不能接受 AGPL-3.0 许可证约束的二次分发场景;
- SQLite/嵌入式部署(v1.8.3 起明确移除,必须有独立数据库与 Redis)。
七、同类选型对比
7.1 量化对比总表
数据来源:shields.io 徽章(星数、许可证、年提交量、最新版本)与 Awesome-Selfhosted 清单,全部于 2026-10-24 查询;预算方法论归类依据各自官方文档。
| 维度 | OpenBudgeteer | Firefly III | Actual | Budget Board |
|---|---|---|---|---|
| GitHub Stars | 970 | 25k | 30k | 890 |
| 最新版本 | 1.11.2(2026-10-23) | v6.7.9 | v26.10.0 | v3.8.2 |
| 许可证 | AGPL-3.0 | AGPL-3.0 | MIT | GPL-3.0 |
| 年提交量 | 326 | 3k | 1.5k | 22 |
| 预算方法论 | 桶/信封预算 | 复式记账 + 预算 | 信封/零和预算 | 简单月度预算 |
| 技术栈 | .NET / Blazor Server | PHP / Laravel | Node.js / React | Docker 部署的 Web 应用 |
| 数据库 | MariaDB/MySQL、PostgreSQL(+Redis 强制) | MySQL/MariaDB、PostgreSQL、SQLite | SQLite(local-first 文件型) | 内置 |
| 部署形态 | Docker(官方推荐 Compose)、源码编译 | Docker、裸机 PHP、Debian/Fedora 软件包 | Docker、Node 直跑、桌面端 | Docker |
| 移动端 | 无 | 无(第三方 App 经 API) | 有(桌面/移动同步) | 无 |
| 银行流水导入 | CSV + 规则引擎 | CSV/OFX/QIF + 规则 + 数据导入器(Nordigen 等) | QIF/OFX/QFX + 附加服务 | 手动 |
7.2 版本节奏与兼容矩阵解读
- 版本节奏:Actual 采用 CalVer(v26.10.0 即 2026 年 10 月版),发布最频繁;Firefly III 3k commits/年、大版本演进到 v6.x,社区体量最大;OpenBudgeteer 约 1 个 minor/年但补丁响应快(两个 CVE 修复同日发布);Budget Board 年提交仅 22 次,活跃度最低。
- 兼容矩阵关键差异:OpenBudgeteer 与 Firefly III 都要求外部数据库(前者多了强制 Redis),Actual 则是 local-first(SQLite 文件 + 同步服务器),对服务器运维要求最低;若目标环境已有 MariaDB/PostgreSQL 且愿意多跑一个 Redis,OpenBudgeteer 的依赖链并不构成额外负担。
- 方法论对齐:OpenBudgeteer 与 Actual 同属信封预算流派(可平滑迁移使用习惯),Firefly III 的复式记账更适合需要资产负债全貌的用户;Budget Board 偏轻量但没有规则引擎与 API。
7.3 站内同类组件延伸阅读
- 《IHateMoney 7.2.1 介绍与选型指南》:共享记账/分摊场景的轻量方案,适合合租与团购分摊,与 OpenBudgeteer 的个人预算定位互补;
- 《MyFin Budget 介绍与选型指南》:Web + REST API + Android 三端个人预算平台,同样走自托管路线,可与本文对比 API 能力与端侧覆盖。
7.4 选型建议
- 要信封预算 + 自托管 + 可编程 API → 选 OpenBudgeteer:独立 REST API 服务 + OpenAPI 3.0 是同体量项目里少见的完整能力;
- 要复式记账、资产负债全貌、最大社区生态 → 选 Firefly III(25k 星、3k commits/年);
- 要 local-first、最低运维、桌面/移动同步 → 选 Actual(MIT 许可也更宽松);
- 只要最简单的月度预算记录 → Budget Board 或直接用表格;
- 要共享分摊记账 → 站内《IHateMoney 7.2.1 介绍与选型指南》所覆盖的 IHateMoney。
八、参考链接
- GitHub 仓库:https://github.com/TheAxelander/OpenBudgeteer
- 官方文档站:https://theaxelander.github.io/(Quick Start / Install / Configuration / API)
- Releases 页(版本与 CVE 记录):https://github.com/TheAxelander/OpenBudgeteer/releases
- 安全公告:GHSA-ch28-32c3-4h4q(ReDoS)、GHSA-vjxw-f3mc-4m3g(SQL 注入)
- Docker Hub:https://hub.docker.com/r/axelander/openbudgeteer
- Awesome-Selfhosted(Money, Budgeting & Management 分区):https://github.com/awesome-selfhosted/awesome-selfhosted
- 量化数据徽章来源:shields.io(
github/stars、github/v/release、github/license、commit-activity/y、docker/pulls),查询日期 2026-10-24 - 站内延伸:《OpenBudgeteer Docker Compose 部署指南》、《OpenBudgeteer 1.11.2 配置参数详解》、《OpenBudgeteer 1.11.2 API 使用详解》