Aller au contenu

« Trace install tas - MediaWiki » : différence entre les versions

De Loic Wiki
Restauration + ajout configuration Quadlets systemd 2026-03-21
Alignement documentation runtime quadlets rootless + clarification Beszel
 
(Une version intermédiaire par un autre utilisateur non affichée)
Ligne 12 : Ligne 12 :


== Exécution / runtime ==
== Exécution / runtime ==
Depuis le 2026-03-21 : conteneurs gérés par systemd via les quadlets Podman (fichiers .container).
Quadlets rootless systemd user ; conteneurs mediawiki-app et mediawiki-db.
Données dans /home/loic/mediawiki/app et /home/loic/mediawiki/db.
 
Principe :
* `mediawiki-app` sert l'application wiki en HTTP sur le port local 8098
* `mediawiki-db` fournit la base MariaDB dédiée
* Caddy publie ensuite le service local vers le port public 25698


== Chemins de configuration ==
== Chemins de configuration ==
* /home/loic/.config/containers/systemd/mediawiki-app.container
* /home/loic/.config/containers/systemd/mediawiki-app.container
* /home/loic/.config/containers/systemd/mediawiki-db.container
* /home/loic/.config/containers/systemd/mediawiki-db.container
* /home/loic/.config/containers/systemd/mediawiki.network
* /home/loic/mediawiki/.env
* /home/loic/mediawiki/app/LocalSettings.php
* /home/loic/mediawiki/app/LocalSettings.php
* /home/loic/mediawiki/docs/README.md
* /home/loic/mediawiki/compose.yaml (référence de reconstitution / rollback)
== Paramètres clés à documenter ==
Les quadlets sont la source de vérité de lancement. Pour rester exploitable en maintenance, il faut considérer ces éléments comme prioritaires :
* image de `mediawiki-app`
* image de `mediawiki-db`
* variables d'environnement des quadlets et/ou de `.env`
* ports publiés localement
* bind mounts ou volumes de l'application et de la base
* éventuelles extensions ou personnalisations chargées par `LocalSettings.php`


== Volumes / persistance ==
== Volumes / persistance ==
* /home/loic/mediawiki/app -> /var/www/html
* ./app -> /var/www/html
* /home/loic/mediawiki/db -> /var/lib/mysql
  * contient le code applicatif local, les extensions, `LocalSettings.php` et les données nécessaires côté MediaWiki
* ./db -> /var/lib/mysql
  * contient les données MariaDB du wiki


== Dépendances ==
== Dépendances ==
Ligne 29 : Ligne 46 :
* Caddy 25698 -> 8098
* Caddy 25698 -> 8098


== Configuration Podman Systemd (Quadlets) ==
== Procédure de relance / diagnostic ==
Depuis le 2026-03-21, les conteneurs sont gérés par systemd via les quadlets Podman pour assurer le démarrage automatique et les mises à jour.
Relance standard :
* `systemctl --user restart mediawiki-db.service mediawiki-app.service`
* `systemctl --user daemon-reload` après modification d'un quadlet


=== Réseau (`mediawiki.network`) ===
Vérifications utiles :
<syntaxhighlight lang="ini">
* vérifier que `mediawiki-app` écoute bien sur 8098 local
[Unit]
* vérifier que `mediawiki-db` est sain avant de conclure à une panne applicative
Description=MediaWiki Network
* tester l'accès local avant l'accès public
* revalider `LocalSettings.php` après toute restauration


[Network]
Le fichier `compose.yaml` reste utile comme référence, mais il ne faut plus le présenter comme méthode d'exploitation primaire tant que les quadlets restent le runtime actif.
Label=app=mediawiki
</syntaxhighlight>


=== Base de données (`mediawiki-db.container`) ===
== Remarques ==
<syntaxhighlight lang="ini">
Le wiki héberge la documentation d'installation, la trace logicielle et les intégrations Mermaid / PlantUML / BPMN JS.
[Unit]
Beszel n'est pas une dépendance applicative de MediaWiki. L'impact côté MediaWiki est documentaire : mise à jour de la trace serveur et des pages concernées.
Description=MediaWiki Database
After=network-online.target
Wants=network-online.target
 
[Container]
Image=docker.io/library/mariadb:11.4
AutoUpdate=registry
Network=mediawiki.network
ContainerName=mediawiki-db
Volume=/home/loic/mediawiki/db:/var/lib/mysql:Z
Environment=MARIADB_ROOT_PASSWORD=***
Environment=MARIADB_DATABASE=mediawiki
Environment=MARIADB_USER=mediawiki
Environment=MARIADB_PASSWORD=***
Exec=--character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --innodb-file-per-table=1
 
[Service]
Restart=always
RestartSec=5
 
[Install]
WantedBy=default.target
</syntaxhighlight>
 
=== Application (`mediawiki-app.container`) ===
<syntaxhighlight lang="ini">
[Unit]
Description=MediaWiki Application
After=network-online.target mediawiki-db.service
Wants=network-online.target
Requires=mediawiki-db.service
 
[Container]
Image=docker.io/library/mediawiki:latest
AutoUpdate=registry
Network=mediawiki.network
ContainerName=mediawiki-app
Volume=/home/loic/mediawiki/app:/var/www/html:Z
Environment=PHP_MEMORY_LIMIT=256M
PublishPort=8098:80
 
[Service]
Restart=always
RestartSec=5
 
[Install]
WantedBy=default.target
</syntaxhighlight>
 
=== Fonctionnement ===
* '''Démarrage auto''' : systemd démarre mediawiki-db puis mediawiki-app au boot (Requires=).
* '''Redémarrage auto''' : Restart=always avec 5s de délai si crash.
* '''Mises à jour auto''' : podman-auto-update.timer (nuit) pull les nouvelles images et recrée les conteneurs (AutoUpdate=registry).


== Données / emplacements à sauvegarder ==
== Données / emplacements à sauvegarder ==
* Données wiki : /home/loic/mediawiki/app
* Données wiki : /home/loic/mediawiki/app
* Base : /home/loic/mediawiki/db
* Base : /home/loic/mediawiki/db
* Variables : /home/loic/mediawiki/.env
* Documentation locale : /home/loic/mediawiki/docs


== Sauvegarde ==
== Sauvegarde ==
* Sauvegarder /home/loic/mediawiki/app et /home/loic/mediawiki/db après arrêt propre.
* Sauvegarder /home/loic/mediawiki/app, /home/loic/mediawiki/.env et /home/loic/mediawiki/docs.
* Dump MariaDB : podman exec mediawiki-db mariadb-dump -umediawiki -p mediawiki > dump.sql
* Sauvegarder la base MariaDB via dump ou en copiant /home/loic/mediawiki/db après arrêt propre.
* Si une extension ou un réglage Caddy change, inclure aussi les fichiers de configuration modifiés dans la sauvegarde documentaire.


== Restauration ==
== Restauration ==
* Restaurer les dossiers app et db.
* Restaurer /home/loic/mediawiki/app, /home/loic/mediawiki/.env et /home/loic/mediawiki/db.
* Relancer via systemctl --user start mediawiki-app.service.
* Relancer d'abord `mediawiki-db.service`, puis `mediawiki-app.service`, puis vérifier `LocalSettings.php`, la connexion à la base et l'accès wiki local/public.
 
* Après restauration, revalider les extensions chargées et les éventuels chemins personnalisés.
== Remarques ==
Le wiki héberge la documentation d'installation, la trace logicielle et les intégrations Mermaid / PlantUML / BPMN JS / D2 / Graphviz.


== Maintenance documentaire ==
== Maintenance documentaire ==
Lors d'un ajout d'extensions, d'un changement de quadlet, de variables env, de Caddy ou de structure documentaire, mettre à jour cette page.
Lors d'un ajout d'extensions, d'un changement de quadlet, de variables .env, d'images, de ports, de Caddy ou de structure documentaire, mettre à jour cette page et les pages de documentation associées.


== Trace documentaire ==
== Trace documentaire ==
Cette page fait partie de [[Trace install tas]].
Cette page fait partie de [[Trace install tas]].

Dernière version du 13 juin 2026 à 22:26

Trace install tas - MediaWiki

Rôle

Wiki collaboratif et base documentaire.

Accès

Ports

8098 local, 25698 public via Caddy

Exécution / runtime

Quadlets rootless systemd user ; conteneurs mediawiki-app et mediawiki-db.

Principe :

  • `mediawiki-app` sert l'application wiki en HTTP sur le port local 8098
  • `mediawiki-db` fournit la base MariaDB dédiée
  • Caddy publie ensuite le service local vers le port public 25698

Chemins de configuration

  • /home/loic/.config/containers/systemd/mediawiki-app.container
  • /home/loic/.config/containers/systemd/mediawiki-db.container
  • /home/loic/mediawiki/.env
  • /home/loic/mediawiki/app/LocalSettings.php
  • /home/loic/mediawiki/docs/README.md
  • /home/loic/mediawiki/compose.yaml (référence de reconstitution / rollback)

Paramètres clés à documenter

Les quadlets sont la source de vérité de lancement. Pour rester exploitable en maintenance, il faut considérer ces éléments comme prioritaires :

  • image de `mediawiki-app`
  • image de `mediawiki-db`
  • variables d'environnement des quadlets et/ou de `.env`
  • ports publiés localement
  • bind mounts ou volumes de l'application et de la base
  • éventuelles extensions ou personnalisations chargées par `LocalSettings.php`

Volumes / persistance

  • ./app -> /var/www/html
 * contient le code applicatif local, les extensions, `LocalSettings.php` et les données nécessaires côté MediaWiki
  • ./db -> /var/lib/mysql
 * contient les données MariaDB du wiki

Dépendances

  • MariaDB dédiée (mediawiki-db)
  • Caddy 25698 -> 8098

Procédure de relance / diagnostic

Relance standard :

  • `systemctl --user restart mediawiki-db.service mediawiki-app.service`
  • `systemctl --user daemon-reload` après modification d'un quadlet

Vérifications utiles :

  • vérifier que `mediawiki-app` écoute bien sur 8098 local
  • vérifier que `mediawiki-db` est sain avant de conclure à une panne applicative
  • tester l'accès local avant l'accès public
  • revalider `LocalSettings.php` après toute restauration

Le fichier `compose.yaml` reste utile comme référence, mais il ne faut plus le présenter comme méthode d'exploitation primaire tant que les quadlets restent le runtime actif.

Remarques

Le wiki héberge la documentation d'installation, la trace logicielle et les intégrations Mermaid / PlantUML / BPMN JS. Beszel n'est pas une dépendance applicative de MediaWiki. L'impact côté MediaWiki est documentaire : mise à jour de la trace serveur et des pages concernées.

Données / emplacements à sauvegarder

  • Données wiki : /home/loic/mediawiki/app
  • Base : /home/loic/mediawiki/db
  • Variables : /home/loic/mediawiki/.env
  • Documentation locale : /home/loic/mediawiki/docs

Sauvegarde

  • Sauvegarder /home/loic/mediawiki/app, /home/loic/mediawiki/.env et /home/loic/mediawiki/docs.
  • Sauvegarder la base MariaDB via dump ou en copiant /home/loic/mediawiki/db après arrêt propre.
  • Si une extension ou un réglage Caddy change, inclure aussi les fichiers de configuration modifiés dans la sauvegarde documentaire.

Restauration

  • Restaurer /home/loic/mediawiki/app, /home/loic/mediawiki/.env et /home/loic/mediawiki/db.
  • Relancer d'abord `mediawiki-db.service`, puis `mediawiki-app.service`, puis vérifier `LocalSettings.php`, la connexion à la base et l'accès wiki local/public.
  • Après restauration, revalider les extensions chargées et les éventuels chemins personnalisés.

Maintenance documentaire

Lors d'un ajout d'extensions, d'un changement de quadlet, de variables .env, d'images, de ports, de Caddy ou de structure documentaire, mettre à jour cette page et les pages de documentation associées.

Trace documentaire

Cette page fait partie de Trace install tas.