# Build stage FROM golang:1.21-alpine AS builder # Installer git pour go mod download RUN apk add --no-cache git WORKDIR /app # Copier les fichiers go.mod et go.sum COPY go.mod go.sum ./ # Télécharger les dépendances RUN go mod download # Copier le code source COPY . . # Builder l'application RUN CGO_ENABLED=0 GOOS=linux go build -o pkiapi ./cmd/main.go # Runtime stage FROM alpine:latest # Installer les certificats pour les connexions HTTPS/MongoDB RUN apk --no-cache add ca-certificates WORKDIR /app # Copier l'exécutable depuis le builder COPY --from=builder /app/pkiapi . # Exposer le port EXPOSE 8080 # Variables d'environnement par défaut ENV PORT=8080 ENV STORAGE_TYPE=mongodb ENV MONGO_URI=mongodb://mongo:27017 ENV MONGO_DB=pkiapi ENV JWT_SECRET_KEY=change-this-in-production # Lancer l'application CMD ["./pkiapi"]