基于wiki.js搭建企业知识库文档系统。
这里使用开源项目wiki.js,使用容器搭建(官方支持docker教程)
Wiki.js官网:Wiki.js | Wiki.js有参考文档
这是官网,同样你看到的也是搭建后的大体模版,具体内容都是可以修改自定义的
选用wiki.js的原因以及wiki.js的优点:
- 易于使用:Wiki.js 提供直观的用户界面,使得创建和编辑页面变得简单,并且支持Markdown语法,使得编写内容更加便捷。
- 多语言支持:Wiki.js 支持多种语言,并且可以轻松切换语言,满足全球用户的需求。
- 强大的搜索功能:Wiki.js 提供了高效的搜索功能,帮助用户快速找到他们需要的信息。
- 版本控制:Wiki.js 支持页面的版本控制和历史记录,用户可以查看以前的版本并进行比较,方便回滚或恢复页面。
- 用户权限管理:Wiki.js 具有灵活的用户权限管理功能,管理员可以对不同用户或用户组设置不同的权限,控制他们的访问和编辑权限。
- 主题和插件支持:Wiki.js 支持多种主题和插件,用户可以根据自己的需求定制和扩展功能。
- 跨平台:Wiki.js 可以在各种操作系统上运行,包括Windows、macOS和Linux,同时也支持Docker部署。
Wiki.js 是一个功能强大、易于使用的Wiki应用程序,适用于个人、团队和组织管理知识库和文档。如果您正在寻找一个高效且方便的Wiki解决方案,Wiki.js 是一个很好的选择。
wiki.js的服务器要求
- Wiki.js几乎可以在任何支持Node.js的系统上运行。
- 这意味着它可以在Linux、macOS、Windows以及Docker/Kubernetes和Heroku等容器解决方案上运行。
CPU要求:Wiki.js在单个CPU内核上运行得非常好。但是,为了充分利用后台工作人员,建议使用2个或更多核心。
- 内存要求:Linux系统应该至少有1GB的RAM来运行Wiki.js。Windows和macOS系统通常需要更多的RAM。虽然进程本身通常有70MB左右的RAM,但一些事件(如页面渲染、索引等)会导致RAM使用量的短暂爆发。
- 存储要求:存储要求基于您将要输入的内容。几乎完全由文本组成的Wiki不太可能超过几兆字节。但是,一旦您上传了图像、视频或其他文件,就应该相应地规划您的存储需求。建议至少为Wiki.js提供1 GB的专用存储空间。
- 网络要求:Wiki.js会不时自动检查新的更新、语言、主题等。所以建议联网即可,如果是有严格要求的局域网环境,无法接入互联网,那么也可以选择不更新或者下载新内容进行本地更新,详见https://docs.requarks.io/install/sideload
- 存储要求:存储要求基于您将要输入的内容。几乎完全由文本组成的Wiki不太可能超过几兆字节。但是,一旦您上传了图像、视频或其他文件,就应该相应地规划您的存储需求。建议至少为Wiki.js提供1 GB的专用存储空间。
下面是搭建流程的介绍
这里介绍的是用容器搭建(容器镜像一定要用官方提供的,不要用歪的,不然真的要出事)
- 首先创建并进入工作目录
-
mkdir wiki #创建wiki的工作目录 cd wiki #进入wiki的工作目录
vim docker-compose.yaml #创建一个compose文件
以下是Wiki.js的Docker Compose文件的完整示例,使用PostgreSQL,在端口80上侦听:
version: "3" services: db: image: postgres:15-alpine container_name: db environment: POSTGRES_DB: wiki POSTGRES_PASSWORD: wikijsrocks POSTGRES_USER: wikijs logging: driver: "none" restart: unless-stopped volumes: - db-data:/var/lib/postgresql/data wiki: image: ghcr.io/requarks/wiki:2 container_name: wikijs depends_on: - db environment: DB_TYPE: postgres DB_HOST: db DB_PORT: 5432 DB_USER: wikijs DB_PASS: wikijsrocks DB_NAME: wiki TZ: Asia/Shanghai restart: unless-stopped volumes: #挂载目录可选,自定义路径,推荐配置文件和数据放在宿主机 - /root/wiki/config/config.yml:/wiki/config.yml - /root/wiki/data:/wiki/data - /root/wiki/assets:/wiki/assets/ - /root/wiki/LICENSE:/wiki/LICENSE - /root/wiki/server:/wiki/server - /root/wiki/package.json:/wiki/package.json - /root/wiki/node_modules/:/wiki/node_modules/ ports: - "3000:3000" volumes: db-data:
这边是用的NGINX做反代和SSL配置,wiki.js的配置文件也支持配置SSl,如果不用NGINX做反代,那么可以直接用以下端口映射:
ports: - "80:3000" - "443:3443"
完成之后使用命令
docker-compose up
运行compose服务,默认会占用窗口,也可以使用
docker-compose up -d
在后台执行该进程,也可以跟 -f 指定compose配置文件:
docker-compose up -d -f /文件路径
wiki初始化:
运行之后在浏览器访问IP即可进入wiki初始化:
安装成功之后登录后台,网站友好支持中文,可以直接去管理员
回到创建首页:
可以看到我们的wiki.js支持的编辑器是非常多的,这里选用markdown来做演示
可以看到wiki.js的展示效果,不管是作为内部知识库还是作为外部的知识文档都是非常不错的,可以评论,也有权限控制,可以设置内部专属和外部专属之类的。
还支持自定义主题:
常规页面可以设置网址,名称。LOGO,版权,还有自定义说明
页面展示效果:LOGO,网站名称,还有页面说明都是用户可以看到的,本文是在局域网中测试,如部署到公网,请一定遵纪守法
权限控制:
在用户组里面添加组和修改现存组的权限
可以看到权限控制很完善:
SETTINGS:设置
PERMISSIONS:权限
PAGE RULES:页面规则
USERS:用户
可以看到权限控制非常完善:可以对特定组的内容,用户,管理做控制,符合不同部门展现不同内容的需求
更多个性编辑以及页面设置后续更新