Files
traque/server/traque-back/Dockerfile
2026-03-04 18:36:06 +01:00

30 lines
667 B
Docker

# Étape commune
FROM node:22-slim AS base
WORKDIR /app
COPY package.json package-lock.json ./
RUN npm ci
# Étape développement
FROM base AS dev
ENV NODE_ENV=development
COPY . .
EXPOSE 3001
CMD ["npm", "run", "dev"]
# Étape builder
FROM base AS builder
ENV NODE_ENV=production
COPY . .
RUN npm run build && npm prune --omit=dev
# Étape production
FROM node:22-slim AS prod
WORKDIR /app
ENV NODE_ENV=production
COPY --from=builder --chown=node:node /app/node_modules ./node_modules
COPY --from=builder --chown=node:node /app/dist ./dist
COPY --from=builder --chown=node:node /app/package.json ./package.json
USER node
EXPOSE 3001
CMD ["node", "dist/index.js"]