---
title: "MediaWiki Docker Compose und Hosting mit einem Klick"
description: "MediaWiki selbst hosten: die Open-Source-Wiki-Software hinter Wikipedia, mit Seiten, Verlauf, Vorlagen und visuellem Editor. Dein Wiki in einem Klick."
---

[← Alle Vorlagen](https://pethost.dev/de/templates/) · [Notizen und Wikis](https://pethost.dev/de/templates/notes/)

# MediaWiki mit einem Klick deployen

Die Wiki-Software von Wikipedia: Seiten, die alle lesen können, bearbeitet im visuellen oder im Quelltext-Editor

Eine selbst gehostete Alternative zu Confluence und Fandom.

[Auf Pethost deployen](https://console.pethost.dev/?template=mediawiki)

## Was ist MediaWiki?

MediaWiki ist die freie Open-Source-Wiki-Software, die die Wikimedia Foundation für Wikipedia entwickelt hat und die Tausende andere Wikis nutzen, von Spiele- und Fan-Wikis bis zu Wissensdatenbanken von Unternehmen. Seiten verlinken einander über ihre Titel, jede Bearbeitung bleibt in der Versionsgeschichte der Seite erhalten und lässt sich vergleichen oder zurücksetzen, und jede Seite hat eine Diskussionsseite. Vorlagen, Kategorien und die Spezialseiten helfen, ein großes Wiki zu ordnen, und über seine API lesen und bearbeiten Bots und Skripte.

Wer schreibt, nutzt Wikitext, die Auszeichnungssprache von MediaWiki, oder den VisualEditor, der eine Seite so bearbeitet, wie sie aussieht. Diese Vorlage aktiviert die Erweiterungen, die mit MediaWiki kommen, darunter VisualEditor, WikiEditor, ParserFunctions, Cite, Scribunto für Lua-Module, SyntaxHighlight und DiscussionTools, sowie die Skins Vector, MonoBook, Timeless und MinervaNeue für Handys.

Diese Vorlage startet das offizielle Image von MediaWiki, Version 1.46, mit Apache und PHP und der Datenbank in SQLite, das MediaWiki für kleine und mittlere Wikis unterstützt. Das Wiki wird installiert, bevor es irgendwem antwortet, mit dem Namen, dem Benutzernamen und dem Passwort, die du angibst; lesen können es alle, bearbeiten nur angemeldete Benutzer, und Konten legt der Administrator an.

## MediaWiki-Hosting auf Pethost

1. Du meldest dich bei Pethost an, mit Passkey, GitHub oder Google. Noch keine Maschine? Du wählst einen Tarif, und der Link wartet, bis sie bereit ist.
2. „Neues Projekt“ öffnet sich bei MediaWiki. Du füllst aus, was die App braucht, und klickst auf „Projekt erstellen“: **Name der Website**, **Benutzername**, **Admin-Passwort**.
3. In ein, zwei Minuten läuft MediaWiki unter eigener Adresse mit HTTPS. Die Secrets werden zufällig erzeugt, und die Daten sind im nächtlichen Backup.
4. Es ist ein Projekt wie jedes andere: Du oder dein Agent könnt es ändern, zurückrollen oder wiederherstellen.

## Fragen zu MediaWiki

**Ist MediaWiki kostenlos?**

Ja. MediaWiki ist Open Source unter der GNU General Public License, Version 2 oder später, und für jedes Wiki kostenlos nutzbar, öffentlich oder privat. Wikipedia läuft mit derselben Software.

**Hat MediaWiki einen visuellen Editor?**

Ja. Der VisualEditor kommt mit MediaWiki und ist in dieser Vorlage aktiviert: „Bearbeiten“ öffnet eine Seite so, wie sie aussieht, und „Quelltext bearbeiten“ ihren Wikitext. Beide speichern in dieselbe Versionsgeschichte.

**Wie mache ich mein MediaWiki privat?**

Füg $wgGroupPermissions['*']['read'] = false; in die LocalSettings.php im Volume data ein und starte das Projekt neu: Dann lesen nur angemeldete Benutzer. Special:UserLogin bleibt offen, sodass sich alle, die bearbeiten, weiterhin anmelden können.

**Wie füge ich meinem Wiki Benutzer hinzu?**

Melde dich als Administrator an und öffne Special:CreateAccount: Gib einen Benutzernamen und ein Passwort an oder eine E-Mail-Adresse für ein temporäres Passwort. Über Special:UserRights bekommt ein Benutzer dann die Rechte einer Gruppe, etwa die eines Administrators.

**Kann ich MediaWiki-Erweiterungen installieren?**

Ja. Die Erweiterungen, die mit MediaWiki ausgeliefert werden, sind schon aktiviert. Eine weitere kopierst du in den Ordner extensions des Containers und lädst sie mit wfLoadExtension in der LocalSettings.php; ein Wechsel des Images ersetzt diesen Ordner, also leg die Erweiterungen, die du hinzufügst, in ein eigenes Volume.

**Wie viel RAM und Speicherplatz braucht MediaWiki?**

MediaWiki ist leicht: etwa 200 MB RAM, und seine SQLite-Datenbank wächst mit der Versionsgeschichte jeder Seite; Uploads belegen so viel, wie ihre Dateien groß sind. Auf Pethost reicht dafür der Tarif Starter, mit Platz für weitere Apps daneben.

## MediaWiki: die Docker-Compose-Datei

Die Vorlage ist diese compose.yaml und die Variablen, die beim Erstellen in die .env des Projekts geschrieben werden. Pethost führt die Datei so aus, wie sie geschrieben ist.

**Container:** mediawiki (mediawiki:1.46).

**Volumes, im nächtlichen Backup:** data, images.

```
services:
  mediawiki:
    image: mediawiki:1.46
    restart: unless-stopped
    environment:
      WIKI_URL: ${URL}
      WIKI_NAME: ${WIKI_NAME}
      ADMIN_USERNAME: ${ADMIN_USERNAME}
      ADMIN_PASSWORD: ${ADMIN_PASSWORD}
    # A new MediaWiki offers its installer, which makes the administrator, to whoever opens it
    # first. So the wiki is installed here before Apache answers anyone: its SQLite database and
    # LocalSettings.php in the data volume, the administrator from the fields. LocalSettings.php is
    # written there only once the install has succeeded; a start that finds none puts what an
    # earlier, failed install left aside in data/failed-<time> and installs again. Every start
    # then runs MediaWiki's update, which a newer image of the line may need.
    command:
      - sh
      - -c
      - |
        set -e
        cd /var/www/html
        if [ ! -f /var/www/data/LocalSettings.php ]; then
          if ls /var/www/data/*.sqlite >/dev/null 2>&1; then
            aside=/var/www/data/failed-$$(date +%s)
            mkdir "$$aside"
            mv /var/www/data/*.sqlite* "$$aside"/
          fi
          rm -rf /var/www/data/install
          mkdir -p /var/www/data/install
          php maintenance/run.php install --dbtype=sqlite --dbpath=/var/www/data --dbname=wiki \
            --server="$$WIKI_URL" --scriptpath= --lang=en --pass="$$ADMIN_PASSWORD" \
            --with-extensions --confpath=/var/www/data/install "$$WIKI_NAME" "$$ADMIN_USERNAME"
          cat /var/www/data/install/LocalSettings.php - > /var/www/data/LocalSettings.php <<'PHP'

        # The wiki's name and address are the project's .env's, read at every start.
        $$wgSitename = getenv('WIKI_NAME') ?: $$wgSitename;
        $$wgMetaNamespace = false;
        $$wgServer = getenv('WIKI_URL') ?: $$wgServer;
        # MediaWiki is at the address's root, and its pages at /wiki/Page_name: Apache sends every
        # address that is no file to index.php.
        $$wgScriptPath = '';
        $$wgResourceBasePath = $$wgScriptPath;
        $$wgArticlePath = '/wiki/$$1';
        # Anyone reads; only signed-in users edit, and only an administrator makes accounts, at
        # Special:CreateAccount.
        $$wgGroupPermissions['*']['createaccount'] = false;
        $$wgGroupPermissions['*']['edit'] = false;
        # MediaWiki's flower beside the wiki's name, until a logo of the wiki's own is set here.
        $$wgLogos = ['icon' => "$$wgResourceBasePath/resources/assets/mediawiki_compact.svg", '1x' => "$$wgResourceBasePath/resources/assets/mediawiki.png"];
        # Uploaded files are kept in the images volume.
        $$wgEnableUploads = true;
        # The visitor's address is in X-Forwarded-For, from the machine's proxy.
        $$wgUsePrivateIPs = true;
        $$wgCdnServersNoPurge = ['10.192.0.0/10'];
        PHP
          rm -rf /var/www/data/install
        fi
        # The image's html folder is sticky and www-data's, where Linux lets www-data follow only a
        # link of its own.
        ln -sf /var/www/data/LocalSettings.php LocalSettings.php
        chown -h www-data:www-data LocalSettings.php
        php maintenance/run.php update --quick
        printf 'upload_max_filesize = 100M\npost_max_size = 100M\n' > /usr/local/etc/php/conf.d/uploads.ini
        # The web installer is never needed here, and it would greet a stranger: the wiki is
        # installed above, and updated at every start.
        echo 'RedirectMatch 404 ^/mw-config' > /etc/apache2/conf-enabled/no-installer.conf
        chown -R www-data:www-data /var/www/data /var/www/html/images
        exec apache2-foreground
    volumes:
      - data:/var/www/data
      - images:/var/www/html/images
    healthcheck:
      test: ["CMD", "curl", "-fsS", "-o", "/dev/null", "http://127.0.0.1/api.php"]
      interval: 10s
      timeout: 5s
      retries: 30
      start_period: 120s
volumes:
  data:
  images:
```

[compose.yaml](https://pethost.dev/templates/mediawiki/compose.yaml)[Auf GitHub ansehen](https://github.com/pethost-dev/templates/tree/main/mediawiki)

## [Mehr in Notizen und Wikis](https://pethost.dev/de/templates/notes/)

- [**Memos**Kurze Markdown-Notizen in einer privaten Timeline](https://pethost.dev/de/templates/memos/)
- [**HedgeDoc**Markdown-Notizen, die du mit anderen in Echtzeit gemeinsam schreibst](https://pethost.dev/de/templates/hedgedoc/)
- [**Obsidian LiveSync**Ein CouchDB-Server, der deine Obsidian-Vaults mit Self-hosted LiveSync synchronisiert](https://pethost.dev/de/templates/obsidian-livesync/)
- [**BookStack**Ein Wiki aus Regalen, Büchern, Kapiteln und Seiten](https://pethost.dev/de/templates/bookstack/)
- [**Docmost**Gemeinsames Wiki und Dokumentation, mit Bereichen, Bearbeitung in Echtzeit und Diagrammen](https://pethost.dev/de/templates/docmost/)
- [**Etherpad**Dokumente, die gemeinsam in Echtzeit bearbeitet werden: jede Person in ihrer eigenen Farbe, mit Chat, Verlauf und Plugins](https://pethost.dev/de/templates/etherpad/)

Pethost · Stephan Gomer · NIP 1133096755

Pethost

- [Vorlagen](https://pethost.dev/de/templates/)
- [Über uns](https://pethost.dev/about/)
- [Doku](https://pethost.dev/docs/)
- [Blog](https://pethost.dev/de/blog/)
- [API](https://pethost.dev/docs/api/)
- [CLI](https://pethost.dev/docs/cli/)
- [Plugin](https://github.com/pethost-dev/plugin)
- [AGB](https://pethost.dev/terms/)
- [Datenschutz](https://pethost.dev/privacy/)
- [Erstattung](https://pethost.dev/refunds/)
- [support@pethost.dev](mailto:support@pethost.dev)

Datenbanken

- [Postgres](https://pethost.dev/de/postgres/)

Vergleiche

- [Coolify vs Dokploy vs CapRover vs Dokku](https://pethost.dev/de/blog/coolify-vs-dokploy-vs-caprover-vs-dokku/)
- [Coolify Cloud vs Dokploy Cloud](https://pethost.dev/de/blog/coolify-cloud-vs-dokploy-cloud/)
- [Railway vs Render vs Fly.io Preise](https://pethost.dev/de/blog/railway-vs-render-vs-fly-io-pricing/)
- [Managed Hosting für Docker Compose](https://pethost.dev/de/blog/managed-docker-compose-hosting/)

Alternativen

- [Railway-Alternativen](https://pethost.dev/de/blog/railway-alternatives/)
- [Heroku-Alternativen](https://pethost.dev/de/blog/heroku-alternatives/)
- [Dokploy-Alternativen](https://pethost.dev/de/blog/dokploy-alternatives/)
- [Coolify-Alternativen](https://pethost.dev/de/blog/coolify-alternatives/)
- [Render-Alternativen](https://pethost.dev/de/blog/render-alternatives/)
- [Sliplane-Alternativen](https://pethost.dev/de/blog/sliplane-alternatives/)
