为知笔记服务端docker镜像使用说明

为知笔记服务端提供了docker镜像,您只需要简单几步,就可以将为知笔记服务端部署在自己的服务器甚至自己的电脑上面(windows/linux/mac)。

正式上线了适配 ARM64、ARM32 (v7) 的镜像,如果您正在使用上述系统或树莓派,请直接按照 Linux 系统下的说明操作即可(假定您正在使用linux系统)。

系统需求

  • 操作系统:Windows / macOS / Linux
  • CPU: Intel / AMD x64, ARM v7 (arm32), ARM 64
  • 内存:至少2G

安装docker

如果您已经安装了docker,则可以跳过该步骤。

首先,不是所有的群晖NAS都可以安装Docker,通常来说,只有内存大于4G的型号才能安装(黑裙不在讨论范围内)。

登录群晖,打开套件中心,搜索Docker(如果不支持Docker的型号,将搜索不到),安装Docker,安装完成后在系统菜单中可以看到Docker的应用图标。

请到docker官网,下载相应的docker应用。

windows或者mac环境,请到这里下载: https://www.docker.com/products/docker-desktop注意:你可能需要注册一个docker账号才可以下载docker 桌面客户端。

如果是linux,请自行搜索docker安装方法。

安装完成后,请运行docker客户端。

注意:如果您的系统里面安装有虚拟机软件,可能会和docker冲突。

图片[1]-为知笔记服务端docker镜像使用说明-LonHowe Blog

下载并启动为知笔记服务端docker镜像

从系统菜单进入,依次打开 系统菜单 - Docker - 注册表 ,在搜索框中输入 wiznote 回车进行搜索,看到第一条 wiznote/wizserver ,进行双击开始下载,如果弹出版本选择的窗口,请选择 latest 。

这里可以看到 wiznote/wizserver 后方有一个箭头,点击这个箭头可以进入 dockerhub 的镜像发布页面中查看到官方发布说明。

这里就让他慢慢下载即可,可能时间略长,最新的镜像容量大概在 2GB 左右。

创建本地数据目录

从系统菜单中,找到 File Station 并打开,在目录树中找到 docker 文件夹(只有安装了Docker才会自动创建),因为使用了 docker 之后真的会上瘾,可能未来你会使用更多的 docker 容器,所以个人建议大家创建数据文件夹时这么创建:

  • 在 docker 文件夹下创建一个文件夹,命名为:wiz
  • 在 wiz 这个文件夹下创建一个文件夹,命名为: data (这是为了防止以后为知会不会有新的数据目录或者配置目录之类的需要映射出来呢?)

准备启动容器

看标题,没错,现在就能启动容器了

先看一下镜像有没有下载完成,还是打开 系统菜单 - Docker ,在左边的菜单中,如果 映像 的右边有一个红色的数字  (这个数字表示有几个镜像正在下载),说明还没下载完,等它消失,可以点击 映像 在右侧的镜像列表中看到 wiznote/wizserver:latest ,并且后面有点像硬盘的图标不再动了,说明下载完成了。

图片[2]-为知笔记服务端docker镜像使用说明-LonHowe Blog

启动容器

由于一些群晖本身的安全机制问题(对于目录访问权限的控制),为了避免不必要的麻烦,少走弯路,顺利的一次启动成功,我们建议大家直接采用命令行的方式进行启动。

mac/linux系统:

请在终端(Terminal)窗口中输入下面的命令

我们在用户主目录建立一个wizdata的文件夹。为知笔记服务端会把所有的数据保存在这个目录里面。如果是正式使用,请注意定时备份该目录。也可以联系我们,使用更高级版本,将数据保存在NAS,私有云等专用存储里面。

然后通过下面的命令,下载并启动为知笔记服务。

linux 命令

mac 命令

windows系统:

请按下键盘上面的Win+R,或者点击开始菜单,选择运行,然后在对话框里面输入:

将会打开命令行窗口。

然后在命令行窗口里面输入:

将会在D盘根目录下面建立一个wizdata文件夹,所有为知笔记服务端的数据,都将会保存在这个目录里面。您也可以自己修改这个目录。

注意:在windows上面启动docker镜像之后,还需要进行时区设置。请参考后面的常见问题部分。

然后在命令行里面继续输入:

其中 /volume1/docker/wiz/data 是你之前在群晖上创建的为知笔记的数据文件夹。

/wiz/storage 是在为知的容器中的数据文件夹的路径,就是把这个文件夹映射到了群晖这个宿主机的指定目录中来了。

-V /etc/localtime:/etc/localtime 这个映射的目的是为了让容器中的系统时间跟宿主机的系统时间保持一致,不理解没关系,照着来就行了。

8888:80 表示将容器中的80端口映射到宿主机的 8888 端口,然后通过访问宿主机的 8888 端口就相当于访问了容器内的 80 端口了,这个 8888 是可以换成任意你想要的端口的,当然,需要是未被其他系统服务所占用的端口,在我的群晖上,我就喜欢用这个,谁让我喜欢 8 呢。

-e SEARCH=true 这个部分,是一个环境变量,就是开启为知笔记的搜索服务,不开的话,没办法对笔记进行搜索哦,当然,开启的话需要占用你更多的系统资源。

输入完以上的内容后,直接回车开始运行容器,就会创建一个名为 wiz 的容器,这个过程可能会比较长,请慢慢等待。

现在你回到群晖的管理页面中,通过 Docker 的管理界面,点击左侧 容器 可以看到一个名为 wiz 的容器已经在运行了,但是别急,可能还没运行完成,首次运行的时候需要启动一堆的应用,包括安装数据库,初始化配置等等,所以一定不要急,慢慢等,这个部分官方文档中其实有说明了。

第一次运行镜像,因为需要下载docker镜像,并且初始化数据,速度要慢一些。请耐心等待。(根据网络状况,可能需要10分钟或者更长时间。)在下载完成后,第一次启动镜像大概需要2-3分钟时间。

然后打开浏览器,在地址栏里面输入:http://localhost,如果服务正常,则会出现下面的界面。

图片[3]-为知笔记服务端docker镜像使用说明-LonHowe Blog

如果遇到下面的界面:

图片[4]-为知笔记服务端docker镜像使用说明-LonHowe Blog

通常表示为知笔记服务还没有启动起来,请继续等待并刷新浏览器。

注意:启动后请参考常见问题进行时区的设置

安装完成

安装完成后,打开浏览器,访问地址 http://10.10.10.10:8888 ,可以访问到为知的登录页面。

其中地址 10.10.10.10 是你群晖的访问地址,8888 就是我们运行容器时候映射的访问端口。

现在已经可以使用了,如果提示服务不可用,可能是未安装完成,或者是您是通过图形化界面初始化运行的容器,导致了目录权限不够,导致的服务启动失败,请重新安装上文的 启动容器 通过命令行方式启动容器。

如果您当前服务器/电脑的80端口已经被占用,则可以使用其他的端口,例如使用8080端口

将上面命令中的-p 80:80 修改为 -p 8080:80 即可。(前面代表当前服务器的端口,可以自行修改。后面的80端口不能修改)。

您也可以自行修改端口。注意,修改端口后,在浏览器里面,则需要输入相应的端口号,例如:

如果您需要为局域网内其他用户提供服务,则需要获取自己电脑的ip地址(局域网ip,具体方法,请自行搜索),然后在浏览器地址栏里面输入类似下面的地址即可:

如果不是80端口,则需要包含端口号,例如:

如果是Windows系统,通常情况下,您需要在Windows防火墙中开放相应的端口。

常用命令

修改启动参数,并重新启动服务,例如修改映射端口

其中第三行,请自行修改为自己需要的命令行。

系统重新启动后,重新启动服务:

更新服务命令行:

其中最后一行,请自行修改为自己需要的命令行。

推荐的用户管理方式

或者使用 Watchtower 来自动更新 WizNote 的镜像:https://github.com/containrrr/watchtower

安装完成后,默认管理员账号是 admin@wiz.cn ,密码是 123456 ,您可以使用这个账号登录,并修改密码。

登录成功后在左侧用户头像的位置,点击昵称旁边的箭头,再点击 账户设置 ,在 账号设置 中点击 修改密码 进行修改,建议修改成一个包含大小写字母、数字、符号的巨复杂的密码,并妥善保管好该密码。

建议管理员账号 不要修改邮箱 ! 不要修改邮箱 ! 不要修改邮箱 !

理由很简单,修改了邮箱之后无法登录 系统管理 页面,需要修改回来之后才行,那么日常使用的账号怎么办呢?

退出登录(当前管理员账号),返回到登录页面中,点击右上角的 注册 按钮,注册一个新的普通用户账户进行使用,当然,这会使您免费的 5 个账户中,浪费一个,当然,作为个人用户来说,无所谓,事实上相信很多在群晖上进行部署的个人用户,有一个账号就够用了,这也能更好的保障系统的安全性。

注意:私有服务器使用的账号邮箱请勿跟官方服务器使用的账号邮箱相同!!!

服务端启用HTTPS

服务端启用HTTPS,比较推荐的方式是采用反向代理,也是最简单的方式,这里不对NGINX的配置做具体的说明,既然是在群晖上部署,其实群晖已经提供了可视化的工具给我们。

在群晖的管理页面中,点击 控制面板 - 应用程序门户 - 反向代理服务器

图片[5]-为知笔记服务端docker镜像使用说明-LonHowe Blog

这里可以看到我配置的一大堆的反向代理的服务,点击 新增 ,按照下图进行填写。

图片[6]-为知笔记服务端docker镜像使用说明-LonHowe Blog

描述随便写即可,为了便于管理,我写的 wiz,来源协议我们选择 https ,毕竟我们就是为了开启https么,主机名这里的 *表示的所有访问这台群晖 7777 这个端口的请求,当然,如果您想使用二级域名的话,这里也可以配置成二级域名,这里就不展开了,可以自行查询DNS管理相关知识。

目的地协议,选择 http ,因为我们的容器开放的就是http服务,主机名填写群晖的ip地址,端口号填写我们之前配置的容器开放的 8888 端口。

至此配置完成,当然,这里需要你的群晖已经配置的SSL证书,群晖默认是会签发自签名证书的(就是自己给自己发的证书,别人访问的时候会提示这个证书存在安全风险),如果想使用正式的ssl证书,推荐可以使用 acme 脚本在群晖上配置个计划任务,自动签发、续签免费证书,具体脚本和使用方法可以在 github 中查找 acme 项目,并自行查找相关配置方法,这里不在展开。

使用DDNS实现公网访问群晖和相关DNS解析配置,不在本教程讨论范围内,有兴趣的可以自行查找相关资料。

客户端连接配置

客户端登录私有部署的为知服务端,需要首先找下界面中的 切换服务器 PC端、手机端显示的位置可能有所不同,自己在登录界面上找一下,这里就不贴图了,点击后选择 登录到企业私有服务器(为知盒子) ,登录界面会切换成三个输入框,分别是:

账号:填写您私有部署的账号

密码:账号对应的密码

服务器地址(就是最后一项):服务器的访问地址

这里主要说一下服务器的访问地址,如果您没有配置反向代理,没有配置HTTPS,那么直接输入 10.10.10.10:8888 ,即可,含义不再解释,如果您按照我上述的方式配置了https,服务器地址填写:https://10.10.10.10:7777 必须完成填写协议头和端口号。

常见问题

该服务如何收费?

5 用户以下免费使用,超出 5 用户,按照用户数的方式按年收取费用,请与我们售前客服联系

如何配置https

/docker-https

管理员账号是什么?

默认管理员账号:admin@wiz.cn,密码:123456。请在部署完成后,使用这个账号,登录网页版,然后修改管理员密码。其他用户,请自行注册。免费版本可以注册5个用户(不包含管理员账号)

为知笔记数据保存在哪里?

所有数据,都保存在我们前面建立的目录里面。请定时备份该目录,避免数据丢失。

重新启动服务器/电脑后,如何重新启动为知笔记服务?

在命令行中窗口/终端中,输入

就可以重新启动为知笔记服务了。

可以使用企业已有用户登录吗?

可以,请联系我们的客服。

数据可以保存在专用的存储设备或者私有云里面吗?

可以,请联系我们的客服

可以使用客户端访问吗?

可以,您可以直接使用所有的官方客户端,然后在登录的时候,选择登录到企业私有服务器即可。注意:该功能仅限于客户端所在网络可以访问到您的企业私有服务器才可以。例如,手机客户端,在离开公司网络的环境下,通常无法访问私有部署的为知笔记。但是已经离线的数据,则可以正常访问。也可以在离线环境下新建/修改笔记,并在回到公司后进行同步。

可以禁止客户端访问吗?

可以禁用客户端访问,确保数据只能通过网页版访问。一旦离开公司网络,就无法访问任何数据。

为知笔记服务端有时间限制吗?

没有。在限定的用户数量下,您可以永久免费使用。如果想要更多用户使用,请联系我们购买使用许可。

如何升级为知笔记服务端?

我们会经常更新docker镜像。您只需要下载更新docker镜像,然后重新启动docker镜像即可升级为知笔记服务端。无需更多额外操作。

下面是更新镜像命令行:

更新完成后,重新使用前面启动镜像的命令,就可以完成服务端升级。你也可以使用 Watchtower 来自动更新 WizNote 的镜像:https://github.com/containrrr/watchtower

或者参考前文中 下载为知的Docker镜像 进行新镜像的下载。

下载完成后,在群晖的管理界面中,打开 docker - 容器 ,找到容器 wiz 点击最右侧的开关进行关闭。

容器关闭后,在容器上点击右键,选择 删除 ,等待删除完成,这个过程可能会非常慢。

容器在运行状态是无法删除的。

容器删除完成,且新的镜像下载完成后,参考本文中 启动容器 ,通过命令行方式登录到宿主机(群晖)上,执行启动容器的命令,等待启动完成,更新容器启动的过程还是非常快的(主要是数据库不需要重新创建了),至此更新完成。

使用一段时间后,如果想要将数据从本地硬盘迁移到NAS或者云存储里面可以吗?

可以。包括数据库,笔记数据内容等,都可以完整的进行迁移。具体方案,请联系我们的客服。

如何进行数据备份?

您可以自己备份用户数据目录,或者将数据保存在NAS/云存储里面。如有需求,请联系我们的客服。

可以部署在路由器里面吗?

由于路由器通常CPU性能较低,内存也不够大,所以基本无法运行起来。

可以支持微信/微博/邮件收藏吗?

可以。点击这里查看使用方式

服务启动后新建笔记时间不正确

因为docker镜像默认时区不正确。因此需要进入docker里面手工设置一下时区,命令如下:

上面的命令,会把docker里面的时区设置为东八区(北京时间)。如果需要设置成其他的时区,请自行修改上面的命令。具体时区的名称,可以搜索linux时区名称获取。

如果是linux,则可以通过在命令行里面加入命令,来自动获取当前时区:

完整命令行:实际使用是,请根据自己的情况调整其他参数,例如映射路径,端口映射等。

如果是mac系统,则可以通过下面的命令行来自动设置时区(实际使用是,请根据自己的情况调整其他参数,例如映射路径,端口映射等。)

群晖NAS使用docker镜像注意问题

  1. 目录映射,请勿在群晖管理界面建立目录映射,这样目录权限会有问题。请ssh到NAS里面,然后按照前面linux方式建立数据目录。
  2. 群晖NAS无法直接使用80端口,请自行选择合适的端口。

基础概念普及和名词解释

什么是Docker?

我们不讨论技术层面的问题,单从应用的角度去看,可以简单粗暴的认为,Docker就是一种虚拟化技术,再通俗一点讲,Docker就像在你的电脑/服务器上临时划出了一个专属的硬件资源空间,给专门的操作系统、软件去使用的,并且可以随时收回这些资源的一种技术,想详细了解这一技术请自行查询相关资料。

举个例子:Docker就像是给了你一个用来放杯子的托盘。

什么是Docker容器?

简单粗暴的解释,就是已经划定好的给某一个系统、软件进行运行的资源空间,这个容器里面执行的程序是相对独立的。

举个例子:Docker容器就是一个放在托盘上的杯子,启动容器就是这个杯子里冲好了咖啡,可以直接喝了。

什么是Docker镜像?

通俗的解释,可以理解成一整套包含了系统和所有配套设施的软件系统。

举个例子:Docker镜像就是帮你加工好的咖啡包,你只需要倒到杯子里,冲上热水就可以得到以备香浓的咖啡,当然如果有必要的话,你也可以再加点糖、加点奶。

什么是宿主机?

就是用来安装Docker的电脑/服务器。

举个例子:宿主机就是用来摆放托盘的桌子,或者是你端着托盘的那只手。

什么是反向代理

反向代理的作用是当用户访问某一个网络地址时,反向代理服务器会根据请求的情况选择拒绝,或向后端服务请求资源返回给用户。

举个例子:孩子跟妈妈说,我要喝水,妈妈拿了杯水递给孩子,妈妈就是反向代理服务器,要喝水是请求的动作,妈妈拿水给孩子是请求到的资源。



微信扫描下方的二维码阅读本文

© 版权声明
THE END
喜欢就支持一下吧~
点赞0 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容