【终极教程】:为知笔记在威联通NAS的私有化部署(内含独门绝技)
一、发端:
为知10年的老用户了,介于他们团队的重心以及产品迭代的节奏,一直担心哪天就停服了。其实在上次续费前,就想过找个大一点的厂商的产品替换,无奈笔记文件的导出实在麻烦,何况60一年真的不贵,就又继续续费了。直到我前几天又看到这个弹框
考虑到笔记在平时工作生活中还是非常高频的存在,算是未雨绸缪吧,决定这次无论如何决定折腾一把了。
二、方案选择
1. 选择迁移其他云笔记:导数据太麻烦,且不解决安全和长期服务的问题;一度想入坑onenote,但是听说2024年了,同步问题还是或多或少影响体验。
2. 选择本地部署:类似jolplin、ob是私有化部署的当红炸子鸡,一度想过入坑,不过最后还是在数据迁移以及使用习惯上犹豫了。
3. 为知的本地部署:使用习惯不用变,为知官网还在更新私有化部署的文档,感觉是团队重心到TOB之后,为企业定制的私有化部署方案。可以问客服要公有云到私有化部署的迁移教程(虽然我自己也摸索到了),最终决定还是用另一种方式“支持”为知笔记
至于私有化本身要考虑的问题,比如服务稳定性啥的,是后续不管部署哪个方案,都要解决的问题。
三、常规部署
官方提供的是基于docker的服务端镜像,看了下服务端架构是基于nginx+nodejs的选型,总体对内存和cpu还是有一定的要求,特别是内存,至少需要2G,请有条件后再尝试。由于官方文档是纯docker的命令行部署,下面基于威联通的container station再贴一下整体过程。有一些细节还是要注意的。
获取镜像
1. 整个服务端的镜像大小大概有3-4G,所以直接从dockerhub下载,网络是不行的。
2. 在属性设置中,增加国内的mirror加速地址,用图里面的一般就可以了
3. 从加速站下载镜像文件到本地,注意镜像文件名称不要写错
创建容器
4. 等待镜像下载完成后,在镜像文件列表里面,可以看到通过mirror下载的wiznote服务端镜像 ,点击右侧+号,进入容器创建过程。
5. 容器创建过程,就是网上资料最多的内容,不再赘述,纯看图吧,几个主要的配置,和我保持一样就行了
这里的udp端口是什么作用,还没研究,似乎不写也不影响使用,猜测是协同的时候用来实时通信的?有知道的大佬可以留言。
启动容器
按照以上配置启动容器后,使用
NAS局域网IP:aaaa访问 ,比如192.168.1.66:aaaa,aaaa就是上文图中配置的端口。应该可以访问到内网部署的为知笔记web端页面。
用户名:admin@wiz.cn 密码:123456
建议在内网环境修改好密码。
四、添加外网访问
按照以上方案,如果本身nas就具备内网穿透的能力,一般只要再配置一个aaaa和bbbb的端口转发就能使用了,对于威联通的NAS如何具备内网穿透能力,这里不再赘述了。威联通官方也提供了ddns域名的服务。不过以上设置都还是基于HTTP的。对于外网访问回去NAS这样的设备,强烈建议使用HTTPS回去。
对于威联通NAS,有一个免费的证书可以使用,建议参考黑群老司机转正威联通---QNAP TS-551 转com域名并部署SSL证书_NAS存储_什么值得买 (),一步到位完成官方ddns和https证书的设置。
五、多端的HTTPS连接问题,重点!!!
当我完成对web端服务的部署和https设置后,发现不管是windows经典版、X版本、IOS版本和安卓版本,都不能正常登录或者能够登录,但是同步异常!!!现象如整个帖子描述一样:
私有化部署的为知,客户端无法登录,网页端https正常【为知笔记吧】_百度贴吧 (baidu.com)
结论是告诉我要用http!! 这没法忍啊!!白搞了么??
我偶然发现,小黄鱼上竟然有卖为知笔记私有化坑位的!!,我就问了下他们是否支持https,告诉我可以,那就说明还有希望!!
六、看到曙光
其实,在官方部署文档里面最后,提到了为知笔记 | 为知笔记私有部署配置nginx反向代理和https的方法 (wiz.cn),我用测试url验证了下,果然,虽然我浏览器用https访问了web服务,但是实际在wiznote服务内部,还是认为没有开启。返回都是http!
官方提到的设置方法,大概的意思是,https的反向代理,需要在请求头里面,家一些客户端真实IP以及协议的信息,后端服务才能返回正确的协议握手报文。
问题来了,威联通的反向代理,哪里去配置这些内容呢?反向代理,一定使用的nginx吗?? IT男的技能继续发挥下,ssh进去看下吧。。。,发现了这玩意:
似曾相识啊,验证下吧,就是apache...,看不懂没事,意思就是和官方的示例不一样就行了,需要自己魔改。
七、魔改,把Nginx配置翻译成Aapche
这里的过程,就不多赘述了,核心原理,就是把上面官方的需要支持https的NGinx配置,翻译成威联通反向代理能够认识的的配置。当然这个在NAS设置页面里面,肯定找不到。
威联通NAS在反向代理设置里面的每一条配置,都会生成一个单独的配置文件,位置如下
修改反向代理配置
我的为知笔记,是第三条规则,打开3.conf文件,在配置文件末尾,加上翻译过来的两条配置(我自己验证,有这两条就能工作了)
ProxyPreserveHost On
RequestHeader set "X-Forwarded-Proto" expr=%{REQUEST_SCHEME}
重启反向代理
修改完以上配置后,调用配置重加载命令,使修改生效
/etc/init.d/reverse_proxy.sh reload
注意:当我们在nas页面关闭或者新增配置的时候,可能上面增加的内容会被重新删除,我还没有来得及修改脚本,简单一些就是备份下,如果发现配置被复原,拿备份文件还原下就好。
八、迁移数据
完成多端的endpoint https改造之后,就开始迁移数据。为知笔记的最新的windows经典版本,是支持账号之间复制笔记的。
安装经典windows客户端,并先登录一次私有化账号
再登录被迁移的账号,在笔记本顶级目录右击,你能看到相关选项。这里就不详细说了
迁移完成后,新笔记里面,所有的笔记时间戳都会变成迁移当时的,这也是一个劣势,不过在笔记详情里面,还能看到笔记创建时间
九、备份数据
迁移到NAS之后,数据虽然安全了,但是本身丢数据的风险,反而比云端要增加了,所以对于笔记的数据目录,就是docker挂在的那个NAS目录,建议定期备份。威联通自带的HBS 3.0 功能比较丰富,支持把NAS本地数据,通过丰富的策略,备份到百度网盘等云端存储。强烈建议!!!
十、其他
至于支持微信/微博/邮件收藏,我还没时间尝试,根据官方文档,应该是可以的。我自己平时用的不多。
结语
通过自建服务,整体同步速度还是不错的,虽然为知笔记整体功能迭代已经不多,但是由于其多端的支持、良好的体验,虽然老气沉沉,整体还是能打的!对于有情怀的老用户,折腾一下还是挺有价值的。上述方案仅仅在我自己的威联通NAS测试通过,如果有什么问题,欢迎留言讨论啊~~
流年德云殇
校验提示文案
lqlxqby
校验提示文案
康康值得拥有
校验提示文案
值友7943900008
校验提示文案
值友3407231920
校验提示文案
我有一个逗比叫我
校验提示文案
AI小值-电脑数码
校验提示文案
吃西瓜不吐西瓜子
校验提示文案
PunChaF
校验提示文案
时光深处的猫
校验提示文案
值友7316203722
校验提示文案
鲤伴先生
校验提示文案
Enjoy_Life
校验提示文案
我没有一壶酒
校验提示文案
我没有一壶酒
校验提示文案
Enjoy_Life
校验提示文案
鲤伴先生
校验提示文案
值友7316203722
校验提示文案
时光深处的猫
校验提示文案
PunChaF
校验提示文案
吃西瓜不吐西瓜子
校验提示文案
值友7943900008
校验提示文案
我有一个逗比叫我
校验提示文案
lqlxqby
校验提示文案
康康值得拥有
校验提示文案
值友3407231920
校验提示文案
流年德云殇
校验提示文案
AI小值-电脑数码
校验提示文案