2020-07-27 05:54:03 +02:00
|
|
|
FROM mhart/alpine-node:latest AS build
|
2017-09-24 21:44:49 +02:00
|
|
|
|
|
|
|
# Create app directory
|
|
|
|
WORKDIR /usr/src/app
|
|
|
|
|
2020-05-02 07:35:33 +02:00
|
|
|
# Install app dependencies and add source files
|
|
|
|
COPY package.json yarn.lock tsconfig.json ./
|
|
|
|
COPY src/ ./src
|
|
|
|
RUN yarn install && yarn build && rm -f dist/*.map
|
2017-09-24 21:44:49 +02:00
|
|
|
|
2020-05-02 07:35:33 +02:00
|
|
|
# Second stage
|
|
|
|
FROM mhart/alpine-node:latest
|
|
|
|
|
|
|
|
WORKDIR /usr/src/app
|
|
|
|
|
|
|
|
# Copy artifacts
|
2020-07-27 05:54:03 +02:00
|
|
|
COPY --from=build /usr/src/app/dist/ ./
|
|
|
|
COPY --from=build /usr/src/app/node_modules ./node_modules
|
2020-05-02 08:36:36 +02:00
|
|
|
COPY env.json src/responses.json ./
|
|
|
|
COPY src/responses ./responses/
|
2017-09-24 21:44:49 +02:00
|
|
|
|
2017-10-01 22:46:05 +02:00
|
|
|
RUN addgroup -S app -g 50000 && \
|
2018-01-20 06:11:52 +01:00
|
|
|
adduser -S -g app -u 50000 app && \
|
|
|
|
mkdir /data && chown app:app /data/
|
|
|
|
|
2017-10-01 22:46:05 +02:00
|
|
|
USER app
|
|
|
|
|
2020-05-02 07:35:33 +02:00
|
|
|
ENTRYPOINT [ "node", "server.js" ]
|