手把手教你在NAS上通过Docker部署CashBook私有记账系统。支持多账本管理、支付宝/微信/京东账单自动导入、数据可视化分析。包含PostgreSQL数据库配置、容器网络设置、手机APP使用等完整教程,适用于群晖、威联通、飞牛等NAS设备。

引言:告别糊涂账,用NAS打造个人财务数据中心
你是否经常疑惑“钱都花哪儿了”?支付宝、微信、京东等多个平台的消费记录分散各处,手动记账又难以坚持。现在,借助NAS和Docker技术,你可以轻松搭建一个完全私有的智能记账系统——CashBook。
CashBook是一款开源的个人记账应用,支持多账本管理、支付宝/微信/京东账单自动导入、数据可视化分析,并且所有数据都存储在你自己的NAS上,安全可控。本文将手把手教你如何通过Docker在NAS上部署CashBook,实现财务管理的自主化、智能化。
📅 日历视图

📊 图表分析

💰 流水记录

📱 移动端适配

主要功能
部署环境准备
硬件与软件要求
-
NAS设备:支持Docker的NAS系统(群晖DSM、威联通QTS、飞牛fnOS等)
-
Docker服务:确保NAS上的Docker服务已启用
-
存储空间:至少预留1GB空间用于应用和数据库
-
网络环境:NAS需处于局域网内,确保能通过浏览器访问
部署思路
-
PostgreSQL容器:作为CashBook的数据库
-
CashBook容器:主应用服务两个容器通过Docker网络互联,确保数据通信安全。
一、PostgreSQL数据库部署
打开docker应用,点击镜像仓库,输入postgres,>点击下载
选择最新版latest,点击确认

回到docker,点击网络,新建一个网络

名称随意,然后根据以下内容填写就行,但不要和自己有的网络冲突了,其中的24可以换成更大的数字

然后点击本地镜像,找到此应用

点击箭头启动,勾选上开机自动启动

端口改为5444,添加一些变量


** 配置环境变量**
POSTGRES_USER=postgres # 数据库用户名
POSTGRES_PASSWORD=your_password # 数据库密码(建议设置强密码)
POSTGRES_DB=cashbook # 初始数据库名
TZ=Asia/Shanghai # 时区设置
LANG=en_US.utf8 # 语言编码
网络选择刚才新建的

点击下一步,勾选上创建后启动

二、cashbook部署教程
回到镜像仓库,搜索cashbook,点击下载
回到本地镜像,点击安装,勾选上开机自动启动

存储位置,自行在文件管理中新建文件夹,网络选择相同的网络
** 配置环境变量**
# 数据库连接字符串(格式:postgresql://用户名:密码@数据库IP:端口/数据库名?schema=public)
DATABASE_URL=postgresql://postgres:your_password@postgres:5432/cashbook?schema=public
# 注意:这里使用“postgres”作为主机名,因为两个容器在同一Docker网络中
# 容器间通过容器名称直接通信,无需使用IP地址
# 前台登录加密密钥(不能是纯数字)
NUXT_AUTH_SECRET=your_secret_key_here
# 后台管理员账号(默认)
NUXT_ADMIN_USERNAME=admin
NUXT_ADMIN_PASSWORD=admin123456
# 时区
TZ=Asia/Shanghai

点击下一步,勾选上创建后启动,点击启动

三、cashbook初始化与使用教程
在浏览器中输入:http://你的NAS_IP:9090

首次访问会提示“当前系统没有普通用户”,点击后台管理
-
用户名:
admin -
密码:
admin123456

在后台管理界面,点击左侧“用户”菜单,然后点击新增用户

自行设置

保存以后点击左上角的去记账

输入你刚刚设置的用户账号密码

到目前就搭建好了,按自己所需,自行使用就可以了

流水导出方法
1. CSV流水导入
csv导入功能是为第三方互联网金融公司的账单文件快速导入而开发的功能,如支付宝账单、微信账单、京东金融账单。
导出流水文件的方法可阅读:https://www.oldmoon.top/post/211。
导出流水后,请不要进行任何编辑,直接在系统中 流水管理 --> 导入导出 --> 支付宝CSV导入 开始导入流水。
2. JSON流水导入(历史流水导入)
Json流水导入功能是为本系统自身数据导入导出开发的功能,便于用户备份和恢复重要的流水数据。
在 流水管理 --> 导入导出 --> Json导入/导出 可以快速导入和导出当前账本的数据!
3. 单条流水类型修改
通过 流水管理 中编辑流水,可以针对单条流水进行类型名修改;
4. 类型转换(同一类型流水批量改为其他类型)
通过 类型管理 中编辑类型,进行类型名称修改,会将原类型的全部流水名称统一修改为其他类型。
注意:类型转换只能修改 支付方式/收款方式 或 消费类型/收入类型,无法将 收入 批量改为 支出。
5. 类型映射
现在系统设置中可以进行交易类型的映射关系维护了,下面列出项目默认的映射关系,用户安装后可自行修改。
默认映射关系如下:
// key 是 支付宝/微信/京东金融 账单中的消费类型
// value 是账单导入系统后数据库中保存的类型
{
"食品酒饮": "餐饮美食",
"餐饮美食": "餐饮美食",
"家居家装": "日用百货",
"日用百货": "日用百货",
"鞋服箱包": "日用百货",
"清洁纸品": "日用百货",
"医疗保健": "医疗健康",
"医疗健康": "医疗健康",
"充值缴费": "充值缴费",
"教育培训": "教育培训",
"图书文娱": "文化休闲",
"运动户外": "文化休闲",
"文体玩具": "文化休闲",
"文化休闲": "文化休闲",
"微信红包": "转账红包",
"微信红包(单发)": "转账红包",
"微信红包(群红包)": "转账红包",
"转账红包": "转账红包",
"转账": "转账红包",
"二维码收款": "微信交易",
"微信交易": "微信交易",
"商户消费": "微信交易",
"扫二维码付款": "微信交易",
"小金库": "投资理财",
"投资理财": "投资理财",
"收入": "投资理财",
"转入零钱通-来自零钱": "投资理财",
"手机通讯": "数码电器",
"数码电器": "数码电器",
"电脑办公": "数码电器",
"服饰内衣": "服饰装扮",
"服饰装扮": "服饰装扮",
"钟表眼镜": "服饰装扮",
"美妆个护": "美容美发",
"美容美发": "美容美发",
"汽车用品": "爱车养车",
"爱车养车": "爱车养车",
"亲友代付": "亲友代付",
"亲属卡交易": "亲友代付",
"亲属卡交易-退款": "退款",
"美团平台商户-退款": "退款",
"退款": "退款",
}
# 更多详见cashbook官网:https://doc.cashbook.oldmoon.top
四、cashbook手机APP
目前有网友做出了手机端app
项目地址:https://github.com/houxiaoyi0722/cashbook_app
已支持功能
- 📱 跨平台支持 (
iOS& Android)- IOS版本暂无,欢迎PR
- 📊 流水日历视图,直观展示每日收支
- 📈 统计分析,了解您的消费习惯
- 🔄 自动去重功能,避免重复记账
- ⚖️ 平账功能,轻松处理退款和转账
- 📚 多账本管理,分类整理不同用途的账目
- 🔐 安全连接到您的 Cashbook 服务器
- 📊 预算管理,设定预算,实时监控支出进度
- 🤖 AI助手功能,智能财务管理
- 智能记账建议:根据消费习惯提供记账建议,APP功能自动处理简化记账操作
- 财务分析:分析消费模式,提供优化建议
- 预算规划:帮助制定合理的预算计划
- 问答交互:回答关于财务管理的各种问题
- 支持多种AI模型:OpenAI、DeepSeek等
- 🧾 小票管理,拍照或上传小票
- 小票记账,拍摄小票图片识别手动记账或者ai自动记账
总结
通过本文的详细教程,你已经成功在NAS上搭建了属于自己的私有记账系统。CashBook不仅解决了多平台账单分散的痛点,更通过数据可视化帮助你真正理解自己的消费习惯。
相比市面上的记账APP,私有化部署的CashBook有三大核心优势:
- 数据自主:所有财务数据完全掌握在自己手中
- 功能定制:开源特性允许根据需求自定义功能
- 零成本持续使用:一次部署,终身免费使用
从今天开始,告别糊涂账,用数据驱动理性消费,让每一分钱都花得明明白白。财务自由的第一步,从清晰记账开始。
觉得内容不错?我要






