wikijs2的docker-compose安装
首先需要确认云服务器安装了docker-compose
Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。
Compose 使用的三个步骤
- 使用 Dockerfile 定义应用程序的环境。
- 使用 docker-compose.yml 定义构成应用程序的服务,这样它们可以在隔离环境中一起运行。
- 最后,执行 docker-compose up 命令来启动并运行整个应用程序。
docker-compose的安装步骤可以参考以下Docker Compose
编写docker-compose.yml文件
编写文件后,使用编译指令可以一键部署和一键解除以下3个容器,并且可以自动配置容器间通信,省去以前需要手动配置docker network的烦恼。
# 在同级目录下写入docker-compose.yml,可以实现一键部署
docker-compose up -d
# 可以一键解除
docker-compose down
具体yml文件如下,可以通过vim/vi指令复制粘贴到服务器上,也可以通过sftp上传到服务器上(此处推荐上传,用vi好像老是复制不全,如果有知道为什么的可以在评论区解释以下)
version: "3"
services:
db:
image: postgres:11-alpine # 如果初始化一直报错, 请降级11为9版本. (特别注意)
container_name: postgres
privileged:true #有下面的volumes选项,就要开启这个true,是这样?
environment:
POSTGRES_DB: wiki
POSTGRES_PASSWORD: wikijsrocks
POSTGRES_USER: wikijs
logging:
driver: "none"
restart: unless-stopped
volumes:
- /data/postgresql:/var/lib/postgresql/data
elasticsearch:
image: elasticsearch:7.11.2
container_name: elasticsearch
privileged: true
environment:
- "cluster.name=elasticsearch" #设置集群名称为elasticsearch
- "discovery.type=single-node" #以单一节点模式启动
- "ES_JAVA_OPTS=-Xms512m -Xmx1096m" #设置使用jvm内存大小
- bootstrap.memory_lock=true
ports:
- 9200:9200
wiki:
image: requarks/wiki:2
container_name: wiki
depends_on:
- db
- elasticsearch
environment:
DB_TYPE: postgres
DB_HOST: db
DB_PORT: 5432
DB_USER: wikijs
DB_PASS: wikijsrocks
DB_NAME: wiki
restart: unless-stopped
privileged:true #有下面的volumes选项,就要开启这个true,是这样?
volumes:
- /data/wiki/backup:/wiki/backup
ports:
- "80:3000" # 这里设置docker内部和外部的端口,比如你改成"80:3000"服务器默认输入ip/域名后就能直接访问了.
- "443:3443" # 添加默认的https映射
wikijs初始化
- 第一次进入wikijs需要设置管理员用户和密码,设置完成后可以进行初始化
- 初始化完成后进入管理页面,下载中文语言环境,将网页配置为中文
配置elasticsearch
- 在服务器上找到容器间通信的ip地址
docker network inspect docker_default
-
找到elasticsearch容器的ip地址
-
打开wikijs的管理页面-搜索引擎-ES
填写配置如下
配置 | 内容 |
---|---|
Elasticsearch Version | 7.x |
Host | http://172.21.0.2:9200 |
Index Name | wiki |
Analyzer | standard |
- 保存并重建引擎
配置git
详情参考官方文档
-
首先要保证机器上安装了git
-
进入容器并生成ssh
# 进入容器
docker exec -it wiki bash
# 生成ssh密钥对
ssh-keygen -t rsa -C "your_email@example.com"
# 将公钥复制出容器方便配置到github
docker cp wiki:/home/node/.ssh/id_rsa.pub id_rsa.pub
# 配置完成后可以通过以下代码测试ssh是否正常
ssh -T git@github.com
-
在上述公钥生成之后配置给github
-
进入wikijs管理页面,配置ssh私钥部分
填写配置如下
配置 | 内容 |
---|---|
Authentication Type | ssh |
Repository URL | git@github.com:YourRepository.git |
Branch | main |
SSH Private Key Mode | path |
A-SSH Private Key Path | /home/node/.ssh/id_rsa |
- 如果是全新的Repository注意分支内容
- ssh-keygen一定要在docker里生成,在宿主机上用没用