告别数字麻木,重拾消费感知: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。只需几分钟的部署时间,你就能拥有一个完全属于自己的专业财务管理系统。

相关推荐
残 风20 小时前
pg兼容mysql框架之语法解析层(openHalo开源项目解析)
数据库·mysql·开源
一棵开花的树,枝芽无限靠近你20 小时前
【face-api.js】1️⃣基于Tensorflow.js的人脸识别项目开源项目
javascript·开源·tensorflow·face-api.js
百***074521 小时前
MiMo-V2-Flash深度拆解:国产开源大模型的技术突破与落地实践
开源
百***78751 天前
小米MiMo-V2-Flash深度解析:国产开源大模型标杆与海外AI接入方案
人工智能·开源
lakernote1 天前
EasyPostman:开源免费的 Postman 替代方案,完美支持国产化操作系统
开源·lua·postman
skywalk81631 天前
Synapse - 基于结构化冲突的智能思想碰撞小程序
开源·agent
美洽技术1 天前
开源vs商业客服系统:5大隐性成本对比
开源
子榆.1 天前
Flutter 与开源鸿蒙(OpenHarmony)分布式能力实战:基于软总线实现跨设备协同
flutter·开源·harmonyos
2501_906150561 天前
开源问卷系统DWSurvey部署过程
开源