2024-10-04 12:23:29 -05:00
|
|
|
# Build stage
|
2025-02-10 22:41:08 -05:00
|
|
|
FROM node:22-alpine AS build
|
2024-09-26 19:00:29 -05:00
|
|
|
WORKDIR /app
|
|
|
|
COPY package*.json .
|
|
|
|
RUN npm ci
|
|
|
|
COPY . .
|
|
|
|
RUN npm run build
|
|
|
|
|
2024-10-04 12:23:29 -05:00
|
|
|
# Deps stage
|
2025-02-10 22:46:01 -05:00
|
|
|
FROM node:22-alpine AS dependencies
|
2024-09-26 19:00:29 -05:00
|
|
|
WORKDIR /app
|
|
|
|
COPY package*.json .
|
|
|
|
RUN npm ci --omit=dev
|
|
|
|
|
2024-10-04 12:23:29 -05:00
|
|
|
# Prod stage
|
2025-02-10 22:41:08 -05:00
|
|
|
FROM node:22-alpine AS production
|
2024-10-04 12:23:29 -05:00
|
|
|
WORKDIR /app
|
|
|
|
COPY package*.json .
|
|
|
|
COPY --from=build /app/dist ./dist
|
|
|
|
COPY --from=dependencies /app/node_modules ./node_modules
|
2024-09-26 19:00:29 -05:00
|
|
|
CMD ["npm", "run", "start"]
|
2025-02-10 22:46:01 -05:00
|
|
|
HEALTHCHECK --interval=1m --start-period=5s CMD wget --no-verbose --tries=1 --spider http://127.0.0.1:${PORT}/health || exit 1
|