-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathDockerfile
38 lines (29 loc) · 1017 Bytes
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# ---- Base Image ----
ARG PLATFORM=""
FROM hmctspublic.azurecr.io/base/node${PLATFORM}:18-alpine AS base
ENV PUPPETEER_SKIP_DOWNLOAD=true
ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true
ENV NODE_OPTIONS=--openssl-legacy-provider
USER root
RUN apk update \
&& apk add bzip2 patch python3 py3-pip make gcc g++ \
&& rm -rf /var/lib/ /lists/*
COPY --chown=hmcts:hmcts package.json yarn.lock .snyk ./
USER hmcts
RUN yarn config set yarn-offline-mirror ~/npm-packages-offline-cache && \
yarn config set yarn-offline-mirror-pruning true && \
yarn install --prefer-offline --ignore-optional --network-timeout 1200000
# ---- Build Image ----
FROM base AS build
COPY src/main ./src/main
COPY config ./config
COPY gulpfile.js tsconfig.json ./
USER root
RUN yarn sass \
&& yarn install --ignore-optional --production --network-timeout 1200000 \
&& yarn cache clean
USER hmcts
# ---- Runtime Image ----
FROM hmctspublic.azurecr.io/base/node${PLATFORM}:18-alpine AS runtime
COPY --from=build $WORKDIR .
EXPOSE 3100