73 lines
2.6 KiB
Docker
73 lines
2.6 KiB
Docker
FROM php:7.3-apache-stretch
|
|
|
|
# Surpresses debconf complaints of trying to install apt packages interactively
|
|
# https://github.com/moby/moby/issues/4032#issuecomment-192327844
|
|
|
|
ARG DEBIAN_FRONTEND=noninteractive
|
|
|
|
# Remove the old sources.list file.
|
|
RUN rm /etc/apt/sources.list
|
|
|
|
# Fix the source.list for stretch
|
|
RUN printf "deb http://archive.debian.org/debian/ stretch main\n" > /etc/apt/sources.list && \
|
|
printf "deb-src http://archive.debian.org/debian/ stretch main\n" >> /etc/apt/sources.list && \
|
|
printf "deb http://archive.debian.org/debian-security stretch/updates main\n" >> /etc/apt/sources.list && \
|
|
printf "deb-src http://archive.debian.org/debian-security stretch/updates main" >> /etc/apt/sources.list
|
|
|
|
# Update
|
|
RUN apt-get -y update --fix-missing && \
|
|
apt-get upgrade -y && \
|
|
apt-get --no-install-recommends install -y apt-utils && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
|
|
# Install useful tools and install important libaries
|
|
RUN apt-get -y update && \
|
|
apt-get -y --no-install-recommends install nano wget dialog libsqlite3-dev libsqlite3-0 && \
|
|
apt-get -y --no-install-recommends install mysql-client zlib1g-dev libzip-dev libicu-dev && \
|
|
apt-get -y --no-install-recommends install --fix-missing apt-utils build-essential git curl && \
|
|
apt-get -y --no-install-recommends install --fix-missing libcurl3 libcurl3-dev zip openssl && \
|
|
rm -rf /var/lib/apt/lists/* && \
|
|
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
|
|
|
|
# Install xdebug
|
|
RUN pecl install xdebug-2.7.2 && \
|
|
docker-php-ext-enable xdebug
|
|
|
|
# Install redis
|
|
RUN pecl install redis-5.0.2 && \
|
|
docker-php-ext-enable redis
|
|
|
|
# Other PHP7 Extensions
|
|
|
|
RUN docker-php-ext-install pdo_mysql && \
|
|
docker-php-ext-install pdo_sqlite && \
|
|
docker-php-ext-install bcmath && \
|
|
docker-php-ext-install mysqli && \
|
|
docker-php-ext-install curl && \
|
|
docker-php-ext-install tokenizer && \
|
|
docker-php-ext-install json && \
|
|
docker-php-ext-install zip && \
|
|
docker-php-ext-install -j$(nproc) intl && \
|
|
docker-php-ext-install mbstring && \
|
|
docker-php-ext-install gettext
|
|
|
|
# Install Freetype
|
|
RUN apt-get -y update && \
|
|
apt-get --no-install-recommends install -y libfreetype6-dev libjpeg62-turbo-dev libpng-dev && \
|
|
rm -rf /var/lib/apt/lists/* && \
|
|
docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && \
|
|
docker-php-ext-install -j$(nproc) gd
|
|
|
|
# Insure an SSL directory exists
|
|
RUN mkdir -p /etc/apache2/ssl
|
|
|
|
# Enable SSL support
|
|
RUN a2enmod ssl && a2enmod rewrite
|
|
|
|
# Enable apache modules
|
|
RUN a2enmod rewrite headers
|
|
|
|
# Cleanup
|
|
RUN rm -rf /usr/src/*
|