{{tag>sysadmin docker install dokuwiki}} ====== 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 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: - Créer un nouveau volume; - Décompresser l'archive de sauvegarde dans le nouveau volume; - Modifier le docker-compose pour monter le nouveau volume; - 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 ===== * https://hub.docker.com/r/bitnami/dokuwiki * https://github.com/bitnami/bitnami-docker-apache#full-configuration