安装docker这些就不讲了,教程一堆,相关的安装教程可以去官网看,只是没那么详细,尤其是有关数据库的配置:Docker 部署 Wiki.js
pull wiki镜像:
docker pull ghcr.io/requarks/wiki
如果是arm的机器,也可以加相应的tag,官网提供了arm架构的镜像。
有了wiki的镜像之后,我们还需要数据库,首推的是postgresql,那我们就用这个就行了:
sudo apt install postgresql
安装好数据库之后,先进行配置,使其能够在docker容器中进行使用:
sudo vim /etc/postgresql/<version>/main/postgresql.conf
找到以下内容并进行修改:
#listen_addresses = 'localhost'
修改为所有IP可登录:
listen_addresses = '*'
再打开以下文件:
sudo nano /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';
一切准备就绪之后,就可以启动docker容器了:
docker run -d -p 8888:3000 --name wiki --restart unless-stopped -e "DB_TYPE=postgres" -e "DB_HOST=192.168.80.128" -e "DB_PORT=5432" -e "DB_USER=wiki" -e "DB_PASS=123123" -e "DB_NAME=wiki" ghcr.io/requarks/wiki:2
其中映射端口8888可以自定义,
--name wiki也可以自定义,
DB_HOST就是数据库所在的服务器IP,可以是宿主机,也可以是别的机器,
DB_PORT是数据库端口,一般不用改,
DB_USER是之前创建的用户,
DB_PASS是用户密码,
DB_NAME是创建的数据库表名。
启动容器之后就可以进行访问了,在宿主机输入127.0.0.1:8888: