diff --git a/5/Dockerfile.alpine b/5/Dockerfile.alpine index e96f11a..0815fdd 100644 --- a/5/Dockerfile.alpine +++ b/5/Dockerfile.alpine @@ -9,23 +9,39 @@ ARG WITH_APACHE=false ARG WITH_DATABASE=false ARG PHP_VERSION=5.6 ARG PHP_VER_SHORT=5 +ARG COMPOSER_VERSION=2.2.25 +ARG COMPOSER_VER_SHORT=2.2 ENV FLAVOR=${FLAVOR} ENV WITH_APACHE=${WITH_APACHE} ENV WITH_DATABASE=${WITH_DATABASE} ENV PHP_VERSION=${PHP_VERSION} ENV PHP_VER_SHORT=${PHP_VER_SHORT} +ENV COMPOSER_VERSION=${COMPOSER_VERSION} +ENV COMPOSER_VER_SHORT=${COMPOSER_VER_SHORT} -WORKDIR /root +# Set composer home +ENV COMPOSER_HOME=/app +ENV COMPOSER_CACHE_DIR=${COMPOSER_HOME}/cache -ADD 5/scripts/alpine-setup.sh /tmp/setup.sh +WORKDIR /tmp + +ADD 5/scripts/alpine-setup.sh ./setup.sh + +# Download and install composer +ADD https://github.com/composer/composer/releases/download/${COMPOSER_VERSION}/composer.phar /usr/local/bin/composer # Create directory, and install required php app -RUN /bin/mkdir -p /app ; \ +RUN /bin/mkdir -p ${COMPOSER_HOME}/build ${COMPOSER_CACHE_DIR}/files \ + ${COMPOSER_CACHE_DIR}/repo ${COMPOSER_CACHE_DIR}/vcs ; \ + /app ; \ + /usr/sbin/addgroup -g 10001 php ; \ + /usr/sbin/adduser -D -u 10001 -G php -s /sbin/nologin -h ${COMPOSER_HOME}/build php ; \ + /bin/mkdir -p /app ; \ /sbin/apk add --update --no-cache \ php${PHP_VER_SHORT} php${PHP_VER_SHORT}-common \ - php${PHP_VER_SHORT}-cli ; \ - /bin/chmod +x /tmp/setup.sh; \ + php${PHP_VER_SHORT}-cli php${PHP_VER_SHORT}-phar ; \ + /bin/chmod +x /tmp/setup.sh /usr/local/bin/composer ; \ /bin/sh /tmp/setup.sh; \ /bin/rm -f /tmp/*.sh; diff --git a/5/Dockerfile.apache-alpine b/5/Dockerfile.alpine-apache similarity index 100% rename from 5/Dockerfile.apache-alpine rename to 5/Dockerfile.alpine-apache diff --git a/5/scripts/alpine-setup.sh b/5/scripts/alpine-setup.sh index ae2311f..73eb4c9 100644 --- a/5/scripts/alpine-setup.sh +++ b/5/scripts/alpine-setup.sh @@ -6,7 +6,7 @@ dom,embed,enchant,exif,ftp, gd,gettext,gmp,iconv,imap, intl,json,ldap,mcrypt, opcache,openssl,pcntl,pdo, -pear,phar,phpdbg, +pear,phpdbg, posix,pspell,shmop, snmp,soap,sockets,sysvmsg,sysvsem, sysvshm,wddx,xml,xmlreader, @@ -19,42 +19,33 @@ LOG_LEVEL="info" # Setup php flavor -if [[ "$FLAVOR" == "debug" ]]; then - LOG_LEVEL="debug" - /sbin/apk add --update --no-cache php$PHP_VER_SHORT-dbg; -fi - -if [ "$FLAVOR" == "full" ] || [ "$FLAVOR" == "debug" ]; then - for i in $(echo $PHP_LIST | tr "," "\n"); do - PHP_DEPS="${PHP_DEPS} php$PHP_VER_SHORT-$i "; - done +for i in $(echo $PHP_LIST | tr "," "\n"); do + PHP_DEPS="${PHP_DEPS} php$PHP_VER_SHORT-$i "; +done /sbin/apk add --update --no-cache $PHP_DEPS; -fi # Only setup apache with full flavor parameters if [ "$WITH_APACHE" == "true" ]; then - if [ "$FLAVOR" == "full" ] || [ "$FLAVOR" == "debug" ]; then - /usr/sbin/addgroup -g 10001 apache ; - /usr/sbin/adduser -D -u 10001 -G apache -s /bin/sh -h $APP_ROOT apache ; - /sbin/apk add --update --no-cache apache2 php$PHP_VER_SHORT-apache2 ; + /usr/sbin/addgroup -g 10001 apache ; + /usr/sbin/adduser -D -u 10001 -G apache -s /sbin/nologin -h $APP_ROOT apache ; + /sbin/apk add --update --no-cache apache2 php$PHP_VER_SHORT-apache2 ; - sed -i "s|ServerRoot /var/www|ServerRoot ${SERVER_ROOT}|" /etc/apache2/httpd.conf ; - sed -i "s|ServerAdmin you@example.com| ServerAdmin map@sindigilive.com|" /etc/apache2/httpd.conf ; - sed -i "s|DocumentRoot \"/var/www/localhost/htdocs\"|DocumentRoot \"${APP_ROOT}\"|" /etc/apache2/httpd.conf ; - sed -i "s|Directory \"/var/www/localhost/htdocs\"|Directory \"${APP_ROOT}\"|" /etc/apache2/httpd.conf ; - sed -i "s|AllowOverride None|AllowOverride All|" /etc/apache2/httpd.conf ; - sed -i "s|ErrorLog .*|ErrorLog /dev/stderr \nTransferLog /dev/stdout|" /etc/apache2/httpd.conf ; - sed -i "s|CustomLog .* combined|CustomLog /dev/stdout combined|" /etc/apache2/httpd.conf ; - sed -i "s|LogLevel .*|LogLevel ${LOG_LEVEL}|" /etc/apache2/httpd.conf ; - sed -i "s|#LoadModule rewrite_module|LoadModule rewrite_module|" /etc/apache2/httpd.conf ; - sed -i "s|#LoadModule deflate_module|LoadModule deflate_module|" /etc/apache2/httpd.conf ; - sed -i "s|#LoadModule expires_module|LoadModule expires_module|" /etc/apache2/httpd.conf ; - sed -i "s|/var/www/localhost/cgi-bin/|/app/cgi-bin/|" /etc/apache2/httpd.conf ; - sed -i "s|Require host .example.com|#Require host .example.com|" /etc/apache2/conf.d/info.conf ; - sed -i "s|Require ip 127|Require all granted|" /etc/apache2/conf.d/info.conf ; - sed -i "s|/run/apache2/httpd.pid|${SERVER_ROOT}/run/httpd.pid|" /etc/apache2/conf.d/mpm.conf ; - fi + sed -i "s|ServerRoot /var/www|ServerRoot ${SERVER_ROOT}|" /etc/apache2/httpd.conf ; + sed -i "s|ServerAdmin you@example.com| ServerAdmin map@sindigilive.com|" /etc/apache2/httpd.conf ; + sed -i "s|DocumentRoot \"/var/www/localhost/htdocs\"|DocumentRoot \"${APP_ROOT}\"|" /etc/apache2/httpd.conf ; + sed -i "s|Directory \"/var/www/localhost/htdocs\"|Directory \"${APP_ROOT}\"|" /etc/apache2/httpd.conf ; + sed -i "s|AllowOverride None|AllowOverride All|" /etc/apache2/httpd.conf ; + sed -i "s|ErrorLog .*|ErrorLog /dev/stderr \nTransferLog /dev/stdout|" /etc/apache2/httpd.conf ; + sed -i "s|CustomLog .* combined|CustomLog /dev/stdout combined|" /etc/apache2/httpd.conf ; + sed -i "s|LogLevel .*|LogLevel ${LOG_LEVEL}|" /etc/apache2/httpd.conf ; + sed -i "s|#LoadModule rewrite_module|LoadModule rewrite_module|" /etc/apache2/httpd.conf ; + sed -i "s|#LoadModule deflate_module|LoadModule deflate_module|" /etc/apache2/httpd.conf ; + sed -i "s|#LoadModule expires_module|LoadModule expires_module|" /etc/apache2/httpd.conf ; + sed -i "s|/var/www/localhost/cgi-bin/|/app/cgi-bin/|" /etc/apache2/httpd.conf ; + sed -i "s|Require host .example.com|#Require host .example.com|" /etc/apache2/conf.d/info.conf ; + sed -i "s|Require ip 127|Require all granted|" /etc/apache2/conf.d/info.conf ; + sed -i "s|/run/apache2/httpd.pid|${SERVER_ROOT}/run/httpd.pid|" /etc/apache2/conf.d/mpm.conf ; fi if [ "$WITH_DATABASE" == "postgresql" ]; then @@ -62,5 +53,6 @@ if [ "$WITH_DATABASE" == "postgresql" ]; then fi if [ "$WITH_DATABASE" == "mysql" ]; then - /sbin/apk add --update --no-cache php$PHP_VER_SHORT-pdo php$PHP_VER_SHORT-pdo_mysql php$PHP_VER_SHORT-mysql php$PHP_VER_SHORT-mysqli ; + /sbin/apk add --update --no-cache php$PHP_VER_SHORT-pdo php$PHP_VER_SHORT-pdo_mysql php$PHP_VER_SHORT-mysql \ + php$PHP_VER_SHORT-mysqli ; fi \ No newline at end of file