Appearance
发发记账独立部署版在群晖NAS安装方法(其他NAS类似操作)
视频安装教程
如视频卡段可以在B站观看:https://www.bilibili.com/video/BV1PaVZz9EQ4/
方法一:利用docker-compose.yml文件一键安装(推荐)
如果你看完上面两种安装方法后,基本上明白了安装原理,这里再列举一个利用docker-compose更简单的安装方法。
该方法可以将镜像下载和容器映射配置一起处理,不用单独下载镜像。下面以ip位置为192.168.2.100的群晖NAS系统为例演示。
新建映射文件夹(数据持久化)
在File Station 中新建一个共享文件目录,比如我在docker目录下新建一个88jizhang目录,用于存放程序文件,以便记账数据持久化。
我们需将容器里面账单图片文件夹、ssl证书文件、数据库、配置文件放在File Station的88jizhang目录里,其余文件继续保留在容器中。
我们已经给你建好了下面内容的文件夹,点击此链接下载 ,解压后上传到88jizhang目录下,看到包括文件及文件夹如下:
code
.88jizhang
├─ zhangdanimages/ # 📁 账单相册在此文件夹里面(是个空文件夹后期存放账单图片)
├─ https/ # 📁 ssl证书存放文件夹(里面有cert.pem和key.pem两个文件)
├─ data/ # 📁 数据文件目录
│ ├─ jizhang.db # 🏠 数据库文件
│ └─ setting.json # 🔧 配置文件(用户注册密钥等可自行修改)
└─ .... # 用户自行添加的其他文件将上面的文件全部上传到你的File Station里面的/docker/88jizhang文件夹里面。


新建并运行容器
特别注意
下面代码要根据自己的情况替换,如宿主机端口号可以更改。但映射目录必须设置正确,否则无法运行。
需将/volume2/docker/88jizhang目录替换为你File Station里面的88jizhang文件夹目录。修改之后运行即可。
File Station里面的88jizhang文件夹,点击右键,点击属性,查看位置即可看到文件夹路径,如 /volume2/docker/88jizhang

选择项目--新增--常规设置界面输入项目名称、路径(刚新建88jizhang文件夹路径),选择创建docker-compose.yml。

复制下面代码(根据实际情况修改映射目录和端口)到代码块里面,点击下一步,再点击下一步,点击完成。
此时88jizhang文件夹也会自动保存一个创建的docker-compose.yml文件(重新安装或升级可以使用)
code
version: '3.8' # 使用兼容性较高的版本,此行可删除
services:
jizhang:
container_name: 88jizhang # 容器名称
image: crpi-btxs8xhps2iaw65e.cn-hangzhou.personal.cr.aliyuncs.com/88jizhang/88jizhang:v1.0.13 # 镜像地址
restart: always # 自动重启策略
environment:
- TZ=Asia/Shanghai # 时区配置
ports:
- "5188:5188" # 宿主机端口:容器端口
- "5199:5199" # 第二个端口映射
volumes:
# 数据文件(注意宿主机路径需真实存在)
- "/volume2/docker/88jizhang/data:/app/data"
# SSL证书目录(目录映射)
- "/volume2/docker/88jizhang/https:/app/https"
# 账单图片目录
- "/volume2/docker/88jizhang/zhangdanimages:/app/zhangbenpicture/zhangdan-picture"ARM 环境请更换docker镜像地址为 crpi-btxs8xhps2iaw65e.cn-hangzhou.personal.cr.aliyuncs.com/88jizhang/arm_88jizhang:v1.0.13
点击完成后会出现以下界面,系统会自动拉取镜像文件并设置映射端口、文件夹、文件。

容器启动后,在浏览器输入http://192.168.2.100:5188 或输入 https://192.168.2.100:5199 ,出现以下界面时候则表示安装成功。

部署完毕后,web端、app端和H5端详细访问方式、端口映射、域名绑定等,点击后面链接 web、app与H5访问 查看
以上为推荐的安装方式,安装方式很多,你也可以通过如下方式进行安装。
方法二:图形化界面安装(不推荐)
准备工作
拥有一台群晖,黑白群晖均可,这里以群晖DSM 7.2为例。(NAS的IP地址如为192.168.2.100)
在套件里面,找到Container Manager 套件安装,安装成功后如下图界面。

利用计划任务下载镜像(映像)
打开控制面板--计划任务--新增--计划的任务--用户定义的脚本--创建计划常规标签下用户账号选择root(必须选择root)

创建任务 页签下,用户自定义脚本,输入docker命令,从下载镜像(镜像放在阿里云国内可自由下载),输入以下命令,点击确认。
docker pull crpi-btxs8xhps2iaw65e.cn-hangzhou.personal.cr.aliyuncs.com/88jizhang/88jizhang:v1.0.13

返回刚创建的任务计划列表,选择刚才的计划任务,点击右键,选择运行菜单,此时等待几分钟(建议等待3-5分钟,由网速决定)。
等待下载完毕后,返回Container Manager,选择左侧映像菜单,此时右侧出现了一个已经下载好的镜像(映像)文件。

特别说明
利用其他方式也可以下载镜像,我们推荐上述方法,因为Container Manager中直接使用docker hub下载镜像需要“魔法”或者科学上网。
所以我们特意把镜像放在阿里云,这样国内可以自由、稳定的下载。
利用镜像启动容器 (储存空间映射方式) 强烈推荐
新建映射文件夹
特别说明
非储存空间映射方式:指的是程序文件(数据库和账单图片等)全部放在容器里面。如果容器删除,数据会丢失。删除容器前需先备份数据。
储存空间映射方式:指的是程序文件(数据库和账单图片等)全部放在群晖的File Station里面。删除容器,数据仍在File Station里。
储存空间映射方式其实就是docker里面的绑定挂载(Bind Mounts)原理。 具体安装方式详见如下。
在File Station 中新建一个共享文件目录,比如我在docker目录下新建一个88jizhang目录,用于存放程序文件,以便记账数据持久化。

特别说明
这个目录必须要是共享目录,必须具有可读写权限。否则可能出现无文件读写权限导致映射失败,致容器无法启动。
如果安装失败,可以先试试前文所示的“利用镜像启动容器 (非储存空间映射方式)”安装。如该方式能安装成功,则大概率是共享目录权限问题。你可以更换文件映射目录后再试。
复制记账服务端(持久化)程序到映射文件夹
我们只需将容器里面的账单图片文件夹、ssl证书文件、数据库、配置文件放在NAS的File Station里面。其余文件继续保留在容器中。
我们已经给你建好了下面内容的文件夹,点击此链接下载 ,解压后上传到88jizhang目录下,看到包括文件及文件夹如下:
code
.88jizhang
├─ zhangdanimages/ # 📁 账单相册在此文件夹里面(是个空文件夹后期存放账单图片)
├─ https/ # 📁 ssl证书存放文件夹(里面有cert.pem和key.pem两个文件)
├─ data/ # 📁 数据文件目录
│ ├─ jizhang.db # 🏠 数据库文件
│ └─ setting.json # 🔧 配置文件(用户注册密钥等可自行修改)
└─ .... # 用户自行添加的其他文件将上面的文件全部上传到你的File Station里面的/docker/88jizhang文件夹里面。


3-根据下载的镜像文件 设置端口号和选择映射目录 并启动容器
选择刚下载的镜像--右键点击运行,在常规设置界面修改容器名称,

选择该镜像文件,右键点击 运行按钮。 在常规设置界面,修改容器名称,容器名称随便命名,比如88jizhang,点击下一步。

在高级设置里面,设置本地端口,这里输入5188(输入目的可以用http://192.168.2.100:5188 访问网页端)。
在高级设置里面,设置本地端口,这里输入5199(输入目的可以用https://192.168.2.100:5199 访问网页端)。
映射文件夹,我们需要将File Station里面的/docker/88jizhang文件夹中的文件和文件夹依次映射到容器目录。
依次选择储存空间设置下的添加文件夹和添加文件按钮进行操作......
点击添加文件,左侧选择路径/docker/88jizhang/data, 右侧输入 /app/data ,读取和写入权限。
点击添加文件夹,左侧选择路径/docker/88jizhang/https , 右侧输入/app/https ,读取和写入权限。
点击添加文件夹,左侧选择路径/docker/88jizhang/zhangdanimages,右侧输入/app/zhangbenpicture/zhangdan-picture ,读写权限。

特别注意
如果你不使用ssl证书,可以不设置https目录映射,也可不映射5199端口。
当然如果你不想使用流水上传图片功能,可不设置zhangdanimages目录映射。
点击下一步, 在摘要界面直接点击完成按钮,此时容器创建完成。
返回到容器界面,选中刚才的新建的jizhang容器,点击右键运行。此时容器就能正常运行。

点击刚才成功启动的容器,查看日志,看到如下内容则记账系统服务端启动成功了,可以使用浏览器和手机登录记账了

在浏览器输入http://192.168.2.100:5188 (注意不要用https),出现以下界面时候则表示安装成功。
如果你配置了证书, 输入 https://192.168.2.100:5199 ,出现以下界面时候则表示安装成功。

部署完毕后,web端、app端和H5端详细访问方式、端口映射、域名绑定等,点击后面链接 web、app与H5访问 查看
方法三:利用镜像启动容器 (非储存空间映射方式) 非常不推荐,建议仅测试使用
Container Manager中,选择刚下载的镜像--右键点击运行,在常规设置界面修改容器名称,

选择该镜像文件,右键点击 运行按钮。 在常规设置界面,修改容器名称,容器名称随便命名,比如88jizhang,点击下一步。

在高级设置里面,设置本地端口,这里输入5188(输入目的可以用http://192.168.2.100:5188 访问网页端)。
在高级设置里面,设置本地端口,这里输入5199(输入目的可以用https://192.168.2.100:5199 访问网页端)。
点击下一步, 在摘要界面直接点击完成按钮,等待容器运行成功。

点击刚才成功启动的容器,查看日志,看到如下内容,表示记账系统服务端启动完毕。

特别注意
不推荐该安装方式,但该方式可以用于系统测试,或者在 (储存空间映射方式)安装失败情况下,排查安装失败原因时候使用。
部署过程中有任何疑问请进入QQ群558762513交流。
