149 lines
3.1 KiB
Plaintext
149 lines
3.1 KiB
Plaintext
ARG PHP_VERSION=latest
|
|
|
|
FROM php:${PHP_VERSION}-fpm
|
|
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
wget \
|
|
libfreetype6-dev \
|
|
libpng-dev \
|
|
libwebp-dev \
|
|
libjpeg62-turbo-dev \
|
|
libmcrypt-dev \
|
|
libzip-dev \
|
|
libxml2-dev \
|
|
zip \
|
|
git \
|
|
default-mysql-client \
|
|
zlib1g-dev \
|
|
libicu-dev \
|
|
g++ \
|
|
redis-tools \
|
|
libmagickwand-dev \
|
|
msmtp \
|
|
libssl-dev \
|
|
#pxmlhp8.0-mbstring \
|
|
#php8.0-xml \
|
|
&& apt-get autoremove \
|
|
&& apt-get clean \
|
|
&& rm -r /var/lib/apt/lists/*
|
|
|
|
# INSTALL PLUGIN: opcache, gd, zip, mysqli, pdo, pdo_mysql, exif
|
|
RUN docker-php-ext-install \
|
|
opcache \
|
|
zip \
|
|
mysqli \
|
|
pdo \
|
|
pdo_mysql \
|
|
exif \
|
|
soap
|
|
|
|
RUN docker-php-ext-configure gd --with-freetype --with-jpeg --with-webp \
|
|
&& docker-php-ext-install gd
|
|
|
|
RUN apt-get update && apt-get install -y --no-install-recommends libgmp-dev \
|
|
&& docker-php-ext-install gmp \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
#RUN pecl install igbinary && docker-php-ext-enable igbinary
|
|
|
|
#RUN apt-get update && apt-get install -y --no-install-recommends $PHPIZE_DEPS \
|
|
# && pecl install igbinary \
|
|
# && docker-php-ext-enable igbinary \
|
|
# && rm -rf /var/lib/apt/lists/*
|
|
|
|
# INSTALL PLUGIN: intl
|
|
RUN docker-php-ext-configure intl \
|
|
&& docker-php-ext-install intl
|
|
|
|
|
|
# INSTALL PLUGIN: imagick
|
|
RUN pecl install imagick \
|
|
&& docker-php-ext-enable imagick
|
|
|
|
# INSTALL PLUGIN: shmop
|
|
RUN docker-php-ext-install shmop
|
|
|
|
|
|
|
|
# Build deps for PECL extensions
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
git \
|
|
autoconf \
|
|
g++ \
|
|
make \
|
|
pkg-config \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Install igbinary first, enable it, then build phpredis WITH igbinary
|
|
RUN pecl install igbinary \
|
|
&& docker-php-ext-enable igbinary \
|
|
&& pecl download redis \
|
|
&& tar -xf redis-*.tgz \
|
|
&& rm redis-*.tgz \
|
|
&& cd redis-* \
|
|
&& phpize \
|
|
&& ./configure --enable-redis-igbinary \
|
|
&& make -j"$(nproc)" \
|
|
&& make install \
|
|
&& docker-php-ext-enable redis \
|
|
&& cd / \
|
|
&& rm -rf redis-*
|
|
|
|
|
|
# INSTALL PLUGIN: redis
|
|
#RUN pecl install -o -f redis \
|
|
# && rm -rf /tmp/pear \
|
|
|
|
# && docker-php-ext-enable redis
|
|
|
|
# INSTALL FTP
|
|
#RUN docker-php-ext-configure ftp --with-openssl-dir=/usr \
|
|
# && docker-php-ext-install ftp
|
|
|
|
# INSTALL PLUGIN: imagick
|
|
#RUN pecl install imagick \
|
|
# && docker-php-ext-enable imagick
|
|
|
|
# INSTALL PLUGIN: shmop
|
|
#RUN docker-php-ext-install shmop
|
|
|
|
# INSTALL MMTP
|
|
COPY msmtprc.template /etc/
|
|
|
|
# COPY PHP config
|
|
COPY mail.ini \
|
|
opcache.ini \
|
|
upload.ini \
|
|
memory.ini \
|
|
zz-redis-serializer.ini \
|
|
/usr/local/etc/php/conf.d/
|
|
|
|
COPY prepend-wp-redis.php \
|
|
/usr/local/etc/php/
|
|
|
|
# COPY PHP-FPM config
|
|
#COPY php-fpm/www.conf \
|
|
# php-fpm/www.conf.default \
|
|
# /usr/local/etc/php-fpm.d/www.conf.default
|
|
COPY php-fpm/www.conf \
|
|
php-fpm/www.conf.default \
|
|
/usr/local/etc/php-fpm.d/
|
|
|
|
|
|
# COPY MYSQL config
|
|
COPY mysql.ini /usr/local/etc/php/conf.d/mysql.ini
|
|
|
|
# INSTALL SSHSERVER
|
|
#RUN apt-get update \
|
|
# && apt install openssh-server
|
|
|
|
# SET WORKDIR
|
|
WORKDIR /var/www/html
|
|
|
|
COPY msmtprc.template /etc/msmtprc.template
|
|
COPY entrypoint.sh /entrypoint.sh
|
|
RUN chmod +x /entrypoint.sh
|
|
ENTRYPOINT ["/entrypoint.sh"]
|
|
|
|
CMD ["php-fpm"]
|