Docker一键部署Wiki知识库系统
💡
Wiki.js 是一个基于 Node.js 的开源项目,用于构建自定义的个人或团队知识库系统。它提供了一个简洁美观、功能强大的 Web 界面,让用户可以轻松创建、编辑和共享知识内容。
界面预览
一、首页
二、定制化选项
支持多种语言包
三、便捷的知识库内容管理
四、支持多种主流的身份验证
五、多种知识内容形式的展示
六、数据存储的支持
七、其他系统功能支持
环境准备
- VPS一台 最低配置1核1G 带宽1M即可
- 服务器系统:本文演示的系统是ubuntu20.04(LTS)
- 域名一个
- 安装好Docker、Docker-compose、Nginx Proxy Manager
- SSH工具:FinalShell官网
部署过程
一、系统初始化,更新索引
#更新索引库
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控制台
更改系统语言