PassNAT LogoPassNAT

个人记账本系统 Cashbook NAS 极简部署教程,支持多用户多账本数据管理。帕斯内网穿透远程随时记账!

作者

小编

发布时间

Curving abstract shapes with an orange and blue gradient

项目介绍

Cashbook 是一个开箱即用的个人记账本系统,专注于提供简单、易用、自主可控的数据记录体验。该项目基于现代化的技术栈构建,在数据记录上追求简单易用,在统计分析上力求清晰美观、简洁有效。

Cashbook 支持前后台分离架构,提供独立的后台管理系统方便对整个系统进行管理。系统支持多用户模式,用户之间数据完全隔离,同时支持多账本模式,不同账本之间数据独立管理。项目还支持支付宝、微信、京东金融等主流平台的CSV账单文件导入,并能自动转换消费类型。

系统提供直观的消费日历看板、月度账单分析,以及美观的数据分析图表,包括支出类型统计饼图、支付方式统计饼图、每日流水统计曲线图等多种可视化图表。支持上传小票图片、账本数据快速迁移、自助平账功能,并且完美适配移动端使用。

项目地址: 点我跳转

部署安装

如需在外也打开项目需要配置内网穿透使用,点击前往 帕斯内网穿透,先注册好账号备用。

重要提示:如果需要部署到公网,请务必修改各类环境变量(如后台账号密码、数据库密码等)!

复制下列的配置文件

1services:
2 main:
3 container_name: cashbook4
4 depends_on:
5 - 'db'
6 image: dingdangdog/cashbook:latest
7 restart: always
8 volumes:
9 - ./data:/app/data
10 environment:
11 DATABASE_URL: 'postgresql://postgres:postgres@cashbook_db:5432/cashbook?schema=public'
12 NUXT_AUTH_SECRET: 'auth_secret_123'
13 NUXT_ADMIN_USERNAME: 'admin'
14 NUXT_ADMIN_PASSWORD: 'fb35e9343a1c095ce1c1d1eb6973dc570953159441c3ee315ecfefb6ed05f4cc'
15 ports:
16 - 9090:9090
17 db:
18 container_name: cashbook_db
19 image: postgres
20 restart: always
21 shm_size: 128mb
22 volumes:
23 - ./db:/var/lib/postgresql/data
24 environment:
25 POSTGRES_PASSWORD: postgres
26 POSTGRES_DB: cashbook
27 ports:
28 - 5432:5432

打开飞牛 NAS 或其他的 NAS 设备

项目名称可以随便填,点击创建 docker-compose.yml

点击 Compose -> 新建项目

这里需要改成你需要的账号和密码,其他的保持不变。特别注意:

- NUXT_ADMIN_USERNAME: 后台管理员用户名,请自行修改

- NUXT_ADMIN_PASSWORD: 后台管理员密码(已加密),如需修改请前往 https://cashbook.oldmoon.top/admin/GetPassword 生成新密码

- POSTGRES_PASSWORD: 数据库密码,请自行修改

- NUXT_AUTH_SECRET: 前台登录加密密钥,请自行修改(不能是纯数字)

如果提示端口被占用可以修改下面的字段,但是需要保持格式正确。

创建成功后可以访问 ip:9090

到这里就可以正常显示项目了

穿透公网

打开帕斯内网穿透控制台,点击隧道管理-隧道列表

点击创建新隧道

隧道节点可以随便选,一般选个负载低的就可以

接下来填写信息,隧道名称可以随便填写

本地 IP 默认就可以

传输协议可以选择 TCP 也可以选择 HTTP/HTTPS

HTTP 就是域名的形式,教程以使用 TCP 为演示

本项目中如果没有修改端口的话默认是 9090 端口,这里本地 IP 就填 9090

远程端口可以留空也可以自定义。下图仅做参考,请按照实际项目端口添加。

填写完毕点击确定

点击刚才创建好的隧道,点击获取配置文件

回到飞牛 NAS,点击应用中心下载 frpc 客户端

打开后粘贴刚才复制的配置文件,点击确定即可

复制帕斯内网穿透控制台的访问 IP 和端口

可以看到已经正常穿透成功了

本篇教程结束