{{tag>Docker DokuWiki}}
= Docker - Install DokuWiki
Ajout des dépôts "backports"
echo "deb http://ftp.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list
apt-get update
Install Docker
apt-get install docker.io supervisor
Git clone de la conf Dockerfile et construction du conteneur
''Dockerfile''
#
# INSTALLATION DE DOKUWIKI
#
FROM alpine:latest
#MAINTAINER Jean nospam@me.con
LABEL org.opencontainers.image.authors="Jean nospam@me.con"
RUN apk update \
&& apk upgrade
RUN apk add --no-cache \
curl nginx tmux bash vim git openssh-client unzip wget supervisor ca-certificates \
php5-fpm php5-json php5-zlib php5-zip php5-xml php5-pdo php5-phar php5-openssl \
php5-gd php5-iconv php5-mcrypt \
php5-curl php5-opcache php5-ctype php5-apcu \
php5-intl php5-bcmath php5-dom php5-xmlreader \
&& rm -rf /var/cache/apk/*
# FIXME: privilégier la command COPY à la place de ADD
ADD ./etc/php5/fpm/pool.d/dokuwiki.conf /etc/php5/fpm.d/dokuwiki.conf
ADD ./etc/nginx/sites-available/default /etc/nginx/conf.d/
ADD ./etc/supervisor/supervisord.conf /etc/supervisor/supervisord.conf
ADD ./install-dw.sh /root/install-dw.sh
ADD ./usr/local/bin/dw-clean.sh /usr/local/bin/
RUN mkdir -p /var/www/html/wiki
RUN addgroup dokuwiki \
&& adduser -s /usr/sbin/nologin -h /var/www/html/wiki -S -G dokuwiki dokuwiki
#RUN echo "daemon off;" >> /etc/nginx/nginx.conf
#RUN sed -i -e 's/# server_tokens off/server_tokens off/' /etc/nginx/nginx.conf
RUN mkdir -p /var/log/nginx/wiki
RUN bash /root/install-dw.sh
RUN chown dokuwiki -R /var/www/wiki
EXPOSE 80
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf", "-n" ]
git clone dw-docker
docker build -t jibe/dokuwiki dw-docker
mkdir /home/wiki
''/home/wiki/bin/dw-start.sh''
#! /bin/bash
set -o nounset
cd /home/wiki
docker stop dokuwiki1 2>/dev/null || true
docker rm dokuwiki1 2>/dev/null || true
/usr/bin/docker run -a stdout --rm --name=dokuwiki1 -v /home/wiki/data/:/var/www/wiki/www/data -v /home/wiki/conf/:/var/www/wiki/www/conf -m 512m -p 8082:80 jibe/dokuwiki supervisord -c /etc/supervisor/supervisord.conf -n
''/etc/supervisor/conf.d/wiki.conf''
[program:dokuwiki1]
command=/home/wiki/bin/dw-start.sh
autorestart=false
autostart=true
stopsignal=INT
Ajout des données à l'instance Docker de Dokuwiki (ici données par défaut)
cd /tmp
git clone http://github.com/splitbrain/dokuwiki.git
cd dokuwiki
git checkout stable
cp -a data/ /home/wiki/
cp -a conf/ /home/wiki/
FIXME
chmod -R a=rwX /home/wiki
Conf post install
**http://monserveur:8082/install.php**
Effacement du fichier install.php à l'intérieur du centenaire
docker exec -it dokuwiki1 /bin/bash
rm /var/www/wiki/dokuwiki/install.php
exit
docker commit dokuwiki1 jibe/dokuwiki
== Notes PRA / Réplication
Voir également https://www.dokuwiki.org/plugin:sync
#! /bin/bash
rsync -axP --chown=999:999 --exclude="cache" --exclude="tmp" --exclude="attic" --delete webapp:/home/wiki/data/* /home/wiki/data/
rsync -axP --chown=999:999 --exclude="cache" --exclude="tmp" --delete webapp:/home/wiki/conf/* /home/wiki/conf/
rm /home/wiki/data/tmp/* -rf
rm /home/wiki/data/cache/* -rf
touch -c /home/wiki/conf/local.php
== /etc/hosts
--add-host="git.acme.fr:10.8.17.115"
== Pb
=== Pb Erreur 500 Composer detected issues in your platform: Your Composer dependencies require a PHP version ">= 8.1.0".
Composer detected issues in your platform: Your Composer dependencies require a PHP version ">= 8.1.0".
==== Solution
Supprimer le plugin en cause dans dokuwiki/lib/plugins/