Merge branch 'php5-alpine'

# Conflicts:
#	7/Dockerfile.alpine-apache
#	7/Dockerfile.alpine-builder
This commit is contained in:
Muhamad Aditya Prima 2025-05-21 15:18:47 +07:00
commit 7e7a383f73
3 changed files with 45 additions and 37 deletions

View File

@ -9,23 +9,39 @@ ARG WITH_APACHE=false
ARG WITH_DATABASE=false ARG WITH_DATABASE=false
ARG PHP_VERSION=5.6 ARG PHP_VERSION=5.6
ARG PHP_VER_SHORT=5 ARG PHP_VER_SHORT=5
ARG COMPOSER_VERSION=2.2.25
ARG COMPOSER_VER_SHORT=2.2
ENV FLAVOR=${FLAVOR} ENV FLAVOR=${FLAVOR}
ENV WITH_APACHE=${WITH_APACHE} ENV WITH_APACHE=${WITH_APACHE}
ENV WITH_DATABASE=${WITH_DATABASE} ENV WITH_DATABASE=${WITH_DATABASE}
ENV PHP_VERSION=${PHP_VERSION} ENV PHP_VERSION=${PHP_VERSION}
ENV PHP_VER_SHORT=${PHP_VER_SHORT} 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 # 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 \ /sbin/apk add --update --no-cache \
php${PHP_VER_SHORT} php${PHP_VER_SHORT}-common \ php${PHP_VER_SHORT} php${PHP_VER_SHORT}-common \
php${PHP_VER_SHORT}-cli ; \ php${PHP_VER_SHORT}-cli php${PHP_VER_SHORT}-phar ; \
/bin/chmod +x /tmp/setup.sh; \ /bin/chmod +x /tmp/setup.sh /usr/local/bin/composer ; \
/bin/sh /tmp/setup.sh; \ /bin/sh /tmp/setup.sh; \
/bin/rm -f /tmp/*.sh; /bin/rm -f /tmp/*.sh;

View File

@ -6,7 +6,7 @@ dom,embed,enchant,exif,ftp,
gd,gettext,gmp,iconv,imap, gd,gettext,gmp,iconv,imap,
intl,json,ldap,mcrypt, intl,json,ldap,mcrypt,
opcache,openssl,pcntl,pdo, opcache,openssl,pcntl,pdo,
pear,phar,phpdbg, pear,phpdbg,
posix,pspell,shmop, posix,pspell,shmop,
snmp,soap,sockets,sysvmsg,sysvsem, snmp,soap,sockets,sysvmsg,sysvsem,
sysvshm,wddx,xml,xmlreader, sysvshm,wddx,xml,xmlreader,
@ -19,24 +19,16 @@ LOG_LEVEL="info"
# Setup php flavor # 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 for i in $(echo $PHP_LIST | tr "," "\n"); do
PHP_DEPS="${PHP_DEPS} php$PHP_VER_SHORT-$i "; PHP_DEPS="${PHP_DEPS} php$PHP_VER_SHORT-$i ";
done done
/sbin/apk add --update --no-cache $PHP_DEPS; /sbin/apk add --update --no-cache $PHP_DEPS;
fi
# Only setup apache with full flavor parameters # Only setup apache with full flavor parameters
if [ "$WITH_APACHE" == "true" ]; then if [ "$WITH_APACHE" == "true" ]; then
if [ "$FLAVOR" == "full" ] || [ "$FLAVOR" == "debug" ]; then
/usr/sbin/addgroup -g 10001 apache ; /usr/sbin/addgroup -g 10001 apache ;
/usr/sbin/adduser -D -u 10001 -G apache -s /bin/sh -h $APP_ROOT 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 ; /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|ServerRoot /var/www|ServerRoot ${SERVER_ROOT}|" /etc/apache2/httpd.conf ;
@ -55,12 +47,12 @@ if [ "$WITH_APACHE" == "true" ]; then
sed -i "s|Require ip 127|Require all granted|" /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 ; sed -i "s|/run/apache2/httpd.pid|${SERVER_ROOT}/run/httpd.pid|" /etc/apache2/conf.d/mpm.conf ;
fi fi
fi
if [ "$WITH_DATABASE" == "postgresql" ]; then if [ "$WITH_DATABASE" == "postgresql" ]; then
/sbin/apk add --update --no-cache php$PHP_VER_SHORT-pdo php$PHP_VER_SHORT-pdo_pgsql php$PHP_VER_SHORT-pgsql ; /sbin/apk add --update --no-cache php$PHP_VER_SHORT-pdo php$PHP_VER_SHORT-pdo_pgsql php$PHP_VER_SHORT-pgsql ;
fi fi
if [ "$WITH_DATABASE" == "mysql" ]; then 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 fi