bullpen/backend/Dockerfile

43 lines
1.0 KiB
Docker

ARG NODE_VERSION=18.0.0
FROM node:${NODE_VERSION}-alpine AS base
WORKDIR /user/src/app
EXPOSE 8080
FROM base as production
ENV NODE_ENV=production
COPY .env.production .env
RUN --mount=type=bind,source=package.json,target=package.json \
--mount=type=bind,source=package-lock.json,target=package-lock.json \
--mount=type=cache,target=/root/.npm \
npm ci --omit=dev
USER node
COPY . .
EXPOSE 8080
CMD ["node", "server.js"]
FROM base as development
ENV NODE_ENV=development
COPY .env.development .env
RUN --mount=type=bind,source=package.json,target=package.json \
--mount=type=bind,source=package-lock.json,target=package-lock.json \
--mount=type=cache,target=/root/.npm \
npm ci --include=dev
USER node
COPY . .
CMD ["npm", "run", "start:dev"]
#FROM node:20-alpine as build
#WORKDIR /app
#COPY package*.json ./
#RUN npm install --omit dev
#COPY . .
#
#FROM node:20-alpine
#WORKDIR /app
#COPY --from=build /app /app
#ENV NODE_ENV=production
#COPY .env.production .env
#EXPOSE 8080
#CMD ["node", "server.js"]