From 82df79ee472f76fa575f10f2e831f83a00f4f113 Mon Sep 17 00:00:00 2001 From: Garcia M Date: Mon, 27 Feb 2017 11:08:51 +0100 Subject: [PATCH] Dolibarr 4.0.* images --- images/4.0.0/Dockerfile | 35 +++++++++++++++++ images/4.0.0/docker-run.sh | 77 ++++++++++++++++++++++++++++++++++++++ images/4.0.1/Dockerfile | 35 +++++++++++++++++ images/4.0.1/docker-run.sh | 77 ++++++++++++++++++++++++++++++++++++++ images/4.0.2/Dockerfile | 35 +++++++++++++++++ images/4.0.2/docker-run.sh | 77 ++++++++++++++++++++++++++++++++++++++ images/4.0.3/Dockerfile | 35 +++++++++++++++++ images/4.0.3/docker-run.sh | 77 ++++++++++++++++++++++++++++++++++++++ images/4.0.4/Dockerfile | 35 +++++++++++++++++ images/4.0.4/docker-run.sh | 77 ++++++++++++++++++++++++++++++++++++++ 10 files changed, 560 insertions(+) create mode 100644 images/4.0.0/Dockerfile create mode 100755 images/4.0.0/docker-run.sh create mode 100644 images/4.0.1/Dockerfile create mode 100755 images/4.0.1/docker-run.sh create mode 100644 images/4.0.2/Dockerfile create mode 100755 images/4.0.2/docker-run.sh create mode 100644 images/4.0.3/Dockerfile create mode 100755 images/4.0.3/docker-run.sh create mode 100644 images/4.0.4/Dockerfile create mode 100755 images/4.0.4/docker-run.sh diff --git a/images/4.0.0/Dockerfile b/images/4.0.0/Dockerfile new file mode 100644 index 0000000..d79e811 --- /dev/null +++ b/images/4.0.0/Dockerfile @@ -0,0 +1,35 @@ +FROM php:5.6-apache + +MAINTAINER Garcia MICHEL + +ENV DOLI_VERSION 4.0.0 +ENV DOLI_DATABASE_HOST mysql +ENV DOLI_ADMIN_LOGIN admin +ENV DOLI_ADMON_PASSWORD admin +ENV DOLI_URL_ROOT 'http://localhost' + +ENV PHP_INI_DATE_TIMEZONE 'UTC' + +RUN apt-get update -q && apt-get upgrade -yq \ + && apt-get install -yq \ + libpng12-dev \ + libjpeg-dev \ + mysql-client \ + unzip \ + && rm -rf /var/lib/apt/lists/* \ + && docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr \ + && docker-php-ext-install gd + +RUN docker-php-ext-install mysqli + +# Get Dolibarr +ADD https://github.com/Dolibarr/dolibarr/archive/${DOLI_VERSION}.zip /tmp/dolibarr.zip +RUN unzip -q /tmp/dolibarr.zip -d /tmp/dolibarr +RUN cp -r /tmp/dolibarr/dolibarr-${DOLI_VERSION}/htdocs/* /var/www/html/ && rm -rf /tmp/dolibarr + +VOLUME /var/www/documents + +EXPOSE 80 + +COPY docker-run.sh /usr/local/bin/ +ENTRYPOINT ["docker-run.sh"] diff --git a/images/4.0.0/docker-run.sh b/images/4.0.0/docker-run.sh new file mode 100755 index 0000000..50499ee --- /dev/null +++ b/images/4.0.0/docker-run.sh @@ -0,0 +1,77 @@ +#!/bin/bash + +r=1 +while [ $r -ne 0 ]; do + mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST -e "status" > /dev/null 2>&1 + r=$? + if [ $r -ne 0 ]; then + echo "Waiting that SQL database is up..." + sleep 2 + fi +done + +mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST $DOLI_DB_NAME -e "SELECT * FROM llx_const" > /dev/null 2>&1 +if [ $? -ne 0 ]; then + + echo "Importing tables SQL ..." + for f in /var/www/html/install/mysql/tables/*.sql; do + if [[ $f != *.key.sql ]]; then + mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST $DOLI_DB_NAME < $f > /dev/null 2>&1 + fi + done + + echo "Importing tables key SQL ..." + for f in /var/www/html/install/mysql/tables/*.key.sql; do + mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST $DOLI_DB_NAME < $f > /dev/null 2>&1 + done + + echo "Importing functions SQL ..." + for f in /var/www/html/install/mysql/functions/*.sql; do + mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST $DOLI_DB_NAME < $f > /dev/null 2>&1 + done + + echo "Importing data SQL ..." + for f in /var/www/html/install/mysql/data/*.sql; do + mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST $DOLI_DB_NAME < $f > /dev/null 2>&1 + done + + echo "Create SuperAdmin account ..." + pass_crypted=`echo -n $DOLI_ADMON_PASSWORD | md5sum | awk '{print $1}'` + mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST $DOLI_DB_NAME -e "INSERT INTO llx_user (entity, login, pass_crypted, lastname, admin, statut) VALUES (0, '${DOLI_ADMIN_LOGIN}', '${pass_crypted}', 'SuperAdmin', 1, 1);" > /dev/null 2>&1 + + echo "Set some default const ..." + mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST $DOLI_DB_NAME -e "DELETE FROM llx_const WHERE name='MAIN_VERSION_LAST_INSTALL';" > /dev/null 2>&1 + mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST $DOLI_DB_NAME -e "DELETE FROM llx_const WHERE name='MAIN_NOT_INSTALLED';" > /dev/null 2>&1 + mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST $DOLI_DB_NAME -e "DELETE FROM llx_const WHERE name='MAIN_LANG_DEFAULT';" > /dev/null 2>&1 + mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST $DOLI_DB_NAME -e "INSERT INTO llx_const(name,value,type,visible,note,entity) values('MAIN_VERSION_LAST_INSTALL', '${DOLI_VERSION}', 'chaine', 0, 'Dolibarr version when install', 0);" > /dev/null 2>&1 + mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST $DOLI_DB_NAME -e "INSERT INTO llx_const(name,value,type,visible,note,entity) VALUES ('MAIN_LANG_DEFAULT', 'auto', 'chaine', 0, 'Default language', 1);" > /dev/null 2>&1 + + echo "Create conf file ..." + cat < /var/www/html/conf/conf.php + /usr/local/etc/php/php.ini +date.timezone = $PHP_INI_DATE_TIMEZONE +EOF + +fi + +exec apache2-foreground diff --git a/images/4.0.1/Dockerfile b/images/4.0.1/Dockerfile new file mode 100644 index 0000000..8c01c02 --- /dev/null +++ b/images/4.0.1/Dockerfile @@ -0,0 +1,35 @@ +FROM php:5.6-apache + +MAINTAINER Garcia MICHEL + +ENV DOLI_VERSION 4.0.1 +ENV DOLI_DATABASE_HOST mysql +ENV DOLI_ADMIN_LOGIN admin +ENV DOLI_ADMON_PASSWORD admin +ENV DOLI_URL_ROOT 'http://localhost' + +ENV PHP_INI_DATE_TIMEZONE 'UTC' + +RUN apt-get update -q && apt-get upgrade -yq \ + && apt-get install -yq \ + libpng12-dev \ + libjpeg-dev \ + mysql-client \ + unzip \ + && rm -rf /var/lib/apt/lists/* \ + && docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr \ + && docker-php-ext-install gd + +RUN docker-php-ext-install mysqli + +# Get Dolibarr +ADD https://github.com/Dolibarr/dolibarr/archive/${DOLI_VERSION}.zip /tmp/dolibarr.zip +RUN unzip -q /tmp/dolibarr.zip -d /tmp/dolibarr +RUN cp -r /tmp/dolibarr/dolibarr-${DOLI_VERSION}/htdocs/* /var/www/html/ && rm -rf /tmp/dolibarr + +VOLUME /var/www/documents + +EXPOSE 80 + +COPY docker-run.sh /usr/local/bin/ +ENTRYPOINT ["docker-run.sh"] diff --git a/images/4.0.1/docker-run.sh b/images/4.0.1/docker-run.sh new file mode 100755 index 0000000..50499ee --- /dev/null +++ b/images/4.0.1/docker-run.sh @@ -0,0 +1,77 @@ +#!/bin/bash + +r=1 +while [ $r -ne 0 ]; do + mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST -e "status" > /dev/null 2>&1 + r=$? + if [ $r -ne 0 ]; then + echo "Waiting that SQL database is up..." + sleep 2 + fi +done + +mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST $DOLI_DB_NAME -e "SELECT * FROM llx_const" > /dev/null 2>&1 +if [ $? -ne 0 ]; then + + echo "Importing tables SQL ..." + for f in /var/www/html/install/mysql/tables/*.sql; do + if [[ $f != *.key.sql ]]; then + mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST $DOLI_DB_NAME < $f > /dev/null 2>&1 + fi + done + + echo "Importing tables key SQL ..." + for f in /var/www/html/install/mysql/tables/*.key.sql; do + mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST $DOLI_DB_NAME < $f > /dev/null 2>&1 + done + + echo "Importing functions SQL ..." + for f in /var/www/html/install/mysql/functions/*.sql; do + mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST $DOLI_DB_NAME < $f > /dev/null 2>&1 + done + + echo "Importing data SQL ..." + for f in /var/www/html/install/mysql/data/*.sql; do + mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST $DOLI_DB_NAME < $f > /dev/null 2>&1 + done + + echo "Create SuperAdmin account ..." + pass_crypted=`echo -n $DOLI_ADMON_PASSWORD | md5sum | awk '{print $1}'` + mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST $DOLI_DB_NAME -e "INSERT INTO llx_user (entity, login, pass_crypted, lastname, admin, statut) VALUES (0, '${DOLI_ADMIN_LOGIN}', '${pass_crypted}', 'SuperAdmin', 1, 1);" > /dev/null 2>&1 + + echo "Set some default const ..." + mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST $DOLI_DB_NAME -e "DELETE FROM llx_const WHERE name='MAIN_VERSION_LAST_INSTALL';" > /dev/null 2>&1 + mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST $DOLI_DB_NAME -e "DELETE FROM llx_const WHERE name='MAIN_NOT_INSTALLED';" > /dev/null 2>&1 + mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST $DOLI_DB_NAME -e "DELETE FROM llx_const WHERE name='MAIN_LANG_DEFAULT';" > /dev/null 2>&1 + mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST $DOLI_DB_NAME -e "INSERT INTO llx_const(name,value,type,visible,note,entity) values('MAIN_VERSION_LAST_INSTALL', '${DOLI_VERSION}', 'chaine', 0, 'Dolibarr version when install', 0);" > /dev/null 2>&1 + mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST $DOLI_DB_NAME -e "INSERT INTO llx_const(name,value,type,visible,note,entity) VALUES ('MAIN_LANG_DEFAULT', 'auto', 'chaine', 0, 'Default language', 1);" > /dev/null 2>&1 + + echo "Create conf file ..." + cat < /var/www/html/conf/conf.php + /usr/local/etc/php/php.ini +date.timezone = $PHP_INI_DATE_TIMEZONE +EOF + +fi + +exec apache2-foreground diff --git a/images/4.0.2/Dockerfile b/images/4.0.2/Dockerfile new file mode 100644 index 0000000..ebc6b23 --- /dev/null +++ b/images/4.0.2/Dockerfile @@ -0,0 +1,35 @@ +FROM php:5.6-apache + +MAINTAINER Garcia MICHEL + +ENV DOLI_VERSION 4.0.2 +ENV DOLI_DATABASE_HOST mysql +ENV DOLI_ADMIN_LOGIN admin +ENV DOLI_ADMON_PASSWORD admin +ENV DOLI_URL_ROOT 'http://localhost' + +ENV PHP_INI_DATE_TIMEZONE 'UTC' + +RUN apt-get update -q && apt-get upgrade -yq \ + && apt-get install -yq \ + libpng12-dev \ + libjpeg-dev \ + mysql-client \ + unzip \ + && rm -rf /var/lib/apt/lists/* \ + && docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr \ + && docker-php-ext-install gd + +RUN docker-php-ext-install mysqli + +# Get Dolibarr +ADD https://github.com/Dolibarr/dolibarr/archive/${DOLI_VERSION}.zip /tmp/dolibarr.zip +RUN unzip -q /tmp/dolibarr.zip -d /tmp/dolibarr +RUN cp -r /tmp/dolibarr/dolibarr-${DOLI_VERSION}/htdocs/* /var/www/html/ && rm -rf /tmp/dolibarr + +VOLUME /var/www/documents + +EXPOSE 80 + +COPY docker-run.sh /usr/local/bin/ +ENTRYPOINT ["docker-run.sh"] diff --git a/images/4.0.2/docker-run.sh b/images/4.0.2/docker-run.sh new file mode 100755 index 0000000..50499ee --- /dev/null +++ b/images/4.0.2/docker-run.sh @@ -0,0 +1,77 @@ +#!/bin/bash + +r=1 +while [ $r -ne 0 ]; do + mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST -e "status" > /dev/null 2>&1 + r=$? + if [ $r -ne 0 ]; then + echo "Waiting that SQL database is up..." + sleep 2 + fi +done + +mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST $DOLI_DB_NAME -e "SELECT * FROM llx_const" > /dev/null 2>&1 +if [ $? -ne 0 ]; then + + echo "Importing tables SQL ..." + for f in /var/www/html/install/mysql/tables/*.sql; do + if [[ $f != *.key.sql ]]; then + mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST $DOLI_DB_NAME < $f > /dev/null 2>&1 + fi + done + + echo "Importing tables key SQL ..." + for f in /var/www/html/install/mysql/tables/*.key.sql; do + mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST $DOLI_DB_NAME < $f > /dev/null 2>&1 + done + + echo "Importing functions SQL ..." + for f in /var/www/html/install/mysql/functions/*.sql; do + mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST $DOLI_DB_NAME < $f > /dev/null 2>&1 + done + + echo "Importing data SQL ..." + for f in /var/www/html/install/mysql/data/*.sql; do + mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST $DOLI_DB_NAME < $f > /dev/null 2>&1 + done + + echo "Create SuperAdmin account ..." + pass_crypted=`echo -n $DOLI_ADMON_PASSWORD | md5sum | awk '{print $1}'` + mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST $DOLI_DB_NAME -e "INSERT INTO llx_user (entity, login, pass_crypted, lastname, admin, statut) VALUES (0, '${DOLI_ADMIN_LOGIN}', '${pass_crypted}', 'SuperAdmin', 1, 1);" > /dev/null 2>&1 + + echo "Set some default const ..." + mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST $DOLI_DB_NAME -e "DELETE FROM llx_const WHERE name='MAIN_VERSION_LAST_INSTALL';" > /dev/null 2>&1 + mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST $DOLI_DB_NAME -e "DELETE FROM llx_const WHERE name='MAIN_NOT_INSTALLED';" > /dev/null 2>&1 + mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST $DOLI_DB_NAME -e "DELETE FROM llx_const WHERE name='MAIN_LANG_DEFAULT';" > /dev/null 2>&1 + mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST $DOLI_DB_NAME -e "INSERT INTO llx_const(name,value,type,visible,note,entity) values('MAIN_VERSION_LAST_INSTALL', '${DOLI_VERSION}', 'chaine', 0, 'Dolibarr version when install', 0);" > /dev/null 2>&1 + mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST $DOLI_DB_NAME -e "INSERT INTO llx_const(name,value,type,visible,note,entity) VALUES ('MAIN_LANG_DEFAULT', 'auto', 'chaine', 0, 'Default language', 1);" > /dev/null 2>&1 + + echo "Create conf file ..." + cat < /var/www/html/conf/conf.php + /usr/local/etc/php/php.ini +date.timezone = $PHP_INI_DATE_TIMEZONE +EOF + +fi + +exec apache2-foreground diff --git a/images/4.0.3/Dockerfile b/images/4.0.3/Dockerfile new file mode 100644 index 0000000..59b83fa --- /dev/null +++ b/images/4.0.3/Dockerfile @@ -0,0 +1,35 @@ +FROM php:5.6-apache + +MAINTAINER Garcia MICHEL + +ENV DOLI_VERSION 4.0.3 +ENV DOLI_DATABASE_HOST mysql +ENV DOLI_ADMIN_LOGIN admin +ENV DOLI_ADMON_PASSWORD admin +ENV DOLI_URL_ROOT 'http://localhost' + +ENV PHP_INI_DATE_TIMEZONE 'UTC' + +RUN apt-get update -q && apt-get upgrade -yq \ + && apt-get install -yq \ + libpng12-dev \ + libjpeg-dev \ + mysql-client \ + unzip \ + && rm -rf /var/lib/apt/lists/* \ + && docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr \ + && docker-php-ext-install gd + +RUN docker-php-ext-install mysqli + +# Get Dolibarr +ADD https://github.com/Dolibarr/dolibarr/archive/${DOLI_VERSION}.zip /tmp/dolibarr.zip +RUN unzip -q /tmp/dolibarr.zip -d /tmp/dolibarr +RUN cp -r /tmp/dolibarr/dolibarr-${DOLI_VERSION}/htdocs/* /var/www/html/ && rm -rf /tmp/dolibarr + +VOLUME /var/www/documents + +EXPOSE 80 + +COPY docker-run.sh /usr/local/bin/ +ENTRYPOINT ["docker-run.sh"] diff --git a/images/4.0.3/docker-run.sh b/images/4.0.3/docker-run.sh new file mode 100755 index 0000000..50499ee --- /dev/null +++ b/images/4.0.3/docker-run.sh @@ -0,0 +1,77 @@ +#!/bin/bash + +r=1 +while [ $r -ne 0 ]; do + mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST -e "status" > /dev/null 2>&1 + r=$? + if [ $r -ne 0 ]; then + echo "Waiting that SQL database is up..." + sleep 2 + fi +done + +mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST $DOLI_DB_NAME -e "SELECT * FROM llx_const" > /dev/null 2>&1 +if [ $? -ne 0 ]; then + + echo "Importing tables SQL ..." + for f in /var/www/html/install/mysql/tables/*.sql; do + if [[ $f != *.key.sql ]]; then + mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST $DOLI_DB_NAME < $f > /dev/null 2>&1 + fi + done + + echo "Importing tables key SQL ..." + for f in /var/www/html/install/mysql/tables/*.key.sql; do + mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST $DOLI_DB_NAME < $f > /dev/null 2>&1 + done + + echo "Importing functions SQL ..." + for f in /var/www/html/install/mysql/functions/*.sql; do + mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST $DOLI_DB_NAME < $f > /dev/null 2>&1 + done + + echo "Importing data SQL ..." + for f in /var/www/html/install/mysql/data/*.sql; do + mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST $DOLI_DB_NAME < $f > /dev/null 2>&1 + done + + echo "Create SuperAdmin account ..." + pass_crypted=`echo -n $DOLI_ADMON_PASSWORD | md5sum | awk '{print $1}'` + mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST $DOLI_DB_NAME -e "INSERT INTO llx_user (entity, login, pass_crypted, lastname, admin, statut) VALUES (0, '${DOLI_ADMIN_LOGIN}', '${pass_crypted}', 'SuperAdmin', 1, 1);" > /dev/null 2>&1 + + echo "Set some default const ..." + mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST $DOLI_DB_NAME -e "DELETE FROM llx_const WHERE name='MAIN_VERSION_LAST_INSTALL';" > /dev/null 2>&1 + mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST $DOLI_DB_NAME -e "DELETE FROM llx_const WHERE name='MAIN_NOT_INSTALLED';" > /dev/null 2>&1 + mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST $DOLI_DB_NAME -e "DELETE FROM llx_const WHERE name='MAIN_LANG_DEFAULT';" > /dev/null 2>&1 + mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST $DOLI_DB_NAME -e "INSERT INTO llx_const(name,value,type,visible,note,entity) values('MAIN_VERSION_LAST_INSTALL', '${DOLI_VERSION}', 'chaine', 0, 'Dolibarr version when install', 0);" > /dev/null 2>&1 + mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST $DOLI_DB_NAME -e "INSERT INTO llx_const(name,value,type,visible,note,entity) VALUES ('MAIN_LANG_DEFAULT', 'auto', 'chaine', 0, 'Default language', 1);" > /dev/null 2>&1 + + echo "Create conf file ..." + cat < /var/www/html/conf/conf.php + /usr/local/etc/php/php.ini +date.timezone = $PHP_INI_DATE_TIMEZONE +EOF + +fi + +exec apache2-foreground diff --git a/images/4.0.4/Dockerfile b/images/4.0.4/Dockerfile new file mode 100644 index 0000000..198606a --- /dev/null +++ b/images/4.0.4/Dockerfile @@ -0,0 +1,35 @@ +FROM php:5.6-apache + +MAINTAINER Garcia MICHEL + +ENV DOLI_VERSION 4.0.4 +ENV DOLI_DATABASE_HOST mysql +ENV DOLI_ADMIN_LOGIN admin +ENV DOLI_ADMON_PASSWORD admin +ENV DOLI_URL_ROOT 'http://localhost' + +ENV PHP_INI_DATE_TIMEZONE 'UTC' + +RUN apt-get update -q && apt-get upgrade -yq \ + && apt-get install -yq \ + libpng12-dev \ + libjpeg-dev \ + mysql-client \ + unzip \ + && rm -rf /var/lib/apt/lists/* \ + && docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr \ + && docker-php-ext-install gd + +RUN docker-php-ext-install mysqli + +# Get Dolibarr +ADD https://github.com/Dolibarr/dolibarr/archive/${DOLI_VERSION}.zip /tmp/dolibarr.zip +RUN unzip -q /tmp/dolibarr.zip -d /tmp/dolibarr +RUN cp -r /tmp/dolibarr/dolibarr-${DOLI_VERSION}/htdocs/* /var/www/html/ && rm -rf /tmp/dolibarr + +VOLUME /var/www/documents + +EXPOSE 80 + +COPY docker-run.sh /usr/local/bin/ +ENTRYPOINT ["docker-run.sh"] diff --git a/images/4.0.4/docker-run.sh b/images/4.0.4/docker-run.sh new file mode 100755 index 0000000..50499ee --- /dev/null +++ b/images/4.0.4/docker-run.sh @@ -0,0 +1,77 @@ +#!/bin/bash + +r=1 +while [ $r -ne 0 ]; do + mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST -e "status" > /dev/null 2>&1 + r=$? + if [ $r -ne 0 ]; then + echo "Waiting that SQL database is up..." + sleep 2 + fi +done + +mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST $DOLI_DB_NAME -e "SELECT * FROM llx_const" > /dev/null 2>&1 +if [ $? -ne 0 ]; then + + echo "Importing tables SQL ..." + for f in /var/www/html/install/mysql/tables/*.sql; do + if [[ $f != *.key.sql ]]; then + mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST $DOLI_DB_NAME < $f > /dev/null 2>&1 + fi + done + + echo "Importing tables key SQL ..." + for f in /var/www/html/install/mysql/tables/*.key.sql; do + mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST $DOLI_DB_NAME < $f > /dev/null 2>&1 + done + + echo "Importing functions SQL ..." + for f in /var/www/html/install/mysql/functions/*.sql; do + mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST $DOLI_DB_NAME < $f > /dev/null 2>&1 + done + + echo "Importing data SQL ..." + for f in /var/www/html/install/mysql/data/*.sql; do + mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST $DOLI_DB_NAME < $f > /dev/null 2>&1 + done + + echo "Create SuperAdmin account ..." + pass_crypted=`echo -n $DOLI_ADMON_PASSWORD | md5sum | awk '{print $1}'` + mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST $DOLI_DB_NAME -e "INSERT INTO llx_user (entity, login, pass_crypted, lastname, admin, statut) VALUES (0, '${DOLI_ADMIN_LOGIN}', '${pass_crypted}', 'SuperAdmin', 1, 1);" > /dev/null 2>&1 + + echo "Set some default const ..." + mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST $DOLI_DB_NAME -e "DELETE FROM llx_const WHERE name='MAIN_VERSION_LAST_INSTALL';" > /dev/null 2>&1 + mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST $DOLI_DB_NAME -e "DELETE FROM llx_const WHERE name='MAIN_NOT_INSTALLED';" > /dev/null 2>&1 + mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST $DOLI_DB_NAME -e "DELETE FROM llx_const WHERE name='MAIN_LANG_DEFAULT';" > /dev/null 2>&1 + mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST $DOLI_DB_NAME -e "INSERT INTO llx_const(name,value,type,visible,note,entity) values('MAIN_VERSION_LAST_INSTALL', '${DOLI_VERSION}', 'chaine', 0, 'Dolibarr version when install', 0);" > /dev/null 2>&1 + mysql -u $DOLI_DB_USER -p${DOLI_DB_PASSWORD} -h $DOLI_DB_HOST $DOLI_DB_NAME -e "INSERT INTO llx_const(name,value,type,visible,note,entity) VALUES ('MAIN_LANG_DEFAULT', 'auto', 'chaine', 0, 'Default language', 1);" > /dev/null 2>&1 + + echo "Create conf file ..." + cat < /var/www/html/conf/conf.php + /usr/local/etc/php/php.ini +date.timezone = $PHP_INI_DATE_TIMEZONE +EOF + +fi + +exec apache2-foreground