]> BookStack Code Mirror - bookstack/commitdiff
Dockerfile: Don't cache 50MB of lists and use a single layer, make it pretty 4895/head
authorMartin Rys <redacted>
Tue, 12 Mar 2024 13:04:33 +0000 (14:04 +0100)
committerMartin Rys <redacted>
Tue, 12 Mar 2024 13:04:33 +0000 (14:04 +0100)
dev/docker/Dockerfile

index 349e315d2e3e98eed79ef08e9c3fc0e83d10e980..fe497e9e63e7050b5fb920cfa0d6249da87e9727 100644 (file)
@@ -3,23 +3,32 @@ FROM php:8.1-apache
 ENV APACHE_DOCUMENT_ROOT /app/public
 WORKDIR /app
 
-# Install additional dependacnies and configure apache
-RUN apt-get update -y \
-    && apt-get install -y git zip unzip libpng-dev libldap2-dev libzip-dev wait-for-it \
-    && docker-php-ext-configure ldap --with-libdir="lib/$(gcc -dumpmachine)" \
-    && docker-php-ext-install pdo_mysql gd ldap zip \
-    && pecl install xdebug \
-    && docker-php-ext-enable xdebug \
-    && a2enmod rewrite \
-    && sed -ri -e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/sites-available/*.conf \
-    && sed -ri -e 's!/var/www/!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf
+RUN <<EOR
+# Install additional dependencies
+apt-get update
+apt-get install -y \
+       git \
+       zip \
+       unzip \
+       libpng-dev \
+       libldap2-dev \
+       libzip-dev \
+       wait-for-it
+rm -rf /var/lib/apt/lists/*
+
+# Configure apache
+docker-php-ext-configure ldap --with-libdir="lib/$(gcc -dumpmachine)"
+docker-php-ext-install pdo_mysql gd ldap zip
+pecl install xdebug
+docker-php-ext-enable xdebug
+a2enmod rewrite
+sed -ri -e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/sites-available/*.conf
+sed -ri -e 's!/var/www/!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf
 
 # Install composer
-RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \
-    && php composer-setup.php \
-    && mv composer.phar /usr/bin/composer \
-    && php -r "unlink('composer-setup.php');"
+curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
 
 # Use the default production configuration and update it as required
-RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini" \
-    && sed -i 's/memory_limit = 128M/memory_limit = 512M/g' "$PHP_INI_DIR/php.ini"
+mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
+sed -i 's/memory_limit = 128M/memory_limit = 512M/g' "$PHP_INI_DIR/php.ini"
+EOR