Jeroen De Meerleer
f8f3b55382
- Created a Dockerfile to set up a PHP 8.3 environment with Apache. - Configured document root and timezone settings. - Installed Composer and necessary PHP extensions. - Added custom entrypoint and foreground scripts for Apache. - Set up environment variable handling in the entrypoint script. - Included commands for cache clearing and warming during startup.
40 lines
1.5 KiB
Docker
40 lines
1.5 KiB
Docker
FROM php:8.3-apache AS runtime
|
|
|
|
ENV APACHE_DOCUMENT_ROOT=/var/www/website/public/
|
|
ENV WEBSITE_ROOT=/var/www/website/
|
|
ENV TZ=Europe/Brussels
|
|
ENV COMPOSER_ALLOW_SUPERUSER=1
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
|
|
COPY . ${APACHE_DOCUMENT_ROOT}
|
|
|
|
RUN sed -ri -e "s!/var/www/html!${APACHE_DOCUMENT_ROOT}!g" /etc/apache2/sites-available/*.conf
|
|
RUN sed -ri -e "s!/var/www/!${APACHE_DOCUMENT_ROOT}!g" /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf
|
|
RUN a2enmod rewrite
|
|
|
|
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
|
|
ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin
|
|
RUN set -eux; \
|
|
chmod uga+x /usr/local/bin/install-php-extensions && sync
|
|
|
|
RUN set -eux;install-php-extensions intl zip
|
|
|
|
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
|
|
RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
|
|
RUN printf "[PHP]\ndate.timezone = \"$TZ\"\n" > /usr/local/etc/php/conf.d/tzone.ini
|
|
|
|
COPY docker-resources/apache2-foreground /usr/local/bin/apache2-foreground
|
|
COPY docker-resources/entrypoint.sh /usr/local/bin/entrypoint.sh
|
|
|
|
RUN set -eux; \
|
|
chmod uga+x /usr/local/bin/entrypoint.sh && \
|
|
chmod uga+x /usr/local/bin/apache2-foreground && sync
|
|
|
|
USER www-data
|
|
WORKDIR ${WEBSITE_ROOT}
|
|
RUN mv .env.sample .env
|
|
RUN composer install
|
|
RUN php bin/console asset-map:compile
|
|
|
|
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
|