Outils pour utilisateurs

Outils du site


software:applications:dokuwiki:installation_docker

Installer Dokuwiki via Docker

Récupérer une image, ici on utilise celle proposée par bitnami:

docker image pull bitnami/dokuwiki:latest

Pour tester rapidement l'application, créer un conteneur

docker container run --rm -it -p 9090:8080 --env ALLOW_EMPTY_PASSWORD=yes bitnami/dokuwiki

Service autonome avec docker-compose

Persistance des données

Créer un volume qui stockera les données

docker volume create dokuwiki_datavol
docker-compose.yml
version: "3.3"

services:
  dokuwiki_standalone:
    container_name: dokuwiki_standalone
    restart: unless-stopped
    image: bitnami/dokuwiki:latest
    ports:
      - "127.0.0.1:9090:8080/tcp"
      #- "127.0.0.1:443:8443/tcp"
    environment:
      - DOKUWIKI_USERNAME=admin
      - DOKUWIKI_FULL_NAME=Administrator
      - DOKUWIKI_PASSWORD=admintest
      - DOKUWIKI_EMAIL=noreply@localdomain
      - DOKUWIKI_WIKI_NAME=Localdoc
      #- PHP_ENABLE_OPCACHE=indef
      #- PHP_EXPOSE_PHP=indef
      #- PHP_MAX_EXECUTION_TIME=indef
      #- PHP_MAX_INPUT_TIME=indef
      #- PHP_MAX_INPUT_VARS=indef
      #- PHP_MAX_INPUT_VARS=indef
      - PHP_MEMORY_LIMIT=64M
      - PHP_POST_MAX_SIZE=16M
      - PHP_UPLOAD_MAX_FILESIZE=16M
    volumes:
      - type: volume
        source: dokuwiki_datavol
        target: /bitnami/dokuwiki

    networks:
      - labinfo

volumes:
  dokuwiki_datavol:
    external: true

networks:
  labinfo:
    external:
      name: labinfo
# vérifie la syntaxe
docker-compose config
 
# lance le service
docker-compose up --detach dokuwiki_standalone
 
# vérifier l'état 
docker-compose ps

Sauvegarder le volume

Les données sont enregistrée dans le volume “dokuwiki_datavol”. Pour sauvegarder le contenu du volume, on utilise un conteneur temporaire montant en lecture seule le volume et créant une archive dans le répertoire backup du répertoire courant.

docker container run --rm --interactive --tty --volume dokuwiki_datavol:/mnt/datavol:ro --volume $(pwd)/backup:/mnt/backup busybox:latest /bin/tar -cvzf /mnt/backup/full-26072021.tgz /mnt/datavol

Restaurer une sauvegarde

Pour restaurer une sauvegarde:

  1. Créer un nouveau volume;
  2. Décompresser l'archive de sauvegarde dans le nouveau volume;
  3. Modifier le docker-compose pour monter le nouveau volume;
  4. Relancer le service.
# creation du volume
$ docker volume create dokuwiki_datavol_08082021
 
$ docker volume list | grep dokuwiki
local     dokuwiki_datavol
local     dokuwiki_datavol_08082021
 
# Décompresser l'archive de sauvegarde dans ce nouveau volume
$ docker container run -it --rm --volume dokuwiki_datavol_08082021:/mnt/target --volume /home/yoann/dev/docker/dokuwiki/backup/full-08-08-2021.tgz:/mnt/backup.tgz:ro busybox:latest /bin/tar -xvf /mnt/backup.tgz --directory=/mnt/target --strip-components=2
 
# Modifier le fichier docker-compose pour que le service utilise le nouveau volume
# ici "dokuwiki_datavol_08082021"
 
$ grep -i "volumes:" --line-number --after-context=3 ./docker-compose.yml 
27:    volumes:
28-      - type: volume
29-        source: dokuwiki_datavol_08082021
30-        target: /bitnami/dokuwiki
--
36:volumes:
37-  dokuwiki_datavol_08082021:
38-    external: true
39-
 
# relancer le service
$ docker-compose up -d dokuwiki_standalone
Creating dokuwiki_standalone ... done

Mises à jour de dokuwiki

Pour mettre à jour l'application:

# Récupérer l'image la plus récente
docker pull bitnami/dokuwiki:latest
 
# Arrêter le conteneur en cours d’exécution
docker-compose stop dokuwiki_standalone
 
# de préférence faire une sauvegarde
 
# Supprimer le conteneur
docker-compose rm -v dokuwiki_standalone
 
# Mettre à jour la version de l'image dans docker-compose.yml et relancer le service
docker-compose up -d dokuwiki_standalone

Application derriere Traefik

Références

software/applications/dokuwiki/installation_docker.txt · Dernière modification : 2021/08/31 21:55 de yoann