91 lines
3.2 KiB
Docker
91 lines
3.2 KiB
Docker
FROM php:7.4-fpm
|
|
|
|
RUN apt-get update && apt-get install -y \
|
|
libfreetype6-dev \
|
|
libjpeg62-turbo-dev \
|
|
libmcrypt-dev \
|
|
libpng-dev \
|
|
default-mysql-client \
|
|
zip \
|
|
net-tools iproute2 \
|
|
libzip-dev && \
|
|
cp /usr/local/etc/php/php.ini-development /usr/local/etc/php/php.ini && \
|
|
# docker-php-ext-install -j$(nproc) iconv && \
|
|
docker-php-ext-configure gd --with-freetype=/usr/include/ --with-jpeg=/usr/include/ && \
|
|
apt-get install -y imagemagick libmagickwand-dev && \
|
|
pecl install imagick && docker-php-ext-enable imagick && \
|
|
docker-php-ext-install -j$(nproc) gd && \
|
|
docker-php-ext-install pdo_mysql zip && \
|
|
docker-php-ext-install opcache && \
|
|
docker-php-ext-install bcmath && \
|
|
apt-get install -y git vim && \
|
|
pecl install redis-4.3.0 && \
|
|
pecl install xdebug-3.1.3 && \
|
|
docker-php-ext-enable redis xdebug
|
|
|
|
RUN export COMPOSER_HOME=/usr/local/composer && \
|
|
curl -sS https://getcomposer.org/installer \
|
|
| php -- --install-dir=/usr/local/bin --filename=composer && \
|
|
curl https://drupalconsole.com/installer \
|
|
-L -o /usr/local/bin/drupal && \
|
|
chmod +x /usr/local/bin/drupal && \
|
|
curl https://github.com/drush-ops/drush-launcher/releases/download/0.6.0/drush.phar \
|
|
-L -o /usr/local/bin/drush && \
|
|
chmod +x /usr/local/bin/drush
|
|
|
|
# todo this is not building any more, do i really need this ? (22-10-2021)
|
|
# RUN apt-get install -y curl && \
|
|
# curl -sL https://deb.nodesource.com/setup_11.x | bash - && \
|
|
# curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \
|
|
# echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list && \
|
|
# apt-get update && \
|
|
# apt-get install -y nodejs yarn
|
|
|
|
RUN apt-get install -y rsyslog
|
|
COPY ./rsyslog-drupal.conf /etc/rsyslog.d/drupal.conf
|
|
# ENTRYPOINT ["sh", "-c", "service rsyslog start ; tail -f /dev/null"]
|
|
|
|
COPY ./php-custom.ini /usr/local/etc/php/conf.d/php-custom.ini
|
|
# COPY ./php-fpm-custom.conf /usr/local/etc/php-fpm.d/php-fpm-custom.conf
|
|
|
|
|
|
ARG USER_UID
|
|
ARG USER_UNAME
|
|
ARG USER_GID
|
|
ARG USER_GNAME
|
|
|
|
RUN if getent group ${USER_GNAME} ; then groupdel ${USER_GNAME}; fi &&\
|
|
groupadd -g ${USER_GID} ${USER_GNAME} &&\
|
|
useradd -l -u ${USER_UID} -g ${USER_GNAME} ${USER_UNAME} &&\
|
|
echo ${USER_UNAME}:${USER_UNAME} | chpasswd &&\
|
|
install -d -m 0755 -o ${USER_UNAME} -g ${USER_GNAME} /home/${USER_UNAME} &&\
|
|
chown --changes --silent --no-dereference --recursive \
|
|
--from=33:33 ${USER_UID}:${USER_GID} \
|
|
/home/${USER_UNAME}
|
|
# /.composer \
|
|
# /var/run/php-fpm \
|
|
# /var/lib/php/sessions \
|
|
|
|
COPY ./bashrc /home/${USER_UNAME}/.bashrc
|
|
COPY ./inputrc /home/${USER_UNAME}/.inputrc
|
|
|
|
|
|
# https://dev.to/s1ntaxe770r/how-to-setup-ssh-within-a-docker-container-i5i
|
|
RUN apt-get install -y openssh-server openssh-client
|
|
# RUN service ssh enable
|
|
RUN service ssh start
|
|
# as sshd will be launchd as ${USER_UNAME}
|
|
RUN chown -R ${USER_UNAME} /etc/ssh
|
|
EXPOSE 22
|
|
|
|
|
|
# CMD ["/usr/sbin/sshd","-D"]
|
|
|
|
# https://stackoverflow.com/questions/36964652/ssh-in-docker-container-causes-http-404
|
|
# use \n to make the content into multiple lines
|
|
RUN printf "whoami\nphp-fpm -D\n/usr/sbin/sshd -D" >> /start.sh
|
|
RUN chmod +x /start.sh
|
|
CMD ["/start.sh"]
|
|
|
|
|
|
# USER ${USER_UNAME} |