使用docker部署wiki.js

一、安装wikijs和数据库

        安装docker这些就不讲了,教程一堆。wiki相关的安装教程也可以去官网看,只是没那么详细,尤其是有关数据库的配置:Docker 部署 Wiki.js

        pull wiki镜像:

docker pull ghcr.io/requarks/wiki

        如果是arm的机器,也可以加相应的tag,官网提供了arm架构的镜像。

        有了wiki的镜像之后,我们还需要数据库,首推的是postgresql,那我们就用这个就行了,数据库也可以单独再创建一个容器,只需要拉取postgres等就可以了。

以下是数据库的两种安装方式:

1、手动安装postgresql

sudo apt install postgresql

        安装好数据库之后,先进行配置,使其能够在docker容器中进行使用:

sudo vim /etc/postgresql/<version>/main/postgresql.conf

        找到以下内容并进行修改:

#listen_addresses = 'localhost'

        修改为所有IP可登录:

listen_addresses = '*'

        再打开以下文件:

sudo vim /etc/postgresql/<version>/main/pg_hba.conf

        在文件末添加一行:

host    all             all             0.0.0.0/0               md5

        修改完以上两个文件之后,就支持远程IP登录数据库了,别忘了重启下服务

sudo service postgresql restart

        然后我们创建一个用户和表用于wiki使用,postgres 是安装之后默认创建的管理用户:

sudo -u postgres psql

        进入之后就可以创建用户和数据库表了,一般创建用户、表和授予权限就行了:

创建新用户:CREATE USER username WITH PASSWORD 'password';

创建新数据库:CREATE DATABASE database_name;

授予用户对数据库的访问权限:GRANT ALL PRIVILEGES ON DATABASE database_name TO username;

修改用户密码:ALTER USER username WITH PASSWORD 'new_password';

2、 使用数据库容器

docker pull postgres
docker network create --subnet=192.168.5.0/24 --gateway=192.168.5.1 wiki-network

docker run -d --name postgresql  -e TZ=Asia/Shanghai --net wiki-network --ip 192.168.5.10 -v /home/feng/test/docker/postgresql:/var/lib/postgresql/data -e POSTGRES_PASSWORD=fc123123 postgres:latest

   查看docker容器的IP:

docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' postgresql

        我这里将容器的数据挂载到/home/feng/test/docker/postgresql下了,到时候可以启动新容器映射这个文件,相当于恢复数据。同时固定了容器的IP,以便于重启后wiki容器也可以访问,不然docker会每次启动时动态分配IP,docker网络可以在主机通过sudo docker network ls查看。

        进入容器修改配置使其能支持外部IP登录,然后创建用户,按照上面的方法改就行,不过路径不在/etc下面,在/var/lib/postgresql/data/下。容器中大概率没有安装vim,可以先自行安装:

#进入容器
docker exec -it postgresql bash
#进入数据库
psql -U postgres

       我在配置好之后,wiki容器一直在退出,查看log是无法创建表,怎么添加都没用,我就直接把wiki用户升级为超级管理员用户了,由于我对数据库不太熟,这种做法不太推荐:

ALTER USER wiki WITH SUPERUSER;

         一切准备就绪之后,就可以启动wiki容器了,如果自定义了网络记得也要--net设置:

       未设置IP和映射:

docker run -d -p 8888:3000 --name wiki --restart unless-stopped -e TZ=Asia/Shanghai -e "DB_TYPE=postgres" -e "DB_HOST=192.168.5.10" -e "DB_PORT=5432" -e "DB_USER=wiki" -e "DB_PASS=fc123123" -e "DB_NAME=wiki" ghcr.io/requarks/wiki:2

        设置IP以及映射:

docker run -d -p 8888:3000 --name wiki --restart  unless-stopped --net wiki-network --ip 192.168.5.20 -e TZ=Asia/Shanghai -v /home/mobileos/data/docker_containers/wiki:/data -e "DB_TYPE=postgres" -e "DB_HOST=192.168.5.10" -e "DB_PORT=5432" -e "DB_USER=wiki" -e "DB_PASS=lz123123" -e "DB_NAME=wiki" ghcr.io/requarks/wiki

        其中映射端口8888可以自定义,

        --name wiki也可以自定义,

        DB_HOST就是数据库所在的服务器IP,可以是宿主机,也可以是别的机器,

        DB_PORT是数据库端口,一般不用改,

        DB_USER是之前创建的用户,

        DB_PASS是用户密码,

        DB_NAME是创建的数据库表名。

        启动容器之后,如果出现异常,可以使用docker logs <docker-name> 查看日志,根据具体错误信息进行处理。

启动容器之后就可以进行访问了,在宿主机输入127.0.0.1:8888:

        

二、配置wikijs

1、设置中文:

        

 

         下载——设置——应用即可

2、创建组

        创建组的目的主要是便于权限的管理:

 

        注意要编辑页面规则,不然默认还是不能创建页面,wiki的权限管理还是很强的,可以制定很多不同的权限规则,具体按照自己所需进行设置:

3、管理页面

        在wikijs里面,实际上没有文件夹的说法,都是以文件、路径来进行文件管理,所以如果我们要按类别将文档分类,要以页面的创建方式:

         如图,我直接在根目录下创建二级页面,就会自动创建一个虚拟目录了:

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值