绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
如何使用 Docker 部署一个私有化的为知笔记
2021-07-02 14:26:38




为知笔记: 私有部署 Docker 镜像,我们来了!

1. 为知笔记功能简介

您可以直接使用docker运行为知笔记服务端,不需要有任何IT知识。为知笔记私有部署Docker镜像,包含有完整的为知笔记服务端以及所需的各种环境,同时还包含了为知笔记网页版。您只需要启用为知笔记服务端,就可以利用自带的为知笔记网页版,在局域网内无限制使用为知笔记各种功能了。

  • 先安装 Docker 应用,获取镜像,启动即可
  • 运行成功后,通过域名访问,可自行创建团队、群组,注册用户
  • 免费版本,多支持 5 个用户进行使用,不包含管理员账号
  • 授权付费版,价格为199 元/用户/年
  • 没有功能,使用时间等限制
  • 可以使用为知笔记官方桌面/手机客户端访问私有部署的为知笔记服务
  • 可以禁止客户端访问,保证所有数据只能在公司网络内访问

部署简单、灵活,且官方一直保持持续的更新。几行命令即可完成部署为知笔记的后台应用、Web 应用、数据库应用均打包在 Docker 镜像中,保证了环境一致性和标准化,可快速部署,持续更新。

  • 支持私有云部署
    • 支持阿里云、腾讯云,AWSMicrosoft Azure
  • 支持单点登录
    • 自动开-户,可对接 ADHTTP、第三方APP等已有的帐号系统,保持终用户登录体验的一致性,亦可对接已有的短信、邮件网关
  • 数据安全且权限可控
    • 分布式存储技术,宕机自动迁移,多重数据备份等,保证数据安全可靠;文档采用公开的 HTML 格式并进行ZIP压缩,方便数据迁移证书加密,数据密文保存;全链路SSL支持;后台可设置数据管理员、分享管理员,对分享群组可设置团队管理员和群组管理员,对笔记操作权限可划分为超级成员、编辑、作者、读者
  • 可视化数据分析
    • 统一的数据分析后台,支持对不同服务器的文档、附件、索引进行数据统计,还可对用户登录等行为进行阶段性的统计,便于评估与反馈推广效果

为知笔记私有化部署

2. 为知笔记容器部署

需要事前安装好 Docker 相关的一系列工具


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

  • 系统需求
    • 操作系统:Windows / macOS / Linux
    • CPU:Intel/AMD x64 / ARM v7 (arm32)/ ARM 64
    • 内存:至少2G以上
  • 私有化部署 - HTTP
version: "3"

services:
  watchtower:
    restart: on-failure
    image: wiznote/wizserver
    container_name: wizserver
    ports:
      - "80:80"
      - "9269:9269/udp"
    volumes:
      - /data//wiz/wizdata:/wiz/storage
    environment:
      - TZ='Asia/Shanghai'
    networks:
      - wizserver_network

networks:
  wizserver_network:
  • 管理员账号
    • 默认管理员账号:admin@wiz.cn
    • 默认管理员密码:123456

为知笔记私有化部署

3. 为知笔记支持 SSL

为知笔记私有部署配置 https 的方法


如果您需要给为知笔记私有部署配置HTTPS服务,则您应该自己增加一个nginx服务,并在这个nginx上面配置您的网站证书。具体nginx安装和启动方式,请自行搜索。

  • SSL 证书配置

由于为知笔记私有服务需要动态获取您的域名以及客户端使用的协议,因此,您需要在您的nginx服务上面增加一些配置,让客户端使用的协议,能够传递给为知笔记服务。

ssl_certificate /etc/nginx/server.crt;      # 改成你的证书的名字
ssl_certificate_key /etc/nginx/server.key; # 改成你的证书的名字
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5:!EXP;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;

  • Nginx 服务配置

通过配置自动获取协议的这种方式,客户端可以使用http或者https协议,为知笔记服务能够自动获取客户端使用的协议。配置nginx 反向代理 proxy_set_header 块,在 server 里面,增加下面的配置,即可。

server {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header x-wiz-real-ip $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
...
}

如果您的nginx 只有一个server 模块,或者其他的server模块没有特殊的需求,那么上面的配置,也可以统一配置到http模块中。

http {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header x-wiz-real-ip $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
...
}

如果您的nginx有多层,那么您可能还需要额外的配置,在http 模块中加入以下配置。然后在server模块或者http模块里面,将前面配置中的proxy_set_header 字段替换为下面的代码,然后重新启动nginx服务即可。

http {
map $http_x_forwarded_proto $thescheme {
default $scheme;
https https;
}
...

proxy_set_header X-Forwarded-Proto $thescheme;
...
}
  • 强制使用 https 协议

如果您的nginx服务,并没有直接面向终用户,而是在某些负载均衡/cdn后面,并且您的ssl证书是在这些负载均衡/cdn上面配置的,那么有可能会导致nginx无法正确获取客户端所使用的协议,从而导致无法将客户端使用的协议传递给为知笔记服务。在这种情况下,您可以修改nginx配置,强制通知服务使用https协议。修改前面的配置,直接将proxy_set_header字段替换为下面的代码,然后重新启动nginx服务即可。

 proxy_set_header X-Forwarded-Proto "https";
  • 测试配置是否生效

在浏览器内输入 https://your-server/?p=wiz&c=endpoints 地址,正常情况下,会返回一个json数据,检查个key wizas的值,应该是https开头。如果是http开头,则说明配置没有生效。

4. 为知笔记参考链接

  • wiznote/wizserver
  • 为知笔记服务端 docker 镜像使用说明
  • 为知笔记私有部署配置 https 的方法
  • 如何将公有云个人笔记迁移至私有服务

本文转载自:「 Escape 的博客 」,原文:https://tinyurl.com/y6eep7cm,版权归原作者所有。






分享好友

分享这个小栈给你的朋友们,一起进步吧。

Docker 专区
创建时间:2020-05-08 10:53:18
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

技术专家

查看更多
  • 小雨滴
    专家
戳我,来吐槽~