All posts by Mathieu VIDOT

02Mar/18

Conteneur Docker Alfresco avec SSL

Ceci est une petite note concernant la génération de conteneur Docker Alfresco. Pour d’autres logiciels, possédant par exemple des ports particuliers il conviendra d’adapter ces informations.
Afin d’utiliser un conteneur Alfresco en HTTPS, voici la configuration à passer à la commande “docker run” :

#!/bin/sh
docker run -it -d -v /data/mvico:/opt/alfresco/alf_data \
-e VIRTUAL_PROTO=https \
-e VIRTUAL_PORT=8443 \
-e VIRTUAL_HOST=mvico.docker.bluexml.com \
-e INITIAL_PASS=mvicoforever \
-e ALF_1=smart.folders.enabled.EQ.true \
-e ALF_2=alfresco.host.EQ.mvico.docker.bluexml.com \
-e ALF_3=alfresco.port.EQ.443 \
-e ALF_4=alfresco.protocol.EQ.https \
-e ALF_5=share.host.EQ.mvico.docker.bluexml.com \
-e ALF_6=share.port.EQ.443 \
-e ALF_7=share.protocol.EQ.https \
–name mvico-522 mvico-522:$BUILD_NUMBER

Note 1 : Les variables VIRTUAL_XXX servent à la configuration du vhost générée automatiquement par le proxy NGINX lors de chaque nouveau “run” de conteneur.
Voir conteneur NGINX proxy utilisé ici
Note 2 : Les variables ALF_XXX servent à la configuration du fichier “alfresco-global.properties” en accord avec le travail de Philippe Dubois (d’où le travail sur le changement de numéro de port)
Note 3 :  “.EQ.” signifie “=“. La substitution est effectuée pas NGINX lors de la génération du vhost.

Attention, dans Jenkins, onglet build du projet en question, par défaut il est nécessaire de mettre toute la commande sur un ligne; je vous l’accorde ce n’est pas hyper pratique ni lisible. L’éditeur ne gérant pas les sauts de ligne dans la commande. Il y a possibilité de scinder la commande en ajoutant “#!/bin/sh” au début du script et en ajoutant ” \” à chaque fin de ligne où la commande se poursuit. Ceci force l’outil d’intégration continue à exécuter la commande comme dans un script shell.

J’ajouterais enfin que pour l’édition en ligne, ne pas oublier d’ajouter la propriété aos.baseUrlOverwrite (pour cet exemple) (et en remplaçant le “=” par “.EQ.” bien sûr 😉 ). Sans cela Alfresco insérera le port 8443 dans l’URL AOS et le document ne sera pas ouvert par Office.

Je terminerais en précisant s’il est nécessaire que dans cette installation, et vous l’aurez sans doute compris, nous avons plusieurs conteneurs Docker qui interagissent : celui d’Alfresco et ceux d’NGINX.

Hope this helps.