Benutzer-Werkzeuge

Webseiten-Werkzeuge


thoschwiki:docker:apps:dokuwiki

Dies ist eine alte Version des Dokuments!


DokuWiki

DokuWiki ist eine standardkonforme, einfach zu verwendende und zugleich äußerst vielseitige Open Source Wiki-Software. Die Anwendung nutzt einfache Textdateien zur Speicherung der Inhalte und benötigt insofern keine Datenbank. Der integrierte Konfigurations-Manager erlaubt es, Einstellungen direkt über eine Anwenderfreundliche Web-Oberfläche vorzunehmen. (Eigenbeschreibung des Projektes)

Durch die Ablage der Konfiguration und der Inhalte im Dateisystem werden das Backup, manuelle Eingriffe sowie auch eine Migration bzw. eine Replikation auf andere Instanzen deutlich erleichtert.

Der Verzicht auf eine Datenbank reduziert auch die Anforderungen an die verfügbaren Systenressourcen.

Image
Docker Hub linuxserver/dokuwiki
GitHub linuxserver/docker-dokuwiki
Architektur x86-64, armhf, arm64
Software
Projekt DokuWiki
GitHub splitbrain/dokuwiki

docker run

Der Container wird wie folgt mit docker run eingerichtet und gestartet:

docker run -d \ 
  --name=dokuwiki \
  -e PUID=2000 \
  -e PGID=2000 \
  -e TZ=Europe/London \
  -p 80:80 \
  -p 443:443 \
  -v /path/to/appdata/config:/config \
  --restart unless-stopped \
  linuxserver/dokuwiki

Parameter

Dies sind die wichtigsten Parameter. Sofern sie mit einem „*“ markiert sind, sollte eine Anpassung erfolgen:

Parameter Funktion
-e PUID= * Vorgabe des Users , mit dem die Daten auf dem Docker-Host in die gemounteten Verzeichnisse geschrieben werden.
-e PGID= * Vorgabe des Gruppe , mit der die Daten auf dem Docker-Host in die gemounteten Verzeichnisse geschrieben werden.
-e TZ= * Vorgabe der lokalen Zeitzone im Format Gebiet/Ort.
-e APP_URL Optional: Hier kann der Pfad vorgegeben werden, unter dem das Wiki auf dem Server zu erreichen ist (z.B. http://example.com/wiki statt http://example.com).
-p Port-Zuweisungen für den Zugriff per http (Default 80:80) bzw. https (Default 443:443)
-v * Volumes, siehe Unterabschnitt Volumes

Volumes

In der Konfiguration werden Volumes in der Regel im folgenden Format angegeben:

<Pfad auf dem Host>:<Pfad im Container>[:<Optionen>]

Die Volumes haben die folgenden Funktionen (maßgeblich ist der Pfad im Container):

Pfad im Container Funktion
/config In bzw. unterhalb dieses Ordners befinden sich die Konfigurationsdateien des DokuWiki, des Webservers nginx einschließlich PHP sowie die Inhalte des DokuWikis.

docker-compose

Der Container wird wie folgt in der docker-compose.yml konfiguriert:

docker-compose-yml
version: "2.1"
services:
  dokuwiki:
    image: linuxserver/dokuwiki
    container_name: dokuwiki
    environment:
      - PUID=2000
      - PGID=2000
      - TZ=Europe/Berlin
    volumes:
      - /path/to/config:/config
    ports:
      - 80:80
      - 443:443
    restart: unless-stopped

Integration in Træfik

Der Container kann mit den folgenden Eintragungen in der docker-compose.yml in Træfik integriert werden:

 
...

  dokuwiki:
    image: linuxserver/dokuwiki
    container_name: dokuwiki
    environment:
      - PUID=2000
      - PGID=2000
      - TZ=Europe/Berlin
    volumes:
      - /path/to/config:/config
    restart: unless-stopped
    labels:
     - traefik.http.routers.dokuwiki.rule=Host(`wiki.example.com`)
     - "traefik.http.routers.dokuwiki.tls.certResolver=default"
     - "traefik.http.routers.dokuwiki.tls=true"

Update des Images

Beim Update des Images ist Vorsicht geboten. Sofern sich die DokuWiki-Version im Image ändert, kann dies zu einem nicht mehr lauffähigen System führen.Die notwendige Migration der persistierten Daten, die sonst anlässlich des Upgrades von DokuWiki durchgeführt wird, ist in diesem Fall nicht erfolgt, und die Daten passen daher u.U. nicht zur neuen DokuWiki-Version.

Die folgenden Vorgehensweise ist empfehlenswert:

  1. Version des Images in der Produktionsumgebung durch Vorgabe des entsprechenden Tags pinnen.
  2. Bei Verfügbarkeit einer neuen Version des Images diese zunächst in einer getrennten Testinstanz mit den produktiven Daten testen.
  3. Sofern das Testsystem mit der neuen Images-Version nicht mehr lauffähig ist, Roll-Back der Testinstanz auf die bisherige Version vornehmen und das DokuWiki mit „Bordmitteln“ (z.B. mit dem upgrade Plugin) im laufenden Container updaten (ggf. ist es notwendig vorab die produktiven Daten neu vom Produktionssystem abzuziehen und erneut einzuspielen).
  4. Danach erneut neue Image-Version in die Testversion einspielen und testen.
  5. Entsprechend den Ergebnissen aus den Punkten 2-4 das Update der Produktionsumgebung vornehmen und dabei die Version des Images auf die neue Version pinnen.
thoschwiki/docker/apps/dokuwiki.1598803167.txt.gz · Zuletzt geändert: 30.08.2020 17:59 von thosch