Un petit tutoriel Docker, un de plus pour parler de Traefik et de la mise en place d'un wiki utilisant Dokuwiki. Le but sera d'utliser un VPS et d'utiliser Docker pour industrialiser le déploiement de tout ce beau monde.

Conditions préalables:

  • Un VPS sous Ubuntu 16.04.
  • Un utilisateur non-root, compatible avec sudo.
  • Une installation fonctionnelle de Docker

Etape N°1. Installer Docker

Pour installer Docker proprement, utilisez cette commande :

sudo curl -sS https://get.docker.com/ | sh

Cette commande va mettre à jour votre système et installer la dernière version stable de Docker.

Autoriser Docker et le démarrer :

sudo systemctl enable docker
sudo systemctl start docker

Etape N°2. Installer Traefik via docker-compose

Tout d'abord, vous devez installer docker-compose si vous ne l'avez pas déjà fait.

curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` > ./docker-compose
sudo mv ./docker-compose /usr/bin/docker-compose
sudo chmod +x /usr/bin/docker-compose

docker-dokuwiki-1

Pour se faciliter la vie on git clone le dossier complet :

git clone https://github.com/gabrielsagnard/docker-dokuwiki

Puis une fois Docker-compose installé ainsi que le dossier complet sur le serveur, nous allons créer le répertoire pour faire travailler Let's Encrypt et nos certificats TLS :

touch acme.json

chmod 600 acme.json

puis on lance :

docker-compose up -d

...Et que la magie soit :

Creating network "gabriel_default" with the default driver
Pulling traefik (traefik:1.6-alpine)...
1.6-alpine: Pulling from library/traefik
4fe2ade4980c: Pull complete
8d9593d002f4: Pull complete
c85326782b5d: Pull complete
6c9b2016abc5: Pull complete
Digest: sha256:1c4e125b6a68d6f301e33a7daed6b111ca6b37c81a173e14997e98763b123f7c
Status: Downloaded newer image for traefik:1.6-alpine
Pulling dokuwiki (crazymax/dokuwiki:latest)...
latest: Pulling from crazymax/dokuwiki
8e3ba11ec2a2: Pull complete
26da0ae923e5: Pull complete
a3de19c2c17b: Pull complete
e5ecd57e74d3: Pull complete
638cf4ac1199: Pull complete
bd5e06d4fbcd: Pull complete
Digest: sha256:a717ee642dff6b3da62f15eefa00089c19e29082d4cb8543abad644005576d83
Status: Downloaded newer image for crazymax/dokuwiki:latest
Creating gabriel_traefik_1 ... 
Creating dokuwiki ... 
Creating gabriel_traefik_1
Creating gabriel_traefik_1 ... done

Et une fois le travail fait on vérifie l'installation du bordel avec :

docker ps 

CONTAINER ID        IMAGE                      COMMAND                  CREATED             STATUS              PORTS                                      NAMES

375bc63ac409 crazymax/dokuwiki:latest "/entrypoint.sh /usr…" 4 minutes ago Up 4 minutes 80/tcp dokuwiki
7d6f5bd243cb traefik:1.6-alpine "/entrypoint.sh --lo…" 4 minutes ago Up 4 minutes 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp gabriel_traefik_1

Ce qui donne en web à l'adresse de notre VPS ou nom de domaine configuré au préalable :

Capture-d-e-cran-2018-09-16-a--10.15.10

Avec un beau certificat TLS propre. Reste à configurer son Dokuwiki avec la documentation ici :

Plus d'informations ici :