108 lines
2.2 KiB
Docker
108 lines
2.2 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
|
||
|
|
||
|
# Install php extensions
|
||
|
RUN docker-php-ext-install -j$(nproc) \
|
||
|
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}
|
||
|
|
||
|
# install system libs
|
||
|
RUN apk add --no-cache libintl c-client libpng icu-libs libldap libpq libzip
|
||
|
|
||
|
# 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
|
||
|
|
||
|
#install composer (v2 with parallel downloads)
|
||
|
RUN wget -O /bin/composer https://getcomposer.org/composer.phar
|
||
|
RUN chmod a+x /bin/composer
|
||
|
|
||
|
#install cachetool
|
||
|
RUN wget -O /bin/cachetool http://gordalina.github.io/cachetool/downloads/cachetool.phar
|
||
|
RUN chmod a+x /bin/cachetool
|
||
|
|
||
|
#install phpunit
|
||
|
RUN wget -O phpunit https://phar.phpunit.de/phpunit-9.phar
|
||
|
RUN install phpunit /usr/local/bin
|
||
|
|
||
|
# Create directories
|
||
|
RUN mkdir -p /var/www
|
||
|
|
||
|
WORKDIR $DIR
|
||
|
|
||
|
# Copy base configuration files
|
||
|
COPY docker/etc /etc/
|
||
|
|
||
|
# Copy docker tools
|
||
|
COPY docker/tools /usr/local/bin/
|
||
|
|
||
|
EXPOSE 80
|
||
|
|
||
|
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
|