告别数字麻木,重拾消费感知:ezBookkeeping —— 您的轻量自托管记账伴侣

在数字时代,消费与支付因网购而变得无比便捷,金钱也随之渐渐抽象为屏幕上冰冷的数字,失去了曾经真实可握的温度。过去用现金交易时,每一张纸币的递出都伴随着复杂的心绪------或许是计划,是犹豫,抑或是不舍。那种实实在在的"付出感",无形中让人更懂衡量、更知节制。

如今,手机一扫、一键即付,消费变得轻而易举,人与金钱之间的情感联结却日益稀薄。支付动作的简化,也在不知不觉间削弱了我们对支出的敏感。就像从前用现金吃饭,人们会下意识地根据钱包里的余额约束开销;而数字支付让人难以感知"失去",更容易在无声无息中越过原本的界限。

于是我不禁思考:既然我们享受着快捷支付的便利,是否也能找到一种方式,让消费重新变得可感知?我曾尝试手动记账,但不仅难以统计,账本也容易丢失;又试过一些记账软件,可它们往往太过"便捷",依然无法帮我找回那份对消费的真实感知。直到最近在 GitHub 上发现了一个开源项目------它恰好满足了我所有这些期待。今天,就想把它介绍给大家。

ezbookkeeping-192.png

什么是ezBookkeeping?

ezBookkeeping 是一款轻量、自托管 (self-hosted) 的个人记账应用,拥有用户友好的界面和强大的记账功能。它部署简单,借助 Docker 只需一行命令即可启动。同时对系统资源占用低、可扩展性高,既可运行在树莓派等轻量设备上,也能扩展到 NAS、MicroServer 甚至集群环境。

ezBookkeeping 为移动端和桌面端提供了各自原生的界面设计。借助 PWA (渐进式网页应用) 技术,您还可以将它 添加到手机主屏幕,像原生 App 一样使用。

github 地址: github.com/mayswind/ez...

文档地址: ezbookkeeping.mayswind.net/zh_Hans

在线演示:ezbookkeeping-demo.mayswind.net

该项目在github已有3.2k star

_20251206_054722.png

Docker私有化部署

我使用的是docker-compose 进行私有化部署的,步骤如下:

  • 创建docker-compose.yml 文件

在我们的服务器上创建部署目录ezbookkeeping,在此目录下创建 docker-compose.yml 文件,内容如下:

bash 复制代码
services:
  ezbookkeeping:
    image: mayswind/ezbookkeeping:latest
    container_name: ezbookkeeping
    hostname: "ezbookkeeping"
    ports:
      - "7080:8080"
    # 默认数据库类型是 sqlite3,若使用默认数据库,注释掉以下环境变量
    environment:
      - "EBK_SERVER_ENABLE_GZIP=true"
      - "EBK_DATABASE_TYPE=mysql"
      - "EBK_DATABASE_HOST=192.168.31.195:3306"
      - "EBK_DATABASE_NAME=ezbookkeeping"
      - "EBK_DATABASE_USER=root"
      - "EBK_DATABASE_PASSWD=xj123456"
      - "EBK_LOG_MODE=file"
      - "EBK_SECURITY_SECRET_KEY=its_should_be_a_random_string"
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - ./storage:/ezbookkeeping/storage # 请确保 UID:GID 是 1000:1000
      - ./log:/ezbookkeeping/log # 请确保 UID:GID 是 1000:1000
        #      - ./ezbookkeeping.ini:/ezbookkeeping/conf/ezbookkeeping.ini
        #      - ./data:/ezbookkeeping/data # 默认使用sqlite3数据库挂载目录

ezbookkeeping 默认数据库类型是 sqlite3,数据库文件存储在容器中的 /ezbookkeeping/data/ezbookkeeping.db,若使用默认数据库,并持久化保存这些数据,你需要使用 Docker 持久化数据卷或挂载宿主机的路径到容器内。

若想使用mysql或PostgreSQL,则需现在对应的数据库中创建好数据库,在环境变量中配置好相应的环境变量即可,我此处使用的是mysql数据库。

  • 启动服务

在docker-compose.yml的同级目录下使用以下命令启动服务

复制代码
docker-compose up -d 

启动之后汇报权限错误的日志,需要给挂载目录修改权限

给挂载目录授权

bash 复制代码
sudo chmod -R 777 storage log

重启服务

复制代码
docker-compose restart

到此,我们服务就部署好了

使用

  • 注册

在浏览器中打开服务地址,首次的话我们先需要注册用户

_20251206_063538.png

_20251206_063650.png

注册的时候我们可以预设分类

  • 创建账户、分类

我们需要先创建好账户,根据自己记录的维度创建好消费及收入分类

_20251206_064953.png

  • 添加交易、常看统计

然后我们可以记录我们的每一笔消费、收入了

_20251206_065454.png

_20251206_065547.png

  • 移动端使用

在手机浏览器中打开网址http://ip:port/ 或者扫码,使用用户名登录之后就可以在手机端使用了,如果不想每次进浏览器,可以在浏览器中将页面发送到手机桌面。

_20251206_070326.png

结语

在众多个人财务应用中,ezBookkeeping以其开源特性、隐私保护、轻量高效和易部署的优势脱颖而出。无论你是技术爱好者想在树莓派上搭建服务,还是普通用户想在NAS上自建财务系统,ezBookkeeping都是一个值得尝试的优秀选择。

它的设计哲学很明确:给用户完全的控制权,同时提供专业级的记账体验。在这个数据隐私日益重要的时代,这样的应用显得尤为珍贵。

如果你正在寻找一个可靠、私密、功能全面的记账解决方案,不妨试试ezBookkeeping。只需几分钟的部署时间,你就能拥有一个完全属于自己的专业财务管理系统。

相关推荐
NocoBase10 小时前
GitHub Star 数量前 5 的开源 AI 内部工具
低代码·开源·资讯
刘一说10 小时前
Nacos 权限控制详解:从开源版 v2.2+ 到企业级安全实践
spring boot·安全·spring cloud·微服务·nacos·架构·开源
亮子AI15 小时前
比较两个开源库:Lucide vs Remixicon
开源
CoderJia程序员甲17 小时前
GitHub 热榜项目 - 日榜(2025-12-4)
ai·开源·大模型·github·ai教程
Ttang2317 小时前
【AI学习1】了解开源大模型
人工智能·学习·开源
Tao____17 小时前
适合中小型项目的物联网平台
java·物联网·mqtt·开源·iot
paopao_wu17 小时前
阿里通义实验室开源Z-Image:6B参数的AI图像生成
人工智能·ai·开源
白衣鸽子18 小时前
JsonUtils:打造企业级的序列化与反序列化瑞士军刀
后端·开源