轻量又安全!一款开源自托管的个人记账工具!
大家好,我是 Java陈序员。你是否会有这样的困扰:手里存款越来越多,反而成了甜蜜的负担?
看着银行卡里不断上涨的数字,却总说不清每笔钱的来龙去脉;想给资金做个分类管理,却被各种理财 APP 的复杂界面劝退;更担心把财务数据存在第三方平台,哪天就成了“透明人”~
今天,给大家介绍一款开源自托管的个人记账工具,轻量又安全!
关注微信公众号:【Java陈序员】,获取开源项目分享、AI副业分享、超200本经典计算机电子书籍等。
项目介绍
ezBookkeeping —— 一款轻量、自托管的个人记账应用,基于 Go + Vue 构建,拥有用户友好的界面和强大的记账功能。
ezBookkeeping 部署简单,借助 Docker 只需一行命令即可启动。同时对系统资源占用低、可扩展性高,既可运行在树莓派等轻量设备上,也能扩展到 NAS、MicroServer 甚至集群环境。
功能特色:
[*]强大的记账功能:支持二级账户与分类结构,支持为交易添加图片附件、交易地理位置,支持周期性交易,提供高级筛选、搜索功能
[*]开源自托管:专为隐私与数据自主而设计,所有财务数据存储在个人设备,无需依赖第三方平台,隐私安全完全由自己掌控
[*]极简部署与跨平台:主打轻量,在资源有限的设备上也运行流畅,支持 Docker 部署,支持跨平台使用和多种数据库
[*]友好的用户界面:UI 同时支持 Web 端和移动端,支持多语言、多币种、深色模式
[*]数据分析与可视化:提供收支趋势图、分类占比饼图等多种可视化图表,支持按账户、分类、时间范围等灵活筛选统计维度,支持 CSV、TSV 等格式导入导出
快速上手
二进制包部署
1、下载并解压安装包
下载地址:https://github.com/mayswind/ezbookkeeping/releases2、执行如下命令启动服务
./ezbookkeeping server run执行完该命令后,ezBookkeeping将会以默认的配置启动,并监听端口 8080.
如果想修改配置,可以使用 --conf-path 参数指定自定义配置文件路径或直接修改 conf/config.ini 文件。
3、运行成功后,浏览器访问
http://{ip/域名}:8080Docker 部署
[*]Docker 命令部署
1、拉取镜像
docker pull mayswind/ezbookkeeping2、创建挂载目录并修改权限
## 数据库存储挂载目录
mkdir -p /data/software/ezbookkeeping/data
chown 1000:1000 /data/software/ezbookkeeping/data
## 对象存储挂载目录
mkdir -p /data/software/ezbookkeeping/storage
chown 1000:1000 /data/software/ezbookkeeping/storage3、运行容器
docker run -d -p 8080:8080 \
--name ezbookkeeping \
-v /var/lib/ezbookkeeping/data:/ezbookkeeping/data \
-v /var/lib/ezbookkeeping/storage:/ezbookkeeping/storage \
mayswind/ezbookkeeping4、容器运行成功后,浏览器访问
http://{ip/域名}:8080
[*]Docker Compose 部署
1、创建 docker-compose.yaml 文件并写入如下内容:
version: "2"
services:
ezbookkeeping:
image: mayswind/ezbookkeeping
container_name: ezbookkeeping
hostname: "ezbookkeeping"
ports:
- "8080:8080"
environment:
- "EBK_SERVER_DOMAIN=ezbookkeeping.yourdomain"
- "EBK_SERVER_ENABLE_GZIP=true"
- "EBK_DATABASE_TYPE=mysql"
- "EBK_DATABASE_HOST=mysql:3306"
- "EBK_DATABASE_NAME=ezbookkeeping"
- "EBK_DATABASE_USER=ezbookkeeping"
- "EBK_DATABASE_PASSWD=ezbookkeeping"
- "EBK_LOG_MODE=file"
- "EBK_SECURITY_SECRET_KEY=its_should_be_a_random_string"
volumes:
- "/etc/localtime:/etc/localtime:ro"
- "/var/lib/ezbookkeeping/storage:/ezbookkeeping/storage" # 请确保 UID:GID 是 1000:1000
- "/var/log/ezbookkeeping:/ezbookkeeping/log" # 请确保 UID:GID 是 1000:1000使用 MySQL 作为数据库,数据库的连接信息需要进行修改,文件挂载目录记得创建和授权。
2、一键启动
docker compose up -d更多的安装配置信息,可参考官方文档:
http://ezbookkeeping.mayswind.net/zh_Hans/installation初始化配置
1、首次访问 ezBookkeeping 需要注册用户信息
2、点击创建新账号,填入用户基本信息并设置默认币种
3、使用预设交易分类,后续可直接使用,无需再手动创建
4、最后提交保存并登录到首页,即可开始使用
功能体验
PC 端
[*]总览
[*]交易详情
[*]统计分析
[*]账户
[*]交易分类
[*]用户设置
移动端
可以说,无论是日常记账、消费分析,还是多币种管理,ezBookkeeping 都能胜任工作。更重要的是,所有财务数据存储在个人设备,无需依赖第三方平台,隐私安全完全由自己掌控。快去部署体验吧~
项目地址:https://github.com/mayswind/ezbookkeeping最后
推荐的开源项目已经收录到 GitHub 项目,欢迎 Star:
https://github.com/chenyl8848/great-open-source-project或者访问网站,进行在线浏览:
https://chencoding.top:8090/#/
我创建了一个开源项目交流群,方便大家在群里交流、讨论开源项目。
但是任何人在群里打任何广告,都会被 T 掉。
如果你对这个交流群感兴趣或者在使用开源项目中遇到问题,可以通过如下方式进群:
关注微信公众号:【Java陈序员】,回复【开源项目交流群】进群,或者通过公众号下方的菜单添加个人微信,并备注【开源项目交流群】,通过后拉你进群。
大家的点赞、收藏和评论都是对作者的支持,如文章对你有帮助还请点赞转发支持下,谢谢!
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页:
[1]