
群晖Docker部署私人记账平台EzbookKeeping(胎教级)
博主在前几年有记账的习惯,但是也仅仅只是在手机上记账,用的软件叫做“鲨鱼记账”。在停滞记账1年后,博主决定重新记账,因为去年新购置了群晖Nas,遂产生搭建私人记账平台的想法,便查到EzbookKeeping这个私人记账项目。
一、简介

ezBookkeeping 是一款轻量级、自托管的个人财务应用,拥有简洁易用的界面和强大的记账功能。它以简洁易用和可移植性为设计理念,易于部署、易于使用,并且占用的系统资源极少,非常适合微服务器、NAS 设备,甚至 Raspberry Pi。
该应用程序完全跨平台且设备友好——您可以在移动设备、平板电脑和桌面设备上无缝使用它。由于支持 PWA(渐进式 Web 应用程序),您甚至可以将其添加到移动主屏幕,并像原生应用程序一样使用它。
现场演示:https://ezbookkeeping-demo.mayswind.net
Web效果:

Mobile效果:

二、安装教程
在你想安装ezbookkeeping的地方新建文件夹ezbookkeeping,在其下分别新建文件夹data、log、storage三个文件夹。

右键ezbookkeeping文件夹点击属性-权限-新增,用户或组选择Everyone,并在下方勾选读取和写入,点击完成后,勾选应用到这个文件夹、子文件夹及文件选项,并保存。


打开群晖的Container Manager,点击项目-新增,项目名称:ezbookkeeping,路径选择刚刚我们新建的ezbookkeeping文件夹,来源选择创建docker-compose.yml选项,并将下方内容复制到设置中。
version: "3"
services:
ezbookkeeping:
image: mayswind/ezbookkeeping
container_name: ezbookkeeping
restart: unless-stopped
ports:
- 8422:8080
volumes:
- /etc/localtime:/etc/localtime:ro
- ./storage:/ezbookkeeping/storage
- ./log:/ezbookkeeping/log
environment:
- EBK_DATABASE_TYPE=mysql
- EBK_DATABASE_HOST=mysql:3306
- EBK_DATABASE_NAME=ezbookkeeping
- EBK_DATABASE_USER=ezbookkeeping
- EBK_DATABASE_PASSWD=ezbookkeeping
- EBK_LOG_MODE=file
- EBK_SECURITY_SECRET_KEY="这里填你想要的密钥"
# 注意:为false的话是禁止用户注册,按需选择,建议在鼓捣完后关闭注册。
#- EBK_USER_ENABLE_REGISTER=false
# 注意:这里填的是你的访问域名,可有可无,内网和ip访问可不填。
#- EBK_SERVER_DOMAIN=blog.zhumengmeng.work
# 注意:这里填的是你外网访问目录,外网访问可能会出现图片资源等无法访问,点击发现采用了locahost,添加此变量可修复问题。
#- EBK_SERVER_ROOT_URL=https://blog.zhumengmeng.work:7788
mysql:
image: mysql:8.0
container_name: ezbookkeeping-mysql
restart: unless-stopped
volumes:
- ./data:/var/lib/mysql
environment:
- MYSQL_DATABASE=ezbookkeeping
- MYSQL_USER=ezbookkeeping
- MYSQL_PASSWORD=ezbookkeeping
- MYSQL_ROOT_PASSWORD=ezbookkeeping
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-p ezbookkeeping"]
retries: 3
timeout: 5s
填写完毕后,无脑下一步,等待部署完成。
如果不出意外的话,项目跑不起来,观察日志发现ezbookkeeping无法与mysql连接。
点击ezbookkeeping容器,点击设置,拉到最下方链接,将ezbookkeeping与ezbookkeeping-mysql链接在一起。点击保存后重新运行项目即可。

最后在浏览器中输入就能看到登录界http://群晖IP:8422
