docker compose.yaml
services:
xwiki:
image: xwiki:${XWIKI_VERSION}-mysql-tomcat
container_name: xwiki
hostname: xwiki
depends_on:
- xwikidb
ports:
- 8060:8080
environment:
- XWIKI_VERSION=${XWIKI_VERSION}
- DB_USER=${DB_USER}
- DB_PASSWORD=${DB_PASSWORD}
- DB_DATABASE=${DB_DATABASE}
- DB_HOST=xwiki-mysql-db
volumes:
- xwiki_vol:/usr/local/xwiki
networks:
- default
xwikidb:
image: mysql:9
container_name: xwiki-mysql-db
hostname: mysql_xwiki
volumes:
- mysql_vol:/var/lib/mysql
- $PWD/init.sql:/docker-entrypoint-initdb.d/init.sql
environment:
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- MYSQL_USER=${DB_USER}
- MYSQL_PASSWORD=${DB_PASSWORD}
- MYSQL_DATABASE=${DB_DATABASE}
command:
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_bin
- --explicit-defaults-for-timestamp=1
networks:
- default
networks:
default:
name: caddy_default
external: true
volumes:
mysql_vol:
external: true
name: xwiki_db
xwiki_vol:
external: true
name: xwiki_data
.env
XWIKI_VERSION=17.10.0
DB_USER=xwiki
DB_PASSWORD=xwiki
DB_DATABASE=xwiki
MYSQL_ROOT_PASSWORD=xwiki
从https://github.com/xwiki/xwiki-docker下载特定版本的init.sql,放到/opt/stack/xwiki/目录下,并给可执行权限
配置步骤:



如果这里不选择 XWiki Standard Flavor扩展安装的话,后面需要自己手动逐个配置扩展插件,但是选择安装的话,这个步骤非常慢,大概要花费2小时左右,还不能给docker添加proxy,一添加就会安装一半失败。
下图就是没有选择默认安装flavor扩展,输出的配置结果


从https://extensions.xwiki.org/xwiki/bin/view/Main/下载扩展插件,然后通过上面的页面进行上传,并部署插件。
整体测试对比:
1. Xwiki比较费CPU+内存资源, 自己定制化的话,Xwiki插件机制太复杂,每个功能都是通过插件提供实现,不易用、不便维护和个性化配置
2. 易用性还不如wikijs,不推荐使用