39 lines
598 B
Docker
39 lines
598 B
Docker
FROM node:18-bullseye-slim AS base
|
|
|
|
ARG NODE_ENV="production"
|
|
ARG SCULPIN_ENV="prod"
|
|
ENV NODE_ENV="${NODE_ENV}" \
|
|
PATH="${PATH}:/node_modules/.bin" \
|
|
USER="node"
|
|
|
|
WORKDIR /app
|
|
|
|
RUN mkdir -p /node_modules \
|
|
&& chown node:node -R /app /node_modules
|
|
|
|
###
|
|
|
|
FROM base AS build
|
|
|
|
USER node
|
|
|
|
COPY --chown=node:node *yarn* package.json ./
|
|
|
|
RUN yarn install && yarn cache clean
|
|
|
|
COPY --chown=node:node . .
|
|
|
|
RUN if [ "${NODE_ENV}" != "development" ]; then \
|
|
yarn build; \
|
|
else mkdir -p /app/build; fi
|
|
|
|
CMD ["bash"]
|
|
|
|
###
|
|
|
|
FROM alpine AS production
|
|
|
|
COPY --from=build /app/dist /app
|
|
|
|
CMD ["bash"]
|