79 lines
1.7 KiB
Docker
79 lines
1.7 KiB
Docker
FROM node:14-buster-slim AS assets
|
|
|
|
ARG NODE_ENV=production
|
|
ENV NODE_ENV="${NODE_ENV:-production}" \
|
|
PATH="${PATH}:/node_modules/.bin"
|
|
|
|
WORKDIR /app
|
|
|
|
RUN mkdir /node_modules \
|
|
&& chown node:node -R /node_modules /app
|
|
|
|
USER node
|
|
|
|
COPY --chown=node:node run .
|
|
|
|
WORKDIR /app/web/themes/custom/opdavies
|
|
|
|
COPY --chown=node:node web/themes/custom/opdavies/.yarnrc .
|
|
COPY --chown=node:node web/themes/custom/opdavies/package.json .
|
|
COPY --chown=node:node web/themes/custom/opdavies/yarn.lock .
|
|
|
|
RUN yarn install && yarn cache clean
|
|
|
|
COPY --chown=node:node config ../../../../config
|
|
|
|
CMD ["bash"]
|
|
|
|
###
|
|
|
|
FROM nginx:1-alpine AS nginx
|
|
COPY tools/docker/images/nginx/configs/vhost.conf /etc/nginx/conf.d/default.conf
|
|
WORKDIR /app
|
|
COPY web web/
|
|
WORKDIR /app/web/themes/custom/opdavies
|
|
COPY --from=assets /app/web/themes/custom/opdavies/build build
|
|
|
|
###
|
|
|
|
FROM php:7.4-fpm-buster AS base
|
|
|
|
RUN apt-get update -yqq && \
|
|
apt-get install -yqq --no-install-recommends \
|
|
libpng-dev \
|
|
mariadb-client \
|
|
unzip \
|
|
zlib1g-dev \
|
|
&& docker-php-ext-install \
|
|
exif \
|
|
gd \
|
|
pdo_mysql \
|
|
&& rm -fr /var/lib/apt/lists/*
|
|
|
|
###
|
|
|
|
FROM base AS dev
|
|
|
|
ARG xdebug_version=2.9.0
|
|
|
|
RUN apt-get update -yqq \
|
|
&& apt-get install -yqq --no-install-recommends \
|
|
git \
|
|
pv \
|
|
vim \
|
|
zip \
|
|
&& pecl install xdebug-${xdebug_version} \
|
|
&& docker-php-ext-enable xdebug \
|
|
&& rm -fr /var/lib/apt/lists/*
|
|
|
|
COPY --from=composer:2 /usr/bin/composer /usr/bin/composer
|
|
COPY tools/docker/images/php/configs/php.ini /usr/local/etc/php/conf.d/php.ini
|
|
|
|
WORKDIR /app
|
|
ENV PATH="$PATH:/app/bin"
|
|
|
|
COPY composer.json composer.lock /app/
|
|
COPY assets /app/assets
|
|
COPY tools/patches /app/tools/patches
|
|
RUN composer install
|