前言
上一篇小薛就推荐过为知笔记,小薛也正在使用,感觉十分不错,买了一年的会员尝试一下,也写了文章推荐,具体可以看:
[post cid=”570″]
今天小薛教大家如何使用 Docker 部署一个私有化的为知笔记。
为知笔记功能简介
您可以直接使用docker
运行为知笔记服务端,不需要有任何IT
知识。为知笔记私有部署Docker
镜像,包含有完整的为知笔记服务端以及所需的各种环境,同时还包含了为知笔记网页版。您只需要启用为知笔记服务端,就可以利用自带的为知笔记网页版,在局域网内无限制使用为知笔记各种功能了。
- 先安装
Docker
应用,获取镜像,启动即可 - 运行成功后,通过域名访问,可自行创建团队、群组,注册用户
- 免费版本,最多支持
5
个用户进行使用,不包含管理员账号 - 授权付费版,价格为
199
元/用户/年 - 没有功能,使用时间等限制
- 可以使用为知笔记官方桌面/手机客户端访问私有部署的为知笔记服务
- 可以禁止客户端访问,保证所有数据只能在公司网络内访问
部署简单、灵活,且官方一直保持持续的更新。几行命令即可完成部署为知笔记的后台应用、Web
应用、数据库应用均打包在 Docker
镜像中,保证了环境一致性和标准化,可快速部署,持续更新。
- 支持私有云部署
- 支持阿里云、腾讯云,
AWS
、Microsoft Azure
- 支持单点登录
- 自动开户,可对接
AD
、HTTP
、第三方APP
等已有的帐号系统,保持最终用户登录体验的一致性,亦可对接已有的短信、邮件网关 - 数据安全且权限可控
- 分布式存储技术,宕机自动迁移,多重数据备份等,保证数据安全可靠;文档采用公开的 HTML 格式并进行
ZIP
压缩,方便数据迁移证书加密,数据密文保存;全链路SSL
支持;后台可设置数据管理员、分享管理员,对分享群组可设置团队管理员和群组管理员,对笔记操作权限可划分为超级成员、编辑、作者、读者 - 可视化数据分析
- 统一的数据分析后台,支持对不同服务器的文档、附件、索引进行数据统计,还可对用户登录等行为进行阶段性的统计,便于评估与反馈推广效果
为知笔记容器部署
为知笔记服务端提供了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
为知笔记支持 SSL
如果您需要给为知笔记私有部署配置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
开头,则说明配置没有生效。
当然使用宝塔面板的Docker部署也是可以的,而且简单快捷方便!
原文链接:https://www.xuemy.cn/archives/73.html