七千二百袋水泥
七千二百袋水泥
Published on 2025-10-25 / 3 Visits

在NAS上部署开源私人记账软件Cashbook的完整教程:Docker Compose配置详解、功能体验、多用户管理与数据分析指南

以下是Cashbook项目的相关资源链接:

  • 项目源码:https://github.com/dingdangdog/cashbook
  • 在线体验地址:https://cashbook.oldmoon.top (体验账号: cashbook/cashbook)
  • 在线体验后台:https://cashbook.oldmoon.top/admin (体验账号: admin/admin123456)
  • docker compose配置文件示例:
services:  
  main:  
    container_name: cashbook  
    depends_on:  
      cashbook_db:  
        condition: service_healthy  
    image: docker.1ms.run/dingdangdog/cashbook:latest  
    restart: unless-stopped  
    volumes:  
      - ./data/files:/app/data  
    environment:  
      DATABASE_URL: "postgresql://postgres:postgres@cashbook_db:5432/cashbook?schema=public"  
      NUXT_DATA_PATH: "/app/data"  
      NUXT_AUTH_SECRET: "hello-jfzui"## 加密密钥,可自定义填写  
      NUXT_APP_URL: "http://192.168.31.30:9090"## 注意端口配置,需与映射端口一致  
      NUXT_AUTH_ORIGIN: "http://192.168.31.30:9090/api/auth"## 保持与上述URL相同  
      NUXT_ADMIN_USERNAME: "admin"## 管理后台用户名设置  
      ## 管理后台密码默认为admin123456,此处填写加密后的内容  
      NUXT_ADMIN_PASSWORD: "fb35e9343a1c095ce1c1d1eb6973dc570953159441c3ee315ecfefb6ed05f4cc"  
    ports:  
      - 9090:9090  

  cashbook_db:  
    image: docker.1ms.run/library/postgres:15  
    container_name: cashbook-db  
    volumes:  
      - ./data/db:/var/lib/postgresql/data  
    restart: unless-stopped  
    environment:  
      - POSTGRES_USER=postgres  
      - POSTGRES_PASSWORD=postgres  
      - POSTGRES_DB=cashbook  
    shm_size: 1g  
    healthcheck:  
      test:  
        - CMD-SHELL  
        - pg_isready  
      start_period: 20s  
      interval: 10s

此compose文件中已集成docker加速镜像地址docker.1ms.run,用户可直接使用,但需注意该镜像源可能不稳定。

Cashbook软件概述与主要功能

Cashbook记账本是一款专为个人和家庭用户设计的财务管理应用,采用前台记账与后台管理分离的架构设计。在以上compose配置中创建的管理员账户仅能登录管理后台,无法进行记账操作;只有通过管理后台创建的用户才具备记账权限。

初次接触Cashbook项目的用户务必先理解这种前后台分离的设计理念,以避免操作误区。

该软件的核心特性包括:

  • 原生支持中文界面
  • 优化适配手机端浏览器访问
  • 支持导入支付宝、微信支付和京东金融的个人CSV格式账单文件
  • 提供直观的消费日历视图面板
  • 包含多种美观的数据分析图表:支出类型统计饼图、支付方式统计饼图、每日流水统计曲线图、每月流水统计柱状图
  • 支持多用户模式,适合家庭内部多人共同使用
  • 每个用户可创建多个独立账本,确保数据隔离

安装步骤与实战操作指南

首先需要说明,由于Cashbook管理后台不支持直接修改管理员密码,建议在compose配置文件中预先修改NUXT_ADMIN_PASSWORD项。密码加密计算方式如下:

# 假设管理员用户名为admin  
# 设置新密码为nas666  
# 执行以下命令生成加密密码:  
echo -n "adminnas666" | sha256sum  
# 输出结果为14079ddd428c7e4b6121a530eae611e715cadcc7e20f364eeb024f611455283e  
# 将此字符串替换到compose文件的NUXT_ADMIN_PASSWORD配置项中  
  
# 加密原理:将用户名与密码直接拼接后,通过sha256算法计算得出加密值

项目成功启动后,首先访问管理后台地址:http://<nas-ip>:9090/admin,使用compose文件中设置的管理员账户登录。登录后首先创建新用户:

Image

用户创建完成后,可在系统设置中调整个性化配置选项:

Image

接下来打开记账前台界面:http://<nas-ip>:9090,使用刚创建的新用户登录。由于是新用户,登录后会提示先创建账本:

Image

账本创建成功后即可开始记录日常流水账:

Image

记录若干流水后,可通过日历视图查看收支情况:

Image

还可以查看数据分析面板获取统计信息:

Image

这里有个实用细节:当鼠标悬停在饼图上时,对应收支数据会放大显示,这体现了开发者在用户体验方面的细致考量。

使用总结与未来期待

  • Cashbook界面设计简洁直观,用户学习成本较低,易于快速上手
  • 目前尚未提供配套手机应用程序,记账操作需通过浏览器完成,期待后续版本能增加移动端应用支持