Docker一键部署Wiki知识库系统

💡
Wiki.js 是一个基于 Node.js 的开源项目,用于构建自定义的个人或团队知识库系统。它提供了一个简洁美观、功能强大的 Web 界面,让用户可以轻松创建、编辑和共享知识内容。

界面预览


一、首页

首页
编辑器引导页

二、定制化选项

定制化界面

支持多种语言包

系统语言包

三、便捷的知识库内容管理

知识库组织架构

四、支持多种主流的身份验证

用户身份认证

五、多种知识内容形式的展示

普通文本/音视频/特殊表情/数学公式/代码片段等功能的开启

六、数据存储的支持

数据存储的支持

七、其他系统功能支持

系统设置类

环境准备


部署过程


一、系统初始化,更新索引

#更新索引库
sudo apt-get update

二、创建wiki容器

#切换到root用户
sudo -i

#在root目录下递归的创建一些文件夹,如果父目录不存在则先创建出来
mkdir -p /root/data/docker_workspace/wiki

#进入到gitea目录下
cd /root/data/docker_workspace/wiki

#创建一个docker-compose.yml配置文件
touch docker-compose.yml

#编辑该文件
vim docker-compose.yml

将下面代码复制到docker-compose.yml中保存即可(指定的端口,如例子中的8010端口事先要在服务器内部或云服务商后台开放)

version: "3"  # 使用Docker Compose 3的版本

services:  # 定义服务
  db:  # 数据库服务
    image: postgres:15-alpine  # 使用 PostgreSQL 15的Alpine版镜像
    environment:  # 环境变量设置
      POSTGRES_DB: wiki  # 设置数据库名称为wiki
      POSTGRES_PASSWORD: wikijsrocks  # 设置数据库密码为wikijsrocks
      POSTGRES_USER: wikijs  # 设置数据库用户名为wikijs
    logging:  # 配置日志
      driver: "none"  # 禁用日志记录
    restart: unless-stopped  # 容器退出时会自动重启
    volumes:  # 持久化存储
      - db-data:/var/lib/postgresql/data  # 将数据存储在`db-data`卷中,让数据库持久化

  wiki:  # Wiki.js 服务
    image: ghcr.io/requarks/wiki:2  # 使用Wiki.js的Docker镜像(版本2)
    depends_on:  # 配置依赖关系,确保数据库服务先启动
      - db
    environment:  # 设置Wiki.js连接数据库的环境变量
      DB_TYPE: postgres  # 数据库类型为PostgreSQL
      DB_HOST: db  # 数据库主机设置为 db(即服务名称)
      DB_PORT: 5432  # 数据库端口为 5432
      DB_USER: wikijs  # 数据库用户名
      DB_PASS: wikijsrocks  # 数据库密码
      DB_NAME: wiki  # 数据库名称
    restart: unless-stopped  # 容器退出时会自动重启,除非手动停止
    ports:
      - "8010:3000"  # 将容器内的3000端口映射到宿主机的8010端口,方便访问Wiki.js

volumes:  # 定义Docker卷
  db-data:  # 定义用于数据库持久化数据的卷

拉取项目镜像并在后台启动容器

docker-compose up -d

三、Wiki初始化

打开浏览器,地址栏内输入服务器IP:8010端口形式访问。

如果已经有自己指定的域名,也可以在这个界面的SITE URL中填写,后续可以通过域名来更便捷的访问该系统。

上图中的Telemetry选项可以关闭,除非你允许将自己部署的 Wiki.js 的某些数据(如使用频率、功能使用情况等)匿名化后发送给开发者。

填写完注册信息后,如下图所示

系统注册初始化界面
登录界面
系统引导首页

点击进入ADMINISTRATION控制台

控制面板

更改系统语言

默认英语界面
中文界面

创建知识库


知识库展示


知识库展示界面

知识库搜索


移动端展示


移动端上的自适应展示