开源免费好用的个人财务/记账应用,Docker一键部署ezBookkeeping

本期来介绍一款 记账/个人财务 应用工具:ezBookkeeping。适合个人使用,简洁、强大且便携,小微设备或云服务器都能轻松运行。

笔者体验下来PC和移动端用着都很舒服,项目非常棒,特做推荐!!!

应用介绍

ezBookkeeping 是一款轻量级、自托管的个人财务应用,拥有简洁易用的界面和强大的记账功能。它以简洁易用和可移植性为设计理念,易于部署、易于使用,并且占用的系统资源极少,非常适合微服务器、NAS 设备,甚至 Raspberry Pi,也能在 PC、Mac 甚至云服务器上流畅运行。

该应用程序完全跨平台且设备友好:可以在移动设备、平板电脑和桌面设备上无缝使用它。由于支持 PWA(渐进式 Web 应用程序),甚至可以将其添加到移动主屏幕,并像原生应用程序一样使用它。

功能特点

1. 开源 & 自托管

代码开放,部署在自己的服务器,隐私和数据完全掌握在自己手中。

适合重视数据安全、拒绝云端锁定的用户。

2. 轻量 & 高性能

针对低资源环境优化,树莓派、NAS、旧笔记本都能流畅运行。

即使是多账本、大量交易记录,也能保持响应快速。

3. 简单部署

官方提供 Docker 镜像,几行命令即可启动。

支持 SQLite(零配置)、MySQL、PostgreSQL 等多种数据库。

跨平台支持 Windows、macOS、Linux,兼容 x86、amd64、ARM 架构。

4. 跨平台 & PWA 支持

UI 适配桌面与移动端。

支持 PWA(Progressive Web App),可直接添加到手机主屏幕,像原生 App 一样使用。

内置暗黑模式,夜间看账也护眼。

5. AI 能力

支持 MCP(Model Context Protocol),可集成 AI 功能进行智能分析、自动分类或生成财务洞察。

6. 强大的记账功能

两级账户与分类体系,更精准管理收支。

可为交易附加图片(如收据、发票)。

支持位置记录,自动在地图上显示消费地点。

定期交易(如房租、水电费)可自动生成。

高级搜索、过滤、数据可视化和分析工具,帮助你发现消费习惯。

7. 国际化支持

多语言、多货币支持。

自动更新汇率。

支持多时区显示与自定义日期、数字、货币格式。

8. 安全保障

支持双重认证(2FA)。

登录尝试次数限制,防暴力破解。

应用锁(PIN 码 / WebAuthn)防止未授权访问。

9. 数据导入/导出

支持导入/导出多种格式:

CSV、OFX、QFX、QIF、IIF、Camt.053、MT940、GnuCash、Firefly III、Beancount 、随手记、支付宝以及微信账单 等多种格式等。方便从旧系统迁移,或与其他财务软件对接。

如何部署

我们以威联通NAS为例,通过Docker Compose的方式进行部署。

ezBookkeeping 容器默认 UID:GID = 1000:1000,必须确保挂载到容器的宿主机目录拥有读写权限,请提前赋权。如果你部署失败,则极大概率会是这个原因。

chown -R 1000:1000 /share/Container/ezbookkeeping/data

chown -R 1000:1000 /share/Container/ezbookkeeping/storage

chown -R 1000:1000 /share/Container/ezbookkeeping/log

✅ SQLite 版本

可能对于大多数人来说,这个版本已经完全足够。

部署代码如下,威联通用户可直接抄作业,注意格式对齐,可用AI辅助:

services:

   ezbookkeeping:

      image: mayswind/ezbookkeeping:latest

      container_name: ezbookkeeping

      hostname: ezbookkeeping

      restart: unless-stopped

      ports:

         - "9527:8080" # 冒号左侧端口可改

      environment:

         EBK_SERVER_DOMAIN: 192.168.200.132 # 或你 NAS 的域名

         EBK_ROOT_URL: http://192.168.200.132:9527 # 包括端口

         EBK_LOG_MODE: file

         EBK_SECURITY_SECRET_KEY: its_should_be_a_random_string # 改成随机密钥

         EBK_MCP_ENABLE_MCP: true # AI服务

      volumes:

         - /etc/localtime:/etc/localtime:ro # 同步宿主机时间

         - /share/Container/ezbookkeeping/data:/ezbookkeeping/data # SQLite 数据库存放位置(NAS持久化目录)

         - /share/Container/ezbookkeeping/storage:/ezbookkeeping/storage # 文件存储目录(附件、导出文件等)

         - /share/Container/ezbookkeeping/log:/ezbookkeeping/log # 日志目录

随机密钥可通过以下命令生成:

openssl rand -hex 32

✅ mysql 版本

若你已经部署mysql,或后续有共用数据库的打算,以及清楚自己在做什么,可以使用该版本。如果你对mysql并无了解,建议部署SQLite 版本。

这部分内容过长,黑盒不支持代码注入,头大请移步到我的博客看吧

注意

更多的配置,可以参考下图,官方wiki十分详细,包括邮件服务、通知配置、对象存储、汇率等都可进行配置。

初始化及功能展示

选用SQLite对应代码进行部署后,浏览器中输入 NAS_IP:9527 即可访问服务。

需要我们新建一个账户。

第二步的预设分类我们可以选择启用,然后提交即可。可能出现提交无法通过,但事实已经注册成功,反回去登陆就行。不过为了后续稳定,建议删除全部配置文件重新创建。

界面展示如下,清晰明了,蛮符合我个人口味。大家觉得如何?

点击头像可进行各种设置。

密码和设备管理,在这里可生成MCP令牌供AI对话调用。

支持两步验证,资安相关的确实有必要整一个。

数据管理,支持手动导出数据。

应用设置中可以配置展示界面、添加应用锁(六位PIN码)、资金统计显示以及数据同步(移动/PC分离)。

简单使用

左侧栏的「账户」,新增一个。可自行添加标签,也可上传图片凭据。

开始记账,可自行添加标签,也可上传图片凭据。

可以看到添加成功。

主界面显示如下图所示,很丝滑。如果大家不满足于基础的交易分类、模版等,在左侧的基础数据手动添加/删除即可。

MCP服务

来尝试下MCP服务,生成令牌。这个配置建议保存,一次性显示,否则就要重新创建一个。

配置填写如下图所示,url中间部份可填写域名或IP,能正确访问到你的服务即可。

可以看到已经添加成功了,但是查看API功能接口,感觉跟官方给的wiki介绍有差距。

实际指令测试却并不能成功,检查了网络(全程局域网)、数据库文件,最终未果~大家或许可以试试mysql会不会有同样问题。

关于MCP也有相关的功能介绍界面,感兴趣的朋友可以琢磨。

最后

我认为这个项目非常优秀,PC端和移动端的使用很满意。

项目较新,大家有啥建议可以到项目地址提交issues~

感谢观看,本文完。

更多游戏资讯请关注:电玩帮游戏资讯专区

电玩帮图文攻略 www.vgover.com