]> BookStack Code Mirror - bookstack/blob - dev/docker/Dockerfile
Dockerfile: Don't cache 50MB of lists and use a single layer, make it pretty
[bookstack] / dev / docker / Dockerfile
1 FROM php:8.1-apache
2
3 ENV APACHE_DOCUMENT_ROOT /app/public
4 WORKDIR /app
5
6 RUN <<EOR
7 # 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/*
18
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
27
28 # Install composer
29 curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
30
31 # 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