114 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			114 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
FROM dimti/workspace:7.3
 | 
						|
 | 
						|
ARG PHP_VERSION=7.3
 | 
						|
 | 
						|
###########################################################################
 | 
						|
# 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:
 | 
						|
###########################################################################
 | 
						|
 | 
						|
#RUN pecl install igbinary && pecl install -a redis
 | 
						|
RUN pecl install -a redis
 | 
						|
 | 
						|
RUN echo "extension=redis.so" > /etc/php/${PHP_VERSION}/cli/conf.d/20-redis.ini
 | 
						|
 | 
						|
###########################################################################
 | 
						|
# Update composer version
 | 
						|
###########################################################################
 | 
						|
 | 
						|
USER root
 | 
						|
 | 
						|
ARG COMPOSER_VERSION=2
 | 
						|
ENV COMPOSER_VERSION ${COMPOSER_VERSION}
 | 
						|
RUN composer self-update --${COMPOSER_VERSION}
 | 
						|
 | 
						|
###########################################################################
 | 
						|
# Install custom node version
 | 
						|
###########################################################################
 | 
						|
 | 
						|
USER root
 | 
						|
 | 
						|
ARG CUSTOM_NODE_VERSION
 | 
						|
ENV CUSTOM_NODE_VERSION ${CUSTOM_NODE_VERSION}
 | 
						|
 | 
						|
RUN if [ ! -z "${CUSTOM_NODE_VERSION}" ]; then \
 | 
						|
    . ~/.bashrc && nvm install ${CUSTOM_NODE_VERSION} \
 | 
						|
    && . ~/.bashrc && nvm alias default ${CUSTOM_NODE_VERSION} \
 | 
						|
    && cp -R ~/.nvm/alias /home/laradock/.nvm \
 | 
						|
    && cp -R ~/.nvm/versions /home/laradock/.nvm \
 | 
						|
    && chown -R ${CUSTOM_PUID}:${CUSTOM_PGID} /home/laradock/.nvm \
 | 
						|
;fi
 | 
						|
 | 
						|
###########################################################################
 | 
						|
# Remove DST_Root_CA3
 | 
						|
###########################################################################
 | 
						|
 | 
						|
RUN sed -i 's/^mozilla\/DST_Root_CA_X3\.crt/!mozilla\/DST_Root_CA_X3.crt/g'  /etc/ca-certificates.conf && update-ca-certificates
 | 
						|
 | 
						|
###########################################################################
 | 
						|
# 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
 | 
						|
 | 
						|
###########################################################################
 | 
						|
# S3 config
 | 
						|
###########################################################################
 | 
						|
 | 
						|
USER laradock
 | 
						|
 | 
						|
COPY ./minio/auth.json /home/laradock/.mc/config.json
 | 
						|
 | 
						|
###########################################################################
 | 
						|
# 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
 |