diff --git a/Dockerfile b/Dockerfile index 923ee544616bf81e8ea3a7bef0e0c58de19bfaa8..c5ac9bb2051b293a92d538e2866cf9f2a595d1cb 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,38 +6,37 @@ ARG PHP_VERSION -FROM registre.unicaen.fr:5000/unicaen-dev-php${PHP_VERSION}-apache +#FROM registre.unicaen.fr:5000/unicaen-dev-php${PHP_VERSION}-apache +FROM unicaen-dev-php${PHP_VERSION}-apache LABEL maintainer="Bertrand GAUTHIER <bertrand.gauthier at unicaen.fr>" +ENV SAXONC_INSTALL_DIR="/opt/Saxonica/SaxonHEC" ENV FPM_PHP_LOG_FILE=/var/log/fpm-php.www.log ## Installation de packages requis. -RUN apt-get upgrade -qq && \ - apt-get update -qq && \ +RUN apt-get update -qq && \ apt-get install -y \ postgresql-client -# qpdf -ADD resources/qpdf-10.3.2.tar.gz /tmp/ -RUN cd /tmp/qpdf-10.3.2 && ./configure && make && make install && make clean && ldconfig - # Saxon/C PHP module : https://www.saxonica.com/download/c.xml -# (NB : dernière version 1.2.1 non compatible PHP 8 !) -ADD resources/libsaxon-HEC-setup64-v1.2.1.zip /tmp/ -RUN unzip -o /tmp/libsaxon-HEC-setup64-v1.2.1.zip -d /tmp/ && \ - echo '/opt/Saxonica/SaxonHEC' | /tmp/libsaxon-HEC-setup64-v1.2.1 && \ - cd /opt/Saxonica/SaxonHEC && \ - cp *.so /usr/lib/. && cp -r rt /usr/lib/. && cp -r saxon-data /usr/lib/. -RUN export SAXONC_HOME=/usr/lib && \ - cd /opt/Saxonica/SaxonHEC/Saxon.C.API && \ - make distclean && phpize && ./configure --enable-saxon && make && make install && \ +# (NB : dernière version 11.4 non compatible PHP 8 : https://saxonica.plan.io/issues/4842) +# (NB : sur le serveur de preprod, il a été nécessaire d'ajouter `make distclean` avant `phpize ...`) +ADD resources/libsaxon-HEC-setup64-v11.4.zip /tmp/ +RUN unzip -o /tmp/libsaxon-HEC-setup64-v11.4.zip -d /tmp/ && \ + mkdir -p ${SAXONC_INSTALL_DIR} && cp -r /tmp/libsaxon-HEC-11.4/* ${SAXONC_INSTALL_DIR}/ && \ + cd ${SAXONC_INSTALL_DIR} && \ + cp *.so /usr/lib/. && cp -r rt /usr/lib/. && cp -r saxon-data /usr/lib/. && \ + export SAXONC_HOME=/usr/lib && \ + cd ${SAXONC_INSTALL_DIR}/Saxon.C.API && \ + phpize && ./configure --enable-saxon && make -j4 && make install && \ echo 'extension=saxon.so' > /etc/php/${PHP_VERSION}/mods-available/saxon.ini && \ - phpenmod saxon -RUN echo 'export SAXONC_HOME=/usr/lib' >> /etc/apache2/envvars + phpenmod saxon && \ + echo 'export SAXONC_HOME=/usr/lib' >> /etc/apache2/envvars -# Passage à Composer v2 -RUN composer self-update --2 +# qpdf +ADD resources/qpdf-10.3.2.tar.gz /tmp/ +RUN cd /tmp/qpdf-10.3.2 && ./configure && make && make install && make clean && ldconfig # Nettoyage. RUN apt-get autoremove -y && apt-get clean && rm -rf /tmp/* /var/tmp/* @@ -62,9 +61,12 @@ ADD config/php/cli/conf.d/99-sygal.ini ${PHP_CONF_DIR}/cli/conf.d/ # Copie des scripts complémentaires à lancer au démarrage du container. COPY entrypoint.d/* /entrypoint.d/ -# Rechargement de services. -#RUN service php${PHP_VERSION}-fpm reload - # Création du fichier pour les logs FPM (cf. fpm/pool.d/www.conf.part) RUN touch ${FPM_PHP_LOG_FILE} && \ chown www-data:www-data ${FPM_PHP_LOG_FILE} + +# Liquibase (+ Java) +ADD resources/jre-8u321-linux-x64.tar.gz /opt/java/ +ENV JAVA_HOME="/opt/java/jre1.8.0_321" +ADD resources/liquibase-4.8.0.tar.gz /opt/liquibase/ +ENV PATH="/opt/liquibase/:${PATH}" \ No newline at end of file diff --git a/README.md b/README.md index 03a4c53b73dd322f3c17196730661cd44beea280..06d00c3bc6a36fa6fd3ba2068cd953c2bdbfa9ff 100644 --- a/README.md +++ b/README.md @@ -62,7 +62,7 @@ services: - Exemple : démarrage ponctuel d'un container pour lancer un `composer install` ```bash -PHP_VERSION=7.3 ; \ +PHP_VERSION=7.4 ; \ docker run \ --rm \ -it \ @@ -76,6 +76,6 @@ composer install ```bash docker exec \ -sygal-container-php7.3 \ +sygal-container-php7.4 \ php -v ``` diff --git a/resources/jre-8u321-linux-x64.tar.gz b/resources/jre-8u321-linux-x64.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..cf7c27134e66ddccb3b1836d7e276fb001754876 Binary files /dev/null and b/resources/jre-8u321-linux-x64.tar.gz differ diff --git a/resources/libsaxon-HEC-setup64-v11.4.zip b/resources/libsaxon-HEC-setup64-v11.4.zip new file mode 100644 index 0000000000000000000000000000000000000000..048b31516c54b0823643c1645edee90a423a5745 Binary files /dev/null and b/resources/libsaxon-HEC-setup64-v11.4.zip differ diff --git a/resources/liquibase-4.8.0.tar.gz b/resources/liquibase-4.8.0.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..87fa9437772f83690e5be699f42615168cbad6f3 Binary files /dev/null and b/resources/liquibase-4.8.0.tar.gz differ