114 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
		
		
			
		
	
	
			114 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
|  | 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:
 | ||
|  | ###########################################################################
 | ||
|  | 
 | ||
|  | #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
 | ||
|  | 
 | ||
|  | ###########################################################################
 | ||
|  | # 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
 | ||
|  | 
 | ||
|  | ARG PHP_OPT_POST_MAX_SIZE=48M | ||
|  | RUN sed -i "s/^post_max_size = .*/post_max_size = $PHP_OPT_UPLOAD_MAX_FILESIZE/g" /etc/php/${PHP_VERSION}/cli/php.ini
 | ||
|  | 
 | ||
|  | ARG PHP_OPT_UPLOAD_MAX_FILESIZE=16M | ||
|  | RUN sed -i "s/^upload_max_filesize = .*/upload_max_filesize = $PHP_OPT_UPLOAD_MAX_FILESIZE/g" /etc/php/${PHP_VERSION}/cli/php.ini
 | ||
|  | 
 | ||
|  | ###########################################################################
 | ||
|  | # Crontab
 | ||
|  | ###########################################################################
 | ||
|  | 
 | ||
|  | USER root
 | ||
|  | 
 | ||
|  | COPY ./crontab /etc/cron.d
 | ||
|  | 
 | ||
|  | RUN chmod -R 644 /etc/cron.d
 |