为知笔记私有化Docker部署


iznote/wizserver安装

登陆NAS,打开套件中心,搜索docker,并安装。

搜索wiznote,找到wiznote/wizserver,双击下载

在NAS中创建共享目录,用于存放笔记数据

  • 启动File Station

  • 在docker目录下创建文件夹: wiz

  • 在wiz文件夹下创建文件夹:data

  • 双击创建容器,启用资源限制,设置为内存限制4096MB,官方介绍说需要4G内存

  • 高级设置,启动自动重新启动

  • 卷设置,使用刚才我们创建的data目录进行配置,装载路径/wiz/storagedocker/wiz/config装载路径/wiz/app/wizserver/config

  • 网络设置不动,端口设置添加映射:8888映射80端口(8888可以随便设置,跟访问地址有关)

  • 设置环境变量

SEARCH=true TZ=Asia/Shanghai
  • 直接应用,启动docker,然后就静静的等待吧,可以看看镜像的日志,看到这些基本上就差不多启动好了(最新的镜像在NAS上首次启动非常慢,本人等了一个多小时才完全启动完毕,在本地安装速度非常快)

  • 通过 http://NAS的IP:8888,进行访问,就可以看到已经启动完成

为知笔记启动界面

默认管理员账号:admin@wiz.cn,密码:123456
管理后台登陆地址:http://IP地址:端口/wapp/pages/admin

NAS开启SSH

首先在NAS上启动SSH

登陆NAS,打开控制面板-终端机和SNMP,在启动SSH功能前打上勾

打开命令行,输入

ssh NAS管理员账号@NAS的IP地址 ssh端口号默认是22

看到提示符,输入账号的密码,输入时不可见,输入完成按回车,看到命令行提示符变了,登陆成功。

进入容器

在命令行中输入

sudo docker ps

可能提示输入密码,就输入NAS管理员的密码即可,显示列表,查看到如下列表,找到其中运行了为知笔记的一行

复制为知笔记的CONTAINER ID,然后再输入如下命令并回车:

sudo docker exec -it 粘贴刚复制好的ID号 /bin/bash

至此进入到容器中

修改配置文件

输入如下命令打开配置文件进行编辑:

vi /wiz/app/wizserver/config/default.json

vi命令的具体使用方法请自行百度,保存好后退出,重启容器生效。

进入docker,修改文件/wiz/wizserver/app/config/default.json

"as": {
     "admin": ["admin@wiz.cn"],
     "share": {
       "admin": ["admin@wiz.cn"],
       "enableHttps": false,
       "enableSubDomain": false,
       "appShareUrl": "127.0.0.1:5001"
     },

其中127.0.0.1:5001修改为自己的服务器访问地址,可以给docker做个端口映射(因为群晖NAS占用了5001端口),譬如映射8889端口到容器的5001端口,则设置为xxx.xxx.xxx.xxx:8889,分享后的链接即为该链接。

在NAS上可以用反向代理来解决二级域名的问题。

分享功能需要用户绑定手机,并完成认证,在docker中登陆数据库,并修改数据

mysql -u root -p

输入密码,密码在docker中/wiz/wizserver/app/config/default.json中查看

"mysql": {
  "as": {
   "host": "127.0.0.1",
   "user": "root",
   "password": "******************",
   "database": "wizasent",
   "connectionLimit": 50,
   "connectTimeout": 60000,
   "aquireTimeout": 60000,
   "waitForConnections": true
  },

其中password就是密码,进入mysql控制台后,执行以下命令:

use wizasent;
update wiz_user set MOBILE='你的手机号', MOBILE_VERIFY='1' where ID='1';

web端登陆为知笔记,并修改默认账号后,修改后的账号无法登陆管理后台,需要做以下配置,修改文件/wiz/wizserver/app/config/default.json,找到以下代码:

"as": {
  "admin": ["admin@wiz.cn"],
  "share": {
    "admin": ["admin@wiz.cn"],
    "enableHttps": false,
    "enableSubDomain": false,
    "appShareUrl": "127.0.0.1:5001"
  },

其中admin@wiz.cn修改为修改后的账号。

登陆NAS,打开控制面板-应用程序门户-反向代理

点击新增,然后输入如下:

实际测试来源协议选择https时只有网页端可以登陆,客户端无法登陆,暂时还是选择http为好,也可以网页端通过https登陆,客户端通过http登陆,配置两个不同的端口(记得要在路由上配置端口映射)。

修改default.json

{
  "debug": true,
  "enableHttps": true,
  "storage": {
     "__comments": "oss|local|s3|cos",
     "use": "local",
     "oss": {
       "bucket": "data_root",
       "region": "test",
       "accessKeyId": "test",
       "accessKeySecret": "test",
       "internal": false
     },

其中enableHttps配置成true

重启服务

cd /wiz/app/wizserver
pm2 restart all

删除/wiz/storage/index/.search文件和/wiz/storage/index/nodes目录

重启容器

链接数据库,执行下列SQL

update wizksent.wiz_kb_stat set index_new_status=4

进入容器,执行

cd /wiz/app/wizserver
pm2 start app.js --name="index2"  -f -- -c 1 -i 1 -t 2 -s index
pm2 start app.js --name="index2"  -f --  -s copy

查看日志

pm2 logs index2

下载官方插件,并安装到Chrome中

http://www.wiz.cn/downloads-webclipperchrome.html

在浏览器中输入chrome://extensions/打开插件列表,开启开发者模式

看ID号,在浏览器中输入chrome://inspect/#extensions在打开的列表中找到WizClipper,点击inspect,开启调试窗口。

选择Sources标签,并打开文件Scripts\wiz\WizConstant.js

在代码中查看note.wiz.cnapi.wiz.cn的网址全部替换成自己私有云的地址,实测,登陆没问题,保存失败。

管理功能

  1. 增加重建索引功能,以备不时之需

  2. 增加备份与恢复功能

  3. 增加markdown语法扩展:
    flow(流程图)、sequence(时序图)、mermaid(流程图、时序图、甘特图)、LaTeX(公式)

  4. 增加手动配置分享链接

  5. 支持社交绑定的配置

  6. 支持对象存储或webdav存储

Web&Mac客户端

  1. 增加自定义模板

  2. 增加偏好设置,自定义快捷键(主要是编辑和预览切换的快捷键非常不适应)

  3. 增加同步预览模式,可以参考下Typora,Bear都不错

  4. 增加https访问方式

  5. 支持导出jpg、png、docx格式

浏览器插件

  1. 增加支持私有云登陆

【部署环境】
群晖DS1517+(DSM6.2.2)
容器分配内存4G,CPU*2核

【出现的问题】

  1. 网页版上提示,自动保存失败,网络错误,请尽快保存(最后发现是时区不通道导致的,第8点解决了此问题)

  2. 所有社交平台账号无法绑定

  3. mywiz邮箱不可修改

  4. 绑定手机无法收到验证码,即无法绑定手机(通过修改数据库搞定)

  5. 存储设置功能多余(因为已经本地化部署了),改成数据备份/恢复就好了

  6. 支付信息是支付到为知去的,这个功能容易产生误解(如果多人使用的话)

  7. docker容器的时区与宿主机时区不同,添加环境变量解决,TZ=Asia/Shanghai

编辑整理 From: 大大木头 [为知社区]


文章作者: 夜法之书
版权声明: 本博客所有文章除特別声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 夜法之书 !
评论
 上一篇
Joplin 入门指南&实践方案 Joplin 入门指南&实践方案
Joplin跨平台支持,包括PC桌面端,移动端,甚至提供了命令行版本,原生支持 markdown 格式,搜索速度快,可以通过其他第三方同步工具 (Dropbox/NextCloud/OneDrive/WebDAV/etc) 进行备份以及同步 ,支持浏览器Web clipper即网页剪贴。
2021-09-09
下一篇 
Mariadb/Mysql命令行常用命令 Mariadb/Mysql命令行常用命令
mariadb mysql 命令及其配置详解。从基础到深入,初中高级都有收获,基本覆盖所有常用命令,入门必看。
2021-09-08
  目录