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

简介: 在数字支付时代,金钱变得抽象,ezBookkeeping 让消费重新可感。这款开源、自托管的轻量记账工具,支持 Docker 部署,兼顾隐私与易用,助你找回对支出的真实掌控,适合树莓派到 NAS 各类设备。

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

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

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

ezbookkeeping-192.png

什么是ezBookkeeping?

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

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

github 地址: https://github.com/mayswind/ezbookkeeping

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

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

该项目在github已有3.2k star

_20251206_054722.png

Docker私有化部署

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

  • 创建docker-compose.yml 文件

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

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

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

给挂载目录授权

sudo chmod -R 777 storage log

重启服务

docker-compose restart

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

使用

  • 注册

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

_20251206_063538.png

_20251206_063650.png

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

  • 创建账户、分类

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

_20251206_064953.png

  • 添加交易、常看统计

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

_20251206_065454.png

_20251206_065547.png

  • 移动端使用

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

_20251206_070326.png

结语

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

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

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

目录
相关文章
|
测试技术 网络安全 数据安全/隐私保护
【Docker项目实战】使用Docker部署Mininote轻量级笔记工具
【4月更文挑战第7天】使用Docker部署Mininote轻量级笔记工具
842 2
|
Cloud Native 关系型数据库 数据库
云原生之使用Docker部署Mariadb数据库
云原生之使用Docker部署Mariadb数据库
1106 1
云原生之使用Docker部署Mariadb数据库
|
人工智能 自然语言处理 数据可视化
实践教程|如何创建一个WhatsApp AI Chatbot
无需代码!使用阿里云百炼 + Chat App 消息服务,10 分钟创建 WhatsApp AI 聊天机器人,支持企业知识库问答
684 0
|
11月前
|
文字识别 网络协议 开发工具
GitHub封锁?推荐5个国产的Git仓库替代平台
近日,GitHub对中国区IP的部分限制引发了广泛关注。未登录用户被拒,已登录用户功能受限,南北网络环境差异更显“内卷”。为应对这一挑战,本文推荐了多个国产Git平台:Gitee(码云)、GitCode(CSDN旗下)、CODING(腾讯系)、CodeUP(阿里云支持)及微信代码管理工具。这些平台功能全面、稳定性强,是开发者迁移项目的理想选择。通过同步代码、配置CI/CD流水线等简单步骤,可确保项目平稳过渡。此次事件提醒我们,掌握核心技能与支持国产平台同样重要!
10599 11
|
人工智能 Cloud Native API
Higress 重磅更新:AI 能力全面开源,云原生能力再升级
Higress 最新的 1.4 版本基于为通义千问,以及多家云上 AGI 厂商客户提供 AI 网关的积累沉淀,开源了大量 AI 原生的网关能力。同时也在 Ingress、可观测、流控等云原生能力上做了全方位升级。
22393 360
|
人工智能 关系型数据库 文件存储
DIY nas 之--照片管理工具PhotoPrism
PhotoPrism是一个开源的照片管理工具,是一款由AI驱动的应用程序,主要用于浏览、组织和分享您的照片集。
1063 3
|
算法 网络协议 数据挖掘
阿里云通用算力型U1实例性能、适用场景、与经济型e区别、收费标准参考
在阿里云目前的活动中,通用算力型u1实例是一款价格相对较低且性价比较高的实例规格,通用算力型Universal实例(U实例)能提供均衡的计算、内存和网络资源,支持多种处理器和多种处理器内存配比。该类型实例依托阿里云资源池化技术和智能调度算法进行动态资源管理,为您的应用提供持续的算力保障、稳定性保障、供应及弹性保障,可以满足大多数场景下的应用需求,是一款具有高性价比的企业级实例。本文为大家介绍通用算力型U1实例的性能、适用场景、收费标准,以及和经济型e实例的区别,以供参考。
|
负载均衡 Docker 容器
docker中的 网络隔离
【10月更文挑战第5天】
372 3
|
网络协议 应用服务中间件 nginx
私有的docker私有镜像站仓库harbor
私有的docker私有镜像站仓库harbor
|
存储 JavaScript API
Vue状态管理深度剖析:Vuex vs Pinia —— 从原理到实践的全面对比
Vue状态管理深度剖析:Vuex vs Pinia —— 从原理到实践的全面对比
1319 2