本文已参与「新人创作礼」活动,一起开启掘金创作之路。
wiki.js
镜像
用DockerHub的镜像快一点
docker pull requarks/wiki
PG数据库
先装上pg
docker run --name wiki_postgres -v pgdata:/var/lib/postgresql/data -e POSTGRES_PASSWORD=wikijsrocks -e POSTGRES_DB=wiki -e POSTGRES_USER=wikijs -p 5432:5432 --network wiki --network-alias wiki_postgres -d postgres:latest
支持中文搜索的PG
docker run --name wiki_postgres -v pgdata:/var/lib/postgresql/data -e POSTGRES_PASSWORD=wikijsrocks -e POSTGRES_DB=wiki -e POSTGRES_USER=wikijs -p 5432:5432 --network wiki --network-alias wiki_postgres -d abcfy2/zhparser
启动容器后进入容器
su - postgres
psql -U wikijs -d wiki
-- <https://docs.requarks.io/en/search/postgres>
CREATE EXTENSION pg_trgm;
CREATE EXTENSION zhparser;
CREATE TEXT SEARCH CONFIGURATION pg_catalog.chinese_zh (PARSER = zhparser);
ALTER TEXT SEARCH CONFIGURATION chinese_zh ADD MAPPING FOR n,v,a,i,e,l WITH simple;
-- [二、PostgerSQL全文检索系统之中文支持_jjj的博客-CSDN博客](
-- <https://blog.csdn.net/weixin_40746796/article/details/89209316>
-- )
-- 忽略标点影响
ALTER ROLE wikijs SET zhparser.punctuation_ignore = ON;
-- 短词复合
ALTER ROLE wikijs SET zhparser.multi_short = ON;
-- 看看 chinese_zh 在不在
\dF
-- 测试一下
select ts_debug('chinese_zh', '白垩纪是地球上海陆分布和生物界急剧变化、火山活动频繁的时代');
重启容器,打开 wiki.js 管理 | 搜索引擎 | Database - PostgreSQL | Dictionary Language 选 chinese_zh。
还要修改pg内的记录?
上面同样的进去
\l 查看数据库
\c wiki 进入数据库
select * from "searchEngines”
已经有了
初始化
新建用户
配置
然后 写配置文件/root/wiki.js/config.yaml
raw.githubusercontent.com/requarks/wi…
要修改配置文件 (用上面起的pg就不用了)
网络
但是需要修改数据库的IP地址(localhost不行 指向的是容器内的 要指向PG的)
PG的容器暴露在本机了,要访问的话就需要使用WIKI容器的网关地址(172.17.0.1)或者PG的IP地址(172.17.0.4)
或者直接将两个容器加入同一个网络(bridge),给PG的网络设置别名
docker network connect --alias wiki_postgres wiki wiki_postgres
(wiki_postgres是网络别名 wiki是网络名 第三个是容器名)
启动
docker run -d -p 8089:3000 --name wiki --restart unless-stopped -v /root/wiki.js/config.yaml:/wiki/config.yml requarks/wiki:2
添加网络别名启动
docker run -d -p 8089:3000 --name wiki --restart unless-stopped -v /root/wiki.js/config.yaml:/wiki/config.yml --network wiki --network-alias wikijs requarks/wiki:2
Docker File
-
Docker Compose的也可以 (没用上 要装Docker Compose)
version: "3" services: db: image: postgres:11-alpine environment: POSTGRES_DB: wiki POSTGRES_PASSWORD: wikijsrocks POSTGRES_USER: wikijs logging: driver: "none" restart: unless-stopped volumes: - db-data:/var/lib/postgresql/data wiki: image: ghcr.io/requarks/wiki:2 depends_on: - db environment: DB_TYPE: postgres DB_HOST: db DB_PORT: 5432 DB_USER: wikijs DB_PASS: wikijsrocks DB_NAME: wiki restart: unless-stopped ports: - "80:3000" volumes: db-data:
中文
设置里面弄