Je souhaite dockeriser Dolibarr (+mariadb +php7.1) pour installation sur un NAS OpenMediaVault (Debian).
Je pars de zéro ou presque, toutes mes excuses si je raconte des âneries
Autant pour l’installation de Dolibarr que pour l’utilisation des dockers : je patauge.
J’ai généré mes fichiers Dockerfile et docker-compose.yml à partir d’informations glanées chez Monogramm et Tuxgasy. J’ai pris un peu des deux car j’ai le sentiment qu’ils sont incomplets ?
Quand je lance « docker-compose up -d », aucun message d’erreur ne remonte et tout semble bien se passer.
Les images sont générées, les containers sont up, l’accès au serveur Apache est possible mais il renvoie une erreur 403.
Logique puisque les répertoires de Dolibarr (var/www/*) sont vides !
Je ne pense pas que ce soit un problème de droits, car l’user www-data est bien en rwx sur l’ensemble de ces répertoires et que les sous-répertoires ont bien été crées par un .sh lancé via Dockerfile.
/www# ls -al
total 3
drwxrwsrwx 5 www-data www-data 5 Jan 4 22:14 .
drwxr-sr-x 4 www-data users 4 Jan 4 20:54 …
drwxr-sr-x 2 www-data www-data 3 Jan 4 22:14 documents
drwxr-sr-x 2 www-data www-data 2 Jan 4 22:14 html
drwxr-sr-x 2 www-data www-data 2 Jan 4 22:14 scripts
La commande docker-compose n’étant pas très ‹ verbose ›, j’ai tenté un petit « docker build » pour voir si des erreurs remontent lors du téléchargement de Dolibarr, de la décompression du zip puis de la copie des fichiers.
Step 18/23 : RUN unzip -q /tmp/dolibarr.zip -d /tmp/dolibarr
—> Running in 726eba97ba2e
Removing intermediate container 726eba97ba2e
—> fc7e2ceea30b
De même après cette étape, aucun répertoire dolibarr n’est créé dans tmp/
Savez-vous m’aiguiller pour la suite de ce debug ? Parce que là, je sèche.
Je n’avance pas depuis 15 jours
Le volume créé pour mariadb est bien peuplé de fichiers après la construction de l’image puis lancement du docker.
Alors que les volumes de Dolibarr restent désespérément vides.
Je n’ai pas de message d’erreur quand je lance « docker-compose up » : le process se déroule jusqu’au bout, les images sont crées, les dockers sont lancés.
Comment savoir où ça dysfonctionne ?
Ok, j’avance un peu, merci la commande « docker-compose logs ».
dolibarr | /usr/local/bin/docker-run.sh: line 20: /var/www/html/conf/conf.php: No such file or directory
A la ligne 20 du fichier docker-run.sh, j’ai ceci :
19 : if [ ! -f /var/www/html/conf/conf.php ]; then
20 : cat <<EOF > /var/www/html/conf/conf.php
Pensant à un problème de droits d’accès, j’ai lancé la commande suivante depuis mon compte root :
# cat <<EOF > /www/html/conf/conf.php
test
EOF
-bash: /www/html/conf/conf.php: No such file or directory
2 choses posent problème dans cette ligne de commande :
le premier « / » avant « www »
le fait que le répertoire « conf » n’existe pas
En virant le « / » et en créant le répertoire « conf » avant de lancer la commande, ça fonctionne.
Je doute être le premier à utiliser le docker de tuxgasy sous Debian, si ce problème était courant, j’imagine qu’il aurait déjà été corrigé.
Est-ce ma commande « cat » qui est bancale ?
Nan mais je n’avais plus les idées claires hier soir, si le cat ne marche pas c’est pas qu’il a un problème.
C’est que l’extract et la copie de fichiers (lancée par le Dockerfile) vers les répertoires de Dolibarr ne se fait pas.
Je suis revenu à une configuration plus basique : ce que j’aurais dû faire bien avant.
Vu que c’est ce qui semble poser problème, j’ai supprimé la déclaration de volumes pour Dolibarr dans mon docker-compose.yml
Et … ça fonctionne !
Dolibarr est accessible, je peux m’y connecter et constater qu’il s’agit de la version 9.0.4 alors qu’il est censé être en 10.0.3
Bon, je verrai ce problème plus tard.
Ma priorité est de faire marcher les volumes afin d’avoir la persistance des données de Dolibarr.
Déclaration des volumes dans docker-compose.yml