You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
127 lines
3.9 KiB
127 lines
3.9 KiB
FROM dimti/workspace:8.1
|
|
|
|
ARG PHP_VERSION=8.1
|
|
|
|
###########################################################################
|
|
# Laradock non-root user:
|
|
###########################################################################
|
|
|
|
ARG CUSTOM_PUID=1000
|
|
ENV PUID ${CUSTOM_PUID}
|
|
ARG CUSTOM_PGID=1000
|
|
ENV PGID ${CUSTOM_PGID}
|
|
|
|
RUN usermod -u ${CUSTOM_PUID} laradock && groupmod -g ${CUSTOM_PGID} laradock
|
|
|
|
RUN chown -R ${CUSTOM_PUID}:${CUSTOM_PGID} /home/laradock
|
|
|
|
###########################################################################
|
|
# Set Timezone
|
|
###########################################################################
|
|
|
|
ARG CUSTOM_TZ=Europe/Moscow
|
|
ENV TZ ${CUSTOM_TZ}
|
|
|
|
RUN ln -snf /usr/share/zoneinfo/$CUSTOM_TZ /etc/localtime && echo $CUSTOM_TZ > /etc/timezone
|
|
|
|
###########################################################################
|
|
# Additional PHP-extensions:
|
|
###########################################################################
|
|
|
|
ARG INSTALL_REDIS=false
|
|
|
|
#RUN pecl install igbinary
|
|
|
|
RUN if [ ${INSTALL_REDIS} = true ]; then \
|
|
pecl install -a redis \
|
|
echo "extension=redis.so" > /etc/php/${PHP_VERSION}/cli/conf.d/20-redis.ini \
|
|
;fi
|
|
|
|
###########################################################################
|
|
# Libreoffice
|
|
###########################################################################
|
|
|
|
ARG INSTALL_LIBREOFFICE=false
|
|
|
|
ARG DEBIAN_FRONTEND=noninteractive
|
|
|
|
RUN if [ ${INSTALL_LIBREOFFICE} = true ]; then \
|
|
add-apt-repository ppa:libreoffice/ppa \
|
|
&& apt update \
|
|
&& apt install libreoffice-nogui -y --no-install-recommends \
|
|
&& apt clean \
|
|
;fi
|
|
|
|
###########################################################################
|
|
# S3 config
|
|
###########################################################################
|
|
|
|
USER laradock
|
|
|
|
COPY ./minio/auth.json /home/laradock/.mc/config.json
|
|
|
|
###########################################################################
|
|
# Install custom node version
|
|
###########################################################################
|
|
|
|
USER root
|
|
|
|
ARG NODE_VERSION
|
|
ENV NODE_VERSION ${NODE_VERSION}
|
|
|
|
RUN if [ ! -z "${NODE_VERSION}" ]; then \
|
|
. ~/.bashrc && nvm install ${NODE_VERSION} \
|
|
&& . ~/.bashrc && nvm alias default ${NODE_VERSION} \
|
|
&& npm i -g yarn \
|
|
&& cp -R ~/.nvm/alias /home/laradock/.nvm \
|
|
&& cp -R ~/.nvm/versions /home/laradock/.nvm \
|
|
&& chown -R ${CUSTOM_PUID}:${CUSTOM_PGID} /home/laradock/.nvm \
|
|
;fi
|
|
|
|
###########################################################################
|
|
# Update composer version
|
|
###########################################################################
|
|
|
|
USER root
|
|
|
|
ARG COMPOSER_VERSION=2
|
|
ENV COMPOSER_VERSION ${COMPOSER_VERSION}
|
|
RUN composer self-update --${COMPOSER_VERSION}
|
|
|
|
###########################################################################
|
|
# Laradock Aliases
|
|
###########################################################################
|
|
|
|
USER laradock
|
|
|
|
COPY ./aliases.sh /home/laradock/aliases.sh
|
|
|
|
RUN echo "" >> ~/.bashrc && \
|
|
echo "# Load Custom Aliases" >> ~/.bashrc && \
|
|
echo "source ~/aliases.sh" >> ~/.bashrc && \
|
|
echo "" >> ~/.bashrc
|
|
|
|
###########################################################################
|
|
# Tune opts:
|
|
###########################################################################
|
|
|
|
USER root
|
|
|
|
ARG PHP_OPT_SHORT_OPEN_TAG=Off
|
|
RUN sed -i "s/^short_open_tag = .*/short_open_tag = $PHP_OPT_SHORT_OPEN_TAG/g" /etc/php/${PHP_VERSION}/cli/php.ini
|
|
|
|
ARG PHP_OPT_MAX_EXECUTION_TIME=600
|
|
RUN sed -i "s/^max_execution_time = .*/max_execution_time = $PHP_OPT_MAX_EXECUTION_TIME/g" /etc/php/${PHP_VERSION}/cli/php.ini
|
|
|
|
ARG PHP_OPT_MEMORY_LIMIT=256M
|
|
RUN sed -i "s/^memory_limit = .*/memory_limit = $PHP_OPT_MEMORY_LIMIT/g" /etc/php/${PHP_VERSION}/cli/php.ini
|
|
|
|
###########################################################################
|
|
# Crontab
|
|
###########################################################################
|
|
|
|
USER root
|
|
|
|
COPY ./crontab /etc/cron.d
|
|
|
|
RUN chmod -R 644 /etc/cron.d
|