55 lines
2.1 KiB
Docker
55 lines
2.1 KiB
Docker
FROM composer:1.8 as composer
|
|
|
|
|
|
FROM php:7.3-fpm-alpine3.9 as alpine
|
|
COPY --from=composer /usr/bin/composer /usr/bin/composer
|
|
WORKDIR /app
|
|
RUN apk add --no-cache bash icu icu-dev libxml2-dev libzip-dev nodejs-current nodejs-npm
|
|
RUN apk add --no-cache --virtual .node-build-deps \
|
|
g++ \
|
|
make \
|
|
python \
|
|
&& docker-php-ext-configure intl \
|
|
&& docker-php-ext-install -j$(nproc) intl opcache pdo_mysql zip \
|
|
&& apk del .node-build-deps
|
|
RUN npm install -g yarn
|
|
ENV PATH="/app:/app/vendor/bin:${PATH}"
|
|
COPY conf.d/opcache.ini /usr/local/etc/php/conf.d/opcache.ini
|
|
# sane defaults for opcache
|
|
ENV PHP_OPCACHE_VALIDATE_TIMESTAMPS="0"
|
|
ENV PHP_OPCACHE_MAX_ACCELERATED_FILES="10000"
|
|
ENV PHP_OPCACHE_MEMORY_CONSUMPTION="192"
|
|
|
|
|
|
FROM php:7.3-fpm-stretch as stretch
|
|
COPY --from=composer /usr/bin/composer /usr/bin/composer
|
|
WORKDIR /app
|
|
RUN apt update \
|
|
&& apt install --no-install-recommends -y \
|
|
apt-transport-https \
|
|
curl \
|
|
gnupg \
|
|
libzip-dev \
|
|
software-properties-common \
|
|
zlib1g-dev \
|
|
&& echo 'deb https://deb.nodesource.com/node_10.x stretch main' > /etc/apt/sources.list.d/nodesource.list \
|
|
&& echo 'deb-src https://deb.nodesource.com/node_10.x stretch main' >> /etc/apt/sources.list.d/nodesource.list \
|
|
&& echo 'deb https://dl.yarnpkg.com/debian/ stable main' > /etc/apt/sources.list.d/yarn.list \
|
|
&& curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - \
|
|
&& curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
|
|
&& apt update \
|
|
&& apt install --no-install-recommends -y \
|
|
libicu-dev \
|
|
nodejs \
|
|
npm \
|
|
yarn \
|
|
&& ln -s $(which nodejs) /usr/local/bin/node \
|
|
&& docker-php-ext-configure intl \
|
|
&& docker-php-ext-install -j$(nproc) intl opcache pdo_mysql zip \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
ENV PATH="/app:/app/node_modules/.bin:/app/vendor/bin:${PATH}"
|
|
COPY conf.d/opcache.ini /usr/local/etc/php/conf.d/opcache.ini
|
|
# sane defaults for opcache
|
|
ENV PHP_OPCACHE_VALIDATE_TIMESTAMPS="0"
|
|
ENV PHP_OPCACHE_MAX_ACCELERATED_FILES="10000"
|
|
ENV PHP_OPCACHE_MEMORY_CONSUMPTION="192"
|