-
CANALS Gerome authoredCANALS Gerome authored
Dockerfile 1.72 KiB
# Use an official PHP runtime as a base image
FROM php:8.1-apache
RUN apt-get update && \
apt-get install --yes --force-yes \
cron g++ gettext libicu-dev openssl \
libc-client-dev libmcrypt-dev \
libtidy-dev libcurl4-openssl-dev \
libz-dev libmemcached-dev git-core libpq-dev \
libzip4 libzip-dev libwebp-dev
# libxml2-dev libfreetype6-dev \
# PHP Configuration
RUN docker-php-ext-install exif gettext iconv intl tidy zip sockets&&\
docker-php-ext-install dba mysqli pgsql pdo_mysql pdo_pgsql &&\
pecl install xdebug && docker-php-ext-enable xdebug &&\
echo "xdebug.mode=debug" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini &&\
echo "xdebug.client_host = host.docker.internal" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini &&\
pecl install mongodb && docker-php-ext-enable mongodb &&\
pecl install redis && docker-php-ext-enable redis && \
curl -sS https://getcomposer.org/installer | php \
&& mv composer.phar /usr/bin/composer
# Apache Configuration
RUN a2enmod rewrite
# SSL
RUN mv /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-available/000-default-ssl.conf &&\
a2enmod ssl && \
a2ensite 000-default-ssl &&\
openssl req -subj '/CN=example.com/O=My Company Name LTD./C=US' -new -newkey rsa:2048 -days 365 -nodes -x509 -keyout /etc/ssl/private/ssl-cert-snakeoil.key -out /etc/ssl/certs/ssl-cert-snakeoil.pem
EXPOSE 80
EXPOSE 443
## Imagemagick : install fails on 8.0
#RUN apt-get install --yes --force-yes libmagickwand-dev libmagickcore-dev
#RUN yes '' | pecl install -f imagick &&\
# docker-php-ext-enable imagick
COPY create_vhost config-vhost start /usr/local/bin/
COPY php.ini /usr/local/etc/php/
CMD ["start"]