|
1 | 1 | FROM php:8.3-apache
|
2 | 2 |
|
3 |
| -ENV APACHE_DOCUMENT_ROOT /app/public |
4 |
| -WORKDIR /app |
5 |
| - |
6 |
| -RUN <<EOR |
7 | 3 | # Install additional dependencies
|
8 |
| -apt-get update |
9 |
| -apt-get install -y \ |
10 |
| - git \ |
11 |
| - zip \ |
12 |
| - unzip \ |
13 |
| - libpng-dev \ |
14 |
| - libldap2-dev \ |
15 |
| - libzip-dev \ |
16 |
| - wait-for-it |
17 |
| -rm -rf /var/lib/apt/lists/* |
| 4 | +RUN apt-get update && \ |
| 5 | + apt-get install -y \ |
| 6 | + git \ |
| 7 | + zip \ |
| 8 | + unzip \ |
| 9 | + libfreetype-dev \ |
| 10 | + libjpeg62-turbo-dev \ |
| 11 | + libldap2-dev \ |
| 12 | + libpng-dev \ |
| 13 | + libzip-dev \ |
| 14 | + wait-for-it && \ |
| 15 | + rm -rf /var/lib/apt/lists/* |
18 | 16 |
|
19 |
| -# Configure apache |
20 |
| -docker-php-ext-configure ldap --with-libdir="lib/$(gcc -dumpmachine)" |
21 |
| -docker-php-ext-install pdo_mysql gd ldap zip |
22 |
| -pecl install xdebug |
23 |
| -docker-php-ext-enable xdebug |
24 |
| -a2enmod rewrite |
25 |
| -sed -ri -e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/sites-available/*.conf |
26 |
| -sed -ri -e 's!/var/www/!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf |
| 17 | +# Install PHP extensions |
| 18 | +RUN docker-php-ext-configure ldap --with-libdir="lib/$(gcc -dumpmachine)" && \ |
| 19 | + docker-php-ext-configure gd --with-freetype --with-jpeg && \ |
| 20 | + docker-php-ext-install -j$(nproc) pdo_mysql gd ldap zip && \ |
| 21 | + pecl install xdebug && \ |
| 22 | + docker-php-ext-enable xdebug |
27 | 23 |
|
28 | 24 | # Install composer
|
29 |
| -curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer |
| 25 | +RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer |
| 26 | + |
| 27 | +# Configure apache |
| 28 | +RUN a2enmod rewrite && \ |
| 29 | + sed -ri -e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/sites-available/*.conf && \ |
| 30 | + sed -ri -e 's!/var/www/!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf |
30 | 31 |
|
31 | 32 | # Use the default production configuration and update it as required
|
32 |
| -mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini" |
33 |
| -sed -i 's/memory_limit = 128M/memory_limit = 512M/g' "$PHP_INI_DIR/php.ini" |
34 |
| -EOR |
| 33 | +RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini" && \ |
| 34 | + sed -i 's/memory_limit = 128M/memory_limit = 512M/g' "$PHP_INI_DIR/php.ini" |
| 35 | + |
| 36 | +ENV APACHE_DOCUMENT_ROOT="/app/public" |
| 37 | + |
| 38 | +WORKDIR /app |
0 commit comments