Some checks failed
		
		
	
	continuous-integration/drone/push Build is failing
				
			
		
			
				
	
	
		
			120 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			120 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
ARG PHP_VERSION=7.4-fpm-alpine3.13
 | 
						|
 | 
						|
FROM paramah/base:alpine as base-config
 | 
						|
 | 
						|
#
 | 
						|
# Build php extenstions
 | 
						|
#
 | 
						|
#==================================================
 | 
						|
FROM php:${PHP_VERSION} as builder
 | 
						|
 | 
						|
RUN apk add --no-cache wget \
 | 
						|
	curl \
 | 
						|
	bash \
 | 
						|
	git \
 | 
						|
	openssh \
 | 
						|
	openssl \
 | 
						|
	bzip2-dev \
 | 
						|
	curl-dev \
 | 
						|
	libpng libpng-dev \
 | 
						|
	icu-dev \
 | 
						|
    gettext gettext-dev \
 | 
						|
    imap-dev \
 | 
						|
    ldb-dev libldap openldap-dev \
 | 
						|
    oniguruma-dev \
 | 
						|
    postgresql-dev \
 | 
						|
    sqlite sqlite-dev \
 | 
						|
    libxml2-dev \
 | 
						|
    libzip libzip-dev zip  \
 | 
						|
    freetype-dev \
 | 
						|
    libpng-dev \
 | 
						|
    jpeg-dev \
 | 
						|
    libjpeg-turbo-dev
 | 
						|
 | 
						|
COPY docker/ /
 | 
						|
 | 
						|
# Configure php extensions
 | 
						|
RUN /usr/local/bin/php_configure.sh
 | 
						|
 | 
						|
 | 
						|
# Install php extensions
 | 
						|
RUN docker-php-ext-install -j$(nproc) \
 | 
						|
	calendar \
 | 
						|
	bcmath \
 | 
						|
	bz2 \
 | 
						|
	curl \
 | 
						|
   	fileinfo \
 | 
						|
	gd \
 | 
						|
	gettext \
 | 
						|
	iconv \
 | 
						|
	imap \
 | 
						|
	intl \
 | 
						|
	json \
 | 
						|
	ldap \
 | 
						|
	mbstring \
 | 
						|
	opcache \
 | 
						|
	pcntl \
 | 
						|
	pdo \
 | 
						|
	pdo_mysql \
 | 
						|
	pdo_pgsql \
 | 
						|
	pdo_sqlite \
 | 
						|
	pgsql \
 | 
						|
	phar \
 | 
						|
	session \
 | 
						|
	simplexml \
 | 
						|
	soap \
 | 
						|
	xml \
 | 
						|
	zip    
 | 
						|
 | 
						|
#
 | 
						|
# Final image
 | 
						|
#
 | 
						|
#==================================================
 | 
						|
FROM php:${PHP_VERSION}
 | 
						|
ARG ENVIRONMENT=production
 | 
						|
 | 
						|
# Add testing alpine repository
 | 
						|
RUN echo "http://dl-cdn.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories \
 | 
						|
    apk update
 | 
						|
 | 
						|
# install system libs
 | 
						|
RUN apk add --no-cache libintl c-client libpng icu-libs libldap libpq libjpeg freetype libzip shadow sudo fluent-bit td-agent-bit
 | 
						|
 | 
						|
# Install apps
 | 
						|
RUN apk add --no-cache wget curl bash git openssh supervisor nginx openssl zip 
 | 
						|
 | 
						|
 | 
						|
ENV DIR /var/www
 | 
						|
ENV DOCKERIZE_VERSION v0.6.1
 | 
						|
 | 
						|
# Install dockerize
 | 
						|
RUN wget https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-alpine-linux-amd64-$DOCKERIZE_VERSION.tar.gz \
 | 
						|
    && tar -C /usr/local/bin -xzvf dockerize-alpine-linux-amd64-$DOCKERIZE_VERSION.tar.gz \
 | 
						|
    && rm dockerize-alpine-linux-amd64-$DOCKERIZE_VERSION.tar.gz
 | 
						|
 | 
						|
COPY --from=base-config /etc/supervisor /etc/supervisor
 | 
						|
COPY --from=builder /usr/local/lib/php /usr/local/lib/php
 | 
						|
COPY --from=builder /usr/local/etc /usr/local/etc
 | 
						|
 | 
						|
# Copy base files to docker container
 | 
						|
COPY docker/ /
 | 
						|
 | 
						|
#PHP helper
 | 
						|
RUN /usr/local/bin/php_helper.sh
 | 
						|
 | 
						|
#install cachetool
 | 
						|
RUN wget -O /bin/cachetool http://gordalina.github.io/cachetool/downloads/cachetool.phar
 | 
						|
RUN chmod a+x /bin/cachetool
 | 
						|
 | 
						|
# Create directories
 | 
						|
RUN mkdir -p /var/www
 | 
						|
 | 
						|
WORKDIR $DIR
 | 
						|
 | 
						|
# Copy base configuration files
 | 
						|
COPY docker/etc /etc/
 | 
						|
 | 
						|
 | 
						|
EXPOSE 80
 | 
						|
 | 
						|
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"] |