私人记账本程序cashbook

什么是 cashbook ?

cashbook 是一个私人或家庭记账程序,支持私有化部署,商用或其他使用不受约束。建议使用者每年创建一个账本,图表功能可以起到分析全年数据的效果。

官方提供了演示站点,但不建议记录真实数据

  • 演示账本钥匙:fScrX9FwtiE

地址: https://cash.oldmoon.top

安装

环境变量

与 mongo 相关的环境变量

变量 缺省值 描述
TZ 时区
MONGO_INITDB_ROOT_USERNAME 数据库root用户名
MONGO_INITDB_ROOT_PASSWORD 数据库root用户的密码

与 cashbook 相关的环境变量

变量 缺省值 描述
TZ Asia/Shanghai 时区
CASHBOOK_ENVIRONMENT personal 个人
CASHBOOK_MONGODB_URL mongodb://localhost:27017/cashbook?authSource=admin 数据库链接地址

CASHBOOK_MONGODB_URL:一般是 mongodb://[username:password@]host1[:port1][/[database][?options]],含义如下:

  • username:password@:可选项,表示 MongoDB 的用户名和密码,用于进行身份验证。
  • host1[:port1]:必选项,表示 MongoDB 数据库所在的主机和端口号。
  • /database:可选项,表示连接到 MongoDB 的哪个数据库。
  • ?options:可选项,表示连接 MongoDB 的其他选项,例如连接超时时间、读写权限等。

docker cli 安装

如果你熟悉命令行,可能用 docker cli 更快捷

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# 新建文件夹 cashbook 和 子目录
mkdir -p /volume2/docker/cashbook/data

# 进入 cashbook 目录
cd /volume2/docker/cashbook

# 运行 mongo 容器
# 注意:老苏没有对外暴露端口
docker run -d \
--restart unless-stopped \
--name cashbook_db \
-v $(pwd)/data:/data/db \
-e TZ=Asia/Shanghai \
-e MONGO_INITDB_ROOT_USERNAME=cashbook \
-e MONGO_INITDB_ROOT_PASSWORD=yourpassword \
mongo:4.4.0

# 运行 cashbook 容器
docker run -d \
--restart unless-stopped \
--link cashbook_db:mongo \
--name cashbook_web \
-p 5680:80 \
-e TZ=Asia/Shanghai \
-e CASHBOOK_ENVIRONMENT=personal \
-e CASHBOOK_MONGODB_URL=mongodb://cashbook:yourpassword@mongo:27017/cashbook?authSource=admin \
dingdangdog/cashbook:latest

docker compose 安装

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
version: "3"

services:
cashbook:
image: dingdangdog/cashbook:latest
container_name: cashbook_web
restart: always
ports:
- 5680:80
environment:
TZ: "Asia/Shanghai"
CASHBOOK_ENVIRONMENT: "personal"
CASHBOOK_MONGODB_URL: "mongodb://cashbook:yourpassword@mongo:27017/cashbook?authSource=admin"

mongo:
image: mongo:4.4.0
container_name: cashbook_db
restart: always
volumes:
- ./data:/data/db
environment:
TZ: "Asia/Shanghai"
MONGO_INITDB_ROOT_USERNAME: cashbook
MONGO_INITDB_ROOT_PASSWORD: yourpassword

然后执行下面的命令

1
2
3
4
5
6
7
8
9
10
# 新建文件夹 cashbook 和 子目录
mkdir -p /volume2/docker/cashbook/data

# 进入 cashbook 目录
cd /volume2/docker/cashbook

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:5680 就能看到主界面

第一次直接点 创建

输入账本的名称后确定

生成的秘钥,一定要妥善保管

2mf41jdGPvi

新增流水

新增 开始输入

确定之后

又随便编了几条数据

日消费统计曲线

打开 日消费统计曲线,这是按 日期 统计的数据

消费类型统计饼图

打开 消费类型统计饼图,这是按 消费类型 统计的数据

消费日历

打开 消费日历,能看到哪天有消费

退出

只要 关闭账本 即可,系统很贴心的会再次展示 账本秘钥

如果你还没保存 账本秘钥,一定要保存好

确定后就回到了初始界面

你可以创建新的账本

也可以输入 账本秘钥打开已有的账本

移动端

网页在手机浏览器上也是可以用的

如果你觉得软件能满足你的需要,可以考虑去给作者打个赏,让作者有动力继续完善和更新下去。

参考文档

dingdangdog/cashbook: cashbook(记账本)
地址:https://github.com/DingDangDog/cashbook