-
Notifications
You must be signed in to change notification settings - Fork 68
/
Dockerfile
40 lines (24 loc) · 633 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
39
40
ARG NODE_RELEASE
ARG ALPINE_RELEASE=3.19
FROM node:${NODE_RELEASE}-alpine${ALPINE_RELEASE} AS build
ENV CYPRESS_INSTALL_BINARY=0
RUN echo "Node $(node -v) / NPM v$(npm -v)"
USER node
WORKDIR /home/node
COPY ./package*.json ./
RUN npm ci
RUN mkdir -p ./dist
COPY ./.babelrc .
COPY ./client ./client
COPY ./server ./server
RUN npm run build
FROM node:${NODE_RELEASE}-alpine${ALPINE_RELEASE}
LABEL maintainer="Jonathan Sharpe"
USER node
WORKDIR /home/node
COPY --from=build /home/node/package*.json ./
RUN npm ci --omit dev
COPY --from=build /home/node/dist ./dist
ENV PORT=80
EXPOSE 80
CMD [ "node", "dist/server.js" ]