101 lines
No EOL
3.3 KiB
Docker
101 lines
No EOL
3.3 KiB
Docker
FROM php:8.2-apache-bullseye
|
|
|
|
RUN apt-get update -qq && \
|
|
apt-get install -qy \
|
|
# Common
|
|
nano \
|
|
vim \
|
|
# GD
|
|
libfreetype6-dev \
|
|
libjpeg62-turbo-dev \
|
|
libpng-dev \
|
|
libwebp-dev \
|
|
libxpm-dev \
|
|
# INTL
|
|
zlib1g-dev libicu-dev g++ \
|
|
# XSL
|
|
libxslt-dev \
|
|
# ZIP
|
|
libzip-dev \
|
|
unzip \
|
|
zip \
|
|
# Imagick
|
|
libmagick++-dev \
|
|
libmagickwand-dev \
|
|
# Memcached
|
|
libmemcached-dev \
|
|
# ldap
|
|
ldap-utils libldap2-dev \
|
|
# locales
|
|
locales
|
|
|
|
# LOCALES
|
|
ENV DEBIAN_FRONTEND noninteractive
|
|
RUN echo "fr_FR.UTF-8 UTF-8" > /etc/locale.gen && \
|
|
locale-gen fr_FR.UTF-8 && \
|
|
dpkg-reconfigure locales && \
|
|
/usr/sbin/update-locale LANG=fr_FR.UTF-8
|
|
ENV LC_ALL fr_FR.UTF-8
|
|
ENV LANG fr_FR.UTF-8
|
|
ENV LANGUAGE fr_FR.UTF-8:fr
|
|
# END LOCALES
|
|
|
|
RUN docker-php-ext-configure gd \
|
|
--enable-gd \
|
|
--with-webp \
|
|
--with-jpeg \
|
|
--with-xpm \
|
|
--with-freetype
|
|
|
|
RUN docker-php-ext-configure intl
|
|
RUN docker-php-ext-configure zip --with-zip
|
|
RUN docker-php-ext-configure ldap
|
|
RUN docker-php-ext-install exif gd gettext intl mysqli pdo_mysql xsl opcache zip bcmath ldap
|
|
|
|
RUN pecl install imagick-3.6.0 && docker-php-ext-enable imagick
|
|
RUN pecl install memcached-3.2.0 && docker-php-ext-enable memcached
|
|
RUN pecl install redis-6.0.2 && docker-php-ext-enable redis
|
|
|
|
RUN useradd -ms /bin/bash noroot
|
|
|
|
# DEV
|
|
RUN apt-get install -qy git zsh htop
|
|
USER noroot
|
|
RUN sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
|
|
RUN git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
|
|
# caractères illisibles - RUN sed -i 's/robbyrussell/agnoster/g' ~/.zshrc
|
|
RUN sed -i 's/plugins=(git)/plugins=(git laravel zsh-autosuggestions)/g' ~/.zshrc
|
|
# local-php-security-checker
|
|
RUN curl -L https://github.com/fabpot/local-php-security-checker/releases/download/v2.0.4/local-php-security-checker_2.0.4_linux_amd64 -o /home/noroot/local-php-security-checker && chmod +x /home/noroot/local-php-security-checker && echo 'alias local-php-security-checker="/home/noroot/local-php-security-checker"' >> ~/.zshrc
|
|
ENV SHELL=/bin/zsh
|
|
|
|
USER root
|
|
RUN chsh -s /bin/zsh
|
|
RUN pecl install xdebug
|
|
RUN pecl install pcov && docker-php-ext-enable pcov
|
|
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer --version=2.5.5
|
|
## NODE
|
|
RUN apt-get update -qq && \
|
|
apt-get install -qy \
|
|
ca-certificates curl gnupg \
|
|
&& mkdir -p /etc/apt/keyrings \
|
|
&& curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \
|
|
&& echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_18.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list
|
|
## END NODE
|
|
RUN apt-get update -qq && apt-get install -y nodejs
|
|
RUN apt-get install -y mariadb-client
|
|
## DEV
|
|
|
|
RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
|
|
|
COPY conf/common-apache.conf /etc/apache2/conf-available/z-app.conf
|
|
COPY conf/common-ports.conf /etc/apache2/ports.conf
|
|
COPY conf/common-security.conf /etc/apache2/conf-enabled/security.conf
|
|
COPY conf/php.ini /usr/local/etc/php/conf.d/app.ini
|
|
COPY conf/vhost.conf /etc/apache2/sites-available/000-default.conf
|
|
|
|
RUN a2enmod rewrite remoteip headers http2 && \
|
|
a2enconf z-app
|
|
|
|
USER noroot
|
|
WORKDIR /app/srcs |