113 lines
2.9 KiB
Plaintext
113 lines
2.9 KiB
Plaintext
#
|
|
#--------------------------------------------------------------------------
|
|
# Image Setup
|
|
#--------------------------------------------------------------------------
|
|
#
|
|
|
|
FROM php:7.0-fpm
|
|
|
|
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
|
|
|
|
ADD ./laravel.ini /usr/local/etc/php/conf.d
|
|
ADD ./laravel.pool.conf /usr/local/etc/php-fpm.d/
|
|
|
|
#
|
|
#--------------------------------------------------------------------------
|
|
# Software's Installation
|
|
#--------------------------------------------------------------------------
|
|
#
|
|
# Installing tools and PHP extentions using "apt", "docker-php", "pecl",
|
|
#
|
|
|
|
# Install "curl", "libmemcached-dev", "libpq-dev", "libjpeg-dev",
|
|
# "libpng12-dev", "libfreetype6-dev", "libssl-dev", "libmcrypt-dev",
|
|
RUN apt-get update && \
|
|
apt-get install -y --no-install-recommends \
|
|
curl \
|
|
libmemcached-dev \
|
|
libz-dev \
|
|
libpq-dev \
|
|
libjpeg-dev \
|
|
libpng12-dev \
|
|
libfreetype6-dev \
|
|
libssl-dev \
|
|
libmcrypt-dev
|
|
|
|
# Install the PHP mcrypt extention
|
|
RUN docker-php-ext-install mcrypt
|
|
|
|
# Install the PHP pdo_mysql extention
|
|
RUN docker-php-ext-install pdo_mysql
|
|
|
|
# Install the PHP pdo_pgsql extention
|
|
RUN docker-php-ext-install pdo_pgsql
|
|
|
|
#####################################
|
|
# gd:
|
|
#####################################
|
|
|
|
# Install the PHP gd library
|
|
RUN docker-php-ext-install gd && \
|
|
docker-php-ext-configure gd \
|
|
--enable-gd-native-ttf \
|
|
--with-jpeg-dir=/usr/lib \
|
|
--with-freetype-dir=/usr/include/freetype2
|
|
|
|
#####################################
|
|
# MongoDB:
|
|
#####################################
|
|
|
|
ARG INSTALL_MONGO=true
|
|
ENV INSTALL_MONGO ${INSTALL_MONGO}
|
|
RUN if [ ${INSTALL_MONGO} = true ]; then \
|
|
# Install the mongodb extention
|
|
pecl install mongodb \
|
|
;fi
|
|
|
|
#####################################
|
|
# xDebug:
|
|
#####################################
|
|
|
|
ARG INSTALL_XDEBUG=true
|
|
ENV INSTALL_XDEBUG ${INSTALL_XDEBUG}
|
|
RUN if [ ${INSTALL_XDEBUG} = true ]; then \
|
|
# Install the xdebug extention
|
|
pecl install xdebug && \
|
|
docker-php-ext-enable xdebug \
|
|
;fi
|
|
|
|
#####################################
|
|
# Memcached:
|
|
#####################################
|
|
|
|
# Install the memcached extention
|
|
RUN curl -L -o /tmp/memcached.tar.gz "https://github.com/php-memcached-dev/php-memcached/archive/php7.tar.gz" \
|
|
&& mkdir -p memcached \
|
|
&& tar -C memcached -zxvf /tmp/memcached.tar.gz --strip 1 \
|
|
&& ( \
|
|
cd memcached \
|
|
&& phpize \
|
|
&& ./configure \
|
|
&& make -j$(nproc) \
|
|
&& make install \
|
|
) \
|
|
&& rm -r memcached \
|
|
&& rm /tmp/memcached.tar.gz \
|
|
&& docker-php-ext-enable memcached
|
|
|
|
#
|
|
#--------------------------------------------------------------------------
|
|
# Final Touch
|
|
#--------------------------------------------------------------------------
|
|
#
|
|
|
|
RUN rm -r /var/lib/apt/lists/*
|
|
|
|
RUN usermod -u 1000 www-data
|
|
|
|
WORKDIR /var/www/laravel
|
|
|
|
CMD ["php-fpm"]
|
|
|
|
EXPOSE 9000
|