# #-------------------------------------------------------------------------- # Image Setup #-------------------------------------------------------------------------- # ARG LARADOCK_PHP_VERSION ARG BASE_IMAGE_TAG_PREFIX=latest FROM php:${LARADOCK_PHP_VERSION}-alpine LABEL maintainer="Ludovic CANDELLIER " ARG LARADOCK_PHP_VERSION RUN apk --update add wget \ curl \ git \ build-base \ libmcrypt-dev \ libxml2-dev \ pcre-dev \ zlib-dev \ autoconf \ cyrus-sasl-dev \ libgsasl-dev \ oniguruma-dev \ ghostscript \ openssl \ openssl-dev \ supervisor \ chromium RUN pecl channel-update pecl.php.net; \ docker-php-ext-install mysqli mbstring pdo pdo_mysql tokenizer xml pcntl # Add a non-root user: ARG PUID=1000 ENV PUID ${PUID} ARG PGID=1000 ENV PGID ${PGID} RUN addgroup -g ${PGID} laradock && \ adduser -D -G laradock -u ${PUID} laradock #RUN apk add tzdata \ # cp /usr/share/zoneinfo/Europe/Paris /etc/localtime \ # echo "Europe/Paris" > /etc/timezone #Install BZ2: ARG INSTALL_BZ2=false RUN if [ ${INSTALL_BZ2} = true ]; then \ apk --update add bzip2-dev; \ docker-php-ext-install bz2; \ fi #Install GD package: ARG INSTALL_GD=false RUN if [ ${INSTALL_GD} = true ]; then \ apk add --update --no-cache freetype-dev libjpeg-turbo-dev jpeg-dev libpng-dev; \ if [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ] && [ $(php -r "echo PHP_MINOR_VERSION;") = "4" ]; then \ docker-php-ext-configure gd --with-freetype --with-jpeg --with-png; \ else \ docker-php-ext-configure gd --with-freetype-dir=/usr/lib/ --with-jpeg-dir=/usr/lib/ --with-png-dir=/usr/lib/; \ fi; \ docker-php-ext-install gd \ ;fi #Install ImageMagick: ARG INSTALL_IMAGEMAGICK=false ARG IMAGEMAGICK_VERSION=latest ENV IMAGEMAGICK_VERSION ${IMAGEMAGICK_VERSION} RUN set -eux; \ if [ ${INSTALL_IMAGEMAGICK} = true ]; then \ apk add --update --no-cache imagemagick-dev imagemagick; \ if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ]; then \ cd /tmp && \ if [ ${IMAGEMAGICK_VERSION} = "latest" ]; then \ git clone https://github.com/Imagick/imagick; \ else \ git clone --branch ${IMAGEMAGICK_VERSION} https://github.com/Imagick/imagick; \ fi && \ cd imagick && \ phpize && \ ./configure && \ make && \ make install && \ rm -r /tmp/imagick; \ else \ pecl install imagick; \ fi && \ docker-php-ext-enable imagick; \ php -m | grep -q 'imagick'; \ fi #Install GMP package: ARG INSTALL_GMP=false RUN if [ ${INSTALL_GMP} = true ]; then \ apk add --update --no-cache gmp gmp-dev \ && docker-php-ext-install gmp \ ;fi #Install BCMath package: ARG INSTALL_BCMATH=false RUN if [ ${INSTALL_BCMATH} = true ]; then \ docker-php-ext-install bcmath \ ;fi # Install ZipArchive: ARG INSTALL_ZIP_ARCHIVE=false RUN set -eux; \ if [ ${INSTALL_ZIP_ARCHIVE} = true ]; then \ apk --update add libzip-dev && \ if [ ${LARADOCK_PHP_VERSION} = "7.3" ] || [ ${LARADOCK_PHP_VERSION} = "7.4" ] || [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ]; then \ docker-php-ext-configure zip; \ else \ docker-php-ext-configure zip --with-libzip; \ fi && \ # Install the zip extension docker-php-ext-install zip \ ;fi # Install MySQL Client: ARG INSTALL_MYSQL_CLIENT=false RUN if [ ${INSTALL_MYSQL_CLIENT} = true ]; then \ apk --update add mysql-client \ ;fi ARG INSTALL_GHOSTSCRIPT=false RUN if [ $INSTALL_GHOSTSCRIPT = true ]; then \ apk --update add ghostscript \ ;fi # Install Redis package: ARG INSTALL_REDIS=false RUN if [ ${INSTALL_REDIS} = true ]; then \ # Install Redis Extension if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \ printf "\n" | pecl install -o -f redis-4.3.0; \ else \ printf "\n" | pecl install -o -f redis; \ fi; \ rm -rf /tmp/pear; \ docker-php-ext-enable redis \ ;fi # #-------------------------------------------------------------------------- # Optional Supervisord Configuration #-------------------------------------------------------------------------- # # Modify the ./supervisor.conf file to match your App's requirements. # Make sure you rebuild your container with every change. # COPY supervisord.conf /etc/supervisord.conf ENTRYPOINT ["/usr/bin/supervisord", "-n", "-c", "/etc/supervisord.conf"] # #-------------------------------------------------------------------------- # Optional Software's Installation #-------------------------------------------------------------------------- # # If you need to modify this image, feel free to do it right here. # # -- Your awesome modifications go here -- # # #-------------------------------------------------------------------------- # Check PHP version #-------------------------------------------------------------------------- # RUN cd /usr/local/etc/php/conf.d/ && \ echo 'memory_limit = -1' >> /usr/local/etc/php/conf.d/docker-php-ram-limit.ini RUN cd /usr/local/etc/php/conf.d/ && \ echo 'max_execution_time = 0' >> /usr/local/etc/php/conf.d/docker-php-exec-limit.ini RUN php -v | head -n 1 | grep -q "PHP ${PHP_VERSION}." # #-------------------------------------------------------------------------- # Final Touch #-------------------------------------------------------------------------- # # Clean up RUN rm /var/cache/apk/* \ && mkdir -p /var/www WORKDIR /etc/supervisor/conf.d/