0 Votes

XWiki

Modifié par john le 2026/09/18 23:00

Le wiki qui héberge cette documentation.

Architecture

ConteneurRôle
xwiki-mariadb-tomcat-webXWiki (version LTS) sur Tomcat
xwiki-mariadb-dbBase MariaDB

Stack

networks:
 xwiki:
   driver: bridge
 proxy:
   external: true
services:
 db:
   image: mariadb:11.4
   container_name: xwiki-mariadb-db
   restart: unless-stopped
   environment:
      - MYSQL_ROOT_PASSWORD=<MOT_DE_PASSE_ROOT>
      - MYSQL_DATABASE=<BASE>
      - MYSQL_USER=<UTILISATEUR>
      - MYSQL_PASSWORD=<MOT_DE_PASSE>
      - MARIADB_AUTO_UPGRADE=1
   volumes:
      - <APPDATA>/xwiki/xwiki.cnf:/etc/mysql/conf.d/xwiki.cnf
      - <APPDATA>/xwiki/mariadb:/var/lib/mysql
      - ./init.sql:/docker-entrypoint-initdb.d/init.sql
   networks:
      - xwiki
 web:
   image: xwiki:lts-mariadb-tomcat
   container_name: xwiki-mariadb-tomcat-web
   depends_on:
      - db
   restart: unless-stopped
   environment:
      - DB_USER=<UTILISATEUR>
      - DB_PASSWORD=<MOT_DE_PASSE>
      - DB_HOST=xwiki-mariadb-db
      - JAVA_OPTS=-Xmx1024m -Denvironment.permanentDirectory=/usr/local/xwiki -Dxwiki.data.dir=/usr/local/xwiki -Dxwiki.store.attachment.hint=file -Dxwiki.store.attachment.versioning.hint=file
   volumes:
      - <APPDATA>/xwiki/data:/usr/local/xwiki
      - <APPDATA>/xwiki/xwiki.cfg:/usr/local/tomcat/webapps/ROOT/WEB-INF/xwiki.cfg
      - <APPDATA>/xwiki/server.xml:/usr/local/tomcat/conf/server.xml
   ports:
      - "8080:8080"
   networks:
      - xwiki
      - proxy

Fichiers de configuration

FichierRôle
xwiki.cnfRéglages MariaDB propres à XWiki
init.sqlInitialisation de la base, au premier démarrage uniquement (chemin relatif au dossier de la stack Portainer)
xwiki.cfgConfiguration de XWiki
server.xmlConfiguration de Tomcat
Warning

xwiki.cfg et server.xml remplacent ceux de l'image. Après une montée de version de XWiki ou de Tomcat, vérifier dans les notes de version s'ils ont changé ; un fichier ancien peut empêcher le démarrage.

Données

  • Répertoire permanent : <APPDATA>/xwiki/data, monté sur /usr/local/xwiki. Les données de XWiki sont dans le sous-dossier data, d'où le double data dans le chemin sur l'hôte.
  • Pièces jointes et leur historique stockés en fichiers (attachment.hint=file), pas dans la base.
  • Index de recherche Solr dans data/store/solr et data/cache/solr : ils se reconstruisent à partir de la base (voir Dépannage).

Mémoire

-Xmx1024m limite la mémoire Java à 1 Go. Si le wiki ralentit ou s'arrête avec une erreur OutOfMemoryError dans les journaux, augmenter cette valeur.

Montée de version de MariaDB

MARIADB_AUTO_UPGRADE=1 convertit les tables système au premier démarrage d'une nouvelle version. Procédure :

  • dump complet de la base, puis copie des fichiers bruts avec les conteneurs arrêtés ;
  • changement du tag de l'image dans la stack, puis redéploiement ;
  • dans les journaux de la base, vérifier « Finished mariadb-upgrade » puis « ready for connections ».

Les erreurs Incorrect definition of table mysql.column_stats qui précèdent la mise à niveau sont normales : elles disparaissent une fois mariadb-upgrade terminé.

Sauvegarde

  • Base : dump SQL de xwiki-mariadb-db par le script de Sauvegarde. Les fichiers bruts xwiki/mariadb sont exclus.
  • Pièces jointes et configuration : <APPDATA>/xwiki, sauvegardé tel quel.