Der Vorteil dieser Methode: MediaWiki läuft containerisiert, ist leicht wartbar und kann sauber von anderen Diensten getrennt betrieben werden. Dieses Setup eignet sich sowohl für Heimserver, Raspberry-Pi-Server als auch für professionelle Self-Hosting-Umgebungen.
Infos
Auch hier empfiehlt es sich, eine eigene Domain oder DynDNS zu verwenden, damit euer Wiki über HTTPS erreichbar ist. Alternativ könnt ihr MediaWiki auch über die IP-Adresse eures Servers ansteuern.
Für eine sichere Kommunikation über das Internet empfiehlt sich der Einsatz eines SSL-Zertifikats. Wie bei anderen Diensten könnt ihr hierfür Let’s Encrypt verwenden oder den Zugang über Cloudflare absichern. Denkt daran, dass SSL immer dann erforderlich ist, wenn ihr eure Dienste öffentlich bereitstellt.
Hinweis zur Architektur: In diesem Setup laufen zwei Container: MediaWiki (Webanwendung) und MariaDB (Datenbank). Beide speichern ihre Daten persistent in Docker-Volumes, damit Inhalte und Datenbank auch nach einem Neustart oder Update erhalten bleiben.
Installation als Stack
Erstellt einen neuen Stack in eurer Portainer-Instanz und benennt ihn.
Fügt dann folgenden Code in den Web-Editor ein, passt die Pfade für die persistenten Daten, die Ports und die MariaDB-Daten an und klickt anschließend auf “Deploy Stack”:
version: '3'
services:
mediawiki:
image: mediawiki
restart: always
ports:
- 8080:80
links:
- database
volumes:
- images:/var/www/html/images
# Nach dem Setup wird hier die LocalSettings.php eingebunden
database:
image: mariadb
restart: always
environment:
MYSQL_DATABASE: my_wiki
MYSQL_USER: wikiuser
MYSQL_PASSWORD: example
MYSQL_RANDOM_ROOT_PASSWORD: 'yes'
volumes:
- db:/var/lib/mysql
volumes:
images:
db:
Dieses Setup startet MediaWiki auf Port 8080 und verwendet MariaDB als Datenbank. Die Volumes images und db sorgen dafür, dass Bilder, Uploads und Datenbankinhalte dauerhaft gespeichert werden.
Sobald der Stack deployed wurde, könnt ihr MediaWiki im Browser unter http://<Server-IP>:8080 aufrufen.
Einrichtung von MediaWiki
Wenn ihr die Seite zum ersten Mal aufruft, werdet ihr durch den Installationsprozess von MediaWiki geführt.
Hier gebt ihr die Verbindungsdaten zur MariaDB-Datenbank an. Als Datenbankserver verwendet ihr in Docker den Servicenamen database (nicht localhost), da beide Container im selben Docker-Netzwerk laufen.

Danach folgen noch weitere Einstellungen wie der Name des Wikis und das Administratorkonto.

Außerdem werdet ihr noch gefragt, welches Design verwendet werden soll und welche Erweiterungen ihr installieren möchtet. Diese können später jederzeit ergänzt werden.

Nachdem der Ersteinrichtungsprozess abgeschlossen ist, müsst ihr die LocalSettings.php herunterladen und in den MediaWiki-Container einbinden. Kopiert die Datei in den entsprechenden Ordner, kommentiert die Zeile im Stack aus, passt den Pfad an und aktualisiert den Stack.

Damit habt ihr euer eigenes MediaWiki erfolgreich aufgesetzt und könnt es mit euren Informationen füllen.
Wichtige Hinweise für den Betrieb
Backups: Sichert regelmäßig das Datenbank-Volume db und das Upload-Volume images.
Updates: MediaWiki wird durch Aktualisieren des Docker-Images aktualisiert. Danach Container neu starten.
Sicherheit: Verwendet sichere Passwörter und betreibt das Wiki hinter einem Reverse Proxy mit HTTPS.



































Der hier beschriebene Weg ist ein bisschen gefährlich. Der Compose-Command “links” gibt es zwar noch, aber mittlerweile wird davon abgeraten, diesen noch zu verwenden. In diesem konkreten Fall sollte das compose so umgebaut werden, dass mediawiki wartet, bis die database da ist. Der bessere Weg an der Stelle wäre statt:
links: . . . .
das so zu schreiben:
depends_on:
– database