pkiapi/Dockerfile

44 lines
846 B
Docker

# 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"]