一款支持 Docker 一键部署的私人记账工具 CashBook ,采用前后台分离架构与 PostgreSQL 数据库存储数据,支持小票图片归档、超管后台管理及前台用户自主注册功能,可通过本地数据卷挂载实现数据自持,无需依赖第三方云服务,能充分保障记账数据的隐私性与安全性,是个人或家庭日常私密记账的轻量化选择。

刘郎阁
刘郎阁

内存占用:60 MB
镜像大小:770 MB

使用感受:7.9 分

1.一款功能丰富且强悍的私人或家庭记账程序
2.商用或其他使用不受约束
3.建议使用者每年创建一个账本,图表功能可以起到分析全年数据的效果
4.在数据记录上追求简单、易用、自主可控
5.在统计分析上力求清晰、美观、简洁有效
6.前台后台分离,独立后台方便对系统进行管理
7.前台注册功能
8.明暗主题
9.支持 支付宝CSV 账单文件导入
10.支持 微信CSV 账单文件导入
11.支持 京东金融CSV 账单文件导入
12.三方数据导入时,消费类型自动转换(可以自行配置转换结果)
13.直观的消费日历看板
14.月度账单分析
15.美观的数据分析图表,包括支出类型统计饼图;支付方式统计饼图;每日流水统计曲线图;每月流水统计柱状图;流水归属统计饼图;
16.多用户模式,用户之间数据隔离
17.多账本模式,账本之间数据独立
18.该项目运行成功后会自动生成2个容器

services:
  main:
    container_name: cashbook4
    depends_on: 
      - "db"
    image: dingdangdog/cashbook:latest
    restart: always
    volumes:
      - ./data:/app/data
    environment:
      DATABASE_URL: "postgresql://postgres:postgres@cashbook_db:5432/cashbook?schema=public"
      NUXT_AUTH_SECRET: "auth_secret" # 前台加密密钥,不能是纯数字,可自定义更改
      NUXT_ADMIN_USERNAME: "admin" # 默认的后台登录用户名,可自定义更改
      NUXT_ADMIN_PASSWORD: "adf9c44f50630cce61860025d9ec8095acfe39821de002f094ef22c76b480123" 
      # 替换为生成的加密密码(生成地址:https://服务器IP地址:8885/admin/GetPassword)
    ports:
      - 8885:9090
  db:
    container_name: cashbook_db
    image: postgres:17.4-alpine3.21
    restart: always
    shm_size: 128mb
    volumes:
      - ./db:/var/lib/postgresql/data 
    environment:
      POSTGRES_PASSWORD: postgres # 数据库密码,可自定义更改
      POSTGRES_DB: cashbook
    ports:
      - 8886:5432

注意

1.该项目在部署时先运行以上代码
2.部署成功之后,按以下方式打开链接替换自己的“ 后台加密密码 ”,并替换到以上代码中对应的位置:

https://服务器IP地址:8885/admin/GetPassword

生成加密密码后的样式(直接替换掉以上代码中 NUXT_ADMIN_PASSWORD 的值即可):

adf9c44f50630cce61860025d9ec8095acfe39821de002f094ef22c76b480123

3.替换成功后,记得重启一次项目
4.该项目首次运行时,默认只能为管理员登录
① 系统管理员账号: NUXT_ADMIN_USERNAME 默认为 admin ,也可以按需修改
② 系统管理员密码:我们在 第2步 中设置的密码(注意,不是加密后的密码哦)
5.成功登录后台之后,我们需要创建一个普通用户来使用该项目(也可以开放用户注册权限,按需而定)

在线体验 钥匙:fScrX9FwtiE
CashBook项目地址
CashBook官方文档