FROM php:7.0-apache # PHP extensions ENV APCU_VERSION 5.1.5 RUN buildDeps=" \ libicu-dev \ zlib1g-dev \ " \ && apt-get update \ && apt-get install -y --no-install-recommends \ $buildDeps \ libicu52 \ zlib1g \ && rm -rf /var/lib/apt/lists/* \ && docker-php-ext-install \ intl \ mbstring \ pdo_mysql \ zip \ && apt-get purge -y --auto-remove $buildDeps RUN pecl install \ apcu-$APCU_VERSION \ && docker-php-ext-enable --ini-name 05-opcache.ini \ opcache \ && docker-php-ext-enable --ini-name 20-apcu.ini \ apcu # Apache config RUN a2enmod rewrite ADD docker/apache/vhost.conf /etc/apache2/sites-available/000-default.conf # PHP config ADD docker/php/php.ini /usr/local/etc/php/php.ini # Install Git RUN apt-get update \ && apt-get install -y --no-install-recommends \ git \ && rm -rf /var/lib/apt/lists/* # Install composer RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \ && php -r "if (hash_file('SHA384', 'composer-setup.php') === 'e115a8dc7871f15d853148a7fbac7da27d6c0030b848d9b3dc09e2a0388afed865e6a3d6b3c0fad45c48e2b5fc1196ae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" \ && php composer-setup.php \ && php -r "unlink('composer-setup.php');" \ && mv composer.phar /usr/bin/composer \ && composer global require "hirak/prestissimo:^0.3" # Add the application ADD . /app WORKDIR /app # Remove cache and logs if some and fixes permissions RUN ((rm -rf var/cache/* && rm -rf var/logs/* && rm -rf var/sessions/*) || true) \ # Install dependencies && composer install --optimize-autoloader --no-scripts \ # Fixes permissions issues in non-dev mode && chown -R www-data . var/cache var/logs var/sessions CMD ["/app/docker/apache/run.sh"]