mirror of
https://github.com/sergeyyarkov/educt-server.git
synced 2026-10-11 10:19:20 +03:00
30 lines
675 B
Docker
30 lines
675 B
Docker
# syntax=docker/dockerfile:1
|
|
|
|
ARG NODE_IMAGE=node:17-alpine
|
|
|
|
FROM ${NODE_IMAGE} as base
|
|
RUN apk --no-cache add dumb-init
|
|
RUN mkdir -p /home/node/app && chown node:node /home/node/app
|
|
WORKDIR /home/node/app
|
|
USER node
|
|
RUN mkdir tmp
|
|
|
|
FROM base as dependencies
|
|
COPY --chown=node:none ./package*.json ./
|
|
RUN npm ci
|
|
COPY --chown=node:node . .
|
|
|
|
FROM dependencies as build
|
|
RUN node ace build --production --ignore-ts-errors
|
|
|
|
FROM base as production
|
|
|
|
ENV NODE_ENV=production
|
|
ENV PORT=3333
|
|
ENV HOST=0.0.0.0
|
|
|
|
COPY --chown=node:node ./package*.json ./
|
|
RUN npm ci --production
|
|
COPY --chown=node:node --from=build /home/node/app/build .
|
|
EXPOSE 3333
|
|
CMD [ "dumb-init", "node", "server.js" ] |