FROM php:8.4-apache WORKDIR /var/www/html RUN apt-get update && apt-get install -y \ build-essential \ libpng-dev \ libjpeg62-turbo-dev \ libfreetype6-dev \ locales \ zip \ jpegoptim \ optipng \ pngquant \ gifsicle \ vim \ nano \ unzip \ libzip-dev \ libicu-dev \ git \ curl \ default-mysql-client \ libmagickwand-dev \ --no-install-recommends \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* RUN printf "\n" | pecl install imagick \ && docker-php-ext-enable imagick RUN docker-php-ext-configure gd --with-freetype --with-jpeg \ && docker-php-ext-install -j$(nproc) gd pdo_mysql exif zip bcmath intl RUN a2enmod rewrite # PHP upload limits RUN echo "upload_max_filesize=110M" > /usr/local/etc/php/conf.d/uploads.ini \ && echo "post_max_size=120M" >> /usr/local/etc/php/conf.d/uploads.ini \ && echo "memory_limit=256M" >> /usr/local/etc/php/conf.d/uploads.ini RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer COPY . /var/www/html COPY docker/apache/000-default.conf /etc/apache2/sites-available/000-default.conf COPY docker/entrypoint.sh /usr/local/bin/entrypoint.sh RUN chmod +x /usr/local/bin/entrypoint.sh \ && mkdir -p storage bootstrap/cache \ && chown -R www-data:www-data /var/www/html \ && chmod -R 775 storage bootstrap/cache ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]