deploy: notesfrais — 2026-04-29 09:57:19

This commit is contained in:
deploy
2026-04-29 09:57:19 +02:00
commit abbc9b16e1
56 changed files with 6872 additions and 0 deletions
+36
View File
@@ -0,0 +1,36 @@
# ── Stage 1 : Build TypeScript ───────────────────────────────
FROM node:20-alpine AS builder
WORKDIR /app
COPY package.json ./
RUN npm install --include=dev
COPY tsconfig.json ./
COPY src/ ./src/
# Compile tout (app + scripts) → dist/
RUN npm run build
# ── Stage 2 : Image de production ────────────────────────────
FROM node:20-alpine AS runtime
WORKDIR /app
ENV NODE_ENV=production
# Dépendances de production uniquement
COPY package.json ./
RUN npm install --omit=dev
# Code compilé (app + scripts)
COPY --from=builder /app/dist ./dist
# Dossiers de stockage (montés via volume en prod)
RUN mkdir -p /app/uploads/images /app/uploads/pdfs
# Script de démarrage
COPY docker-entrypoint.sh ./
RUN chmod +x /app/docker-entrypoint.sh
EXPOSE 3001
ENTRYPOINT ["/app/docker-entrypoint.sh"]