petitspas/backend/Dockerfile
Julien Martin dfad408902 [Ticket #18] API Inscription Parent - Étape 3 (Enfants)
 Modifications apportées :
- Rendu le champ 'genre' obligatoire dans CreateEnfantsDto (conforme CDC)
- Ajout upload photo avec Multer (max 5MB, formats jpg/jpeg/png/gif)
- Rattachement automatique au co-parent s'il existe
- Création dossier /app/uploads/photos dans Dockerfile avec permissions
- Gestion enfants à naître vs nés
- Gestion consentement photo avec horodatage

 Tests réalisés :
- Création enfant 'actif' avec date de naissance (Emma Martin)
- Création enfant avec rattachement aux 2 parents (Noah Martin)
- Création enfant 'a_naitre' avec date prévue (Léa Martin)
- Vérification base de données : enfants bien rattachés aux parents

Refs: #18
2025-12-01 16:28:45 +01:00

43 lines
902 B
Docker

FROM node:22-alpine AS builder
WORKDIR /app
# Copier les fichiers de configuration
COPY package*.json ./
COPY tsconfig*.json ./
COPY nest-cli.json ./
# Installer TOUTES les dépendances (dev + prod pour le build)
RUN npm install && npm cache clean --force
# Copier le code source
COPY src ./src
# Builder l'application
RUN npm run build
# Stage production
FROM node:22-alpine AS production
WORKDIR /app
# Installer seulement les dépendances de production
COPY package*.json ./
RUN npm install --only=production && npm cache clean --force
# Copier le build depuis le stage builder
COPY --from=builder /app/dist ./dist
# Créer un utilisateur non-root
RUN addgroup -g 1001 -S nodejs
RUN adduser -S nestjs -u 1001
# Créer le dossier uploads et donner les permissions
RUN mkdir -p /app/uploads/photos && chown -R nestjs:nodejs /app/uploads
USER nestjs
EXPOSE 3000
CMD ["node", "dist/main"]