QuizZip / Dockerfile
NathMen12's picture
Update Dockerfile
fe5a0a9 verified
Raw
History Blame Contribute Delete
1.1 kB
# Dockerfile - QuizZap HF Spaces (FIX GOFLAGS)
# ----------------------------------------------------------
# ---- STAGE 1: BUILDER ----
FROM golang:1.22-alpine AS builder
# Install build deps
RUN apk add --no-cache git ca-certificates
# 👇👇👇 LA LIGNE MAGIQUE 👇👇👇
# Doit être AVANT 'go mod download' et 'go build'
ENV GOFLAGS="-mod=mod"
WORKDIR /app
# Copy manifests (go.sum peut être cassé, on s'en fiche grâce à GOFLAGS)
COPY go.mod go.sum ./
# Download deps (ignore go.sum)
RUN go mod download
# Copy source
COPY . .
# Build static binary (ignore go.sum)
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build \
-trimpath \
-ldflags="-s -w" \
-o /quiz-zap .
# ---- STAGE 2: FINAL (Alpine) ----
FROM alpine:3.20
# Runtime deps
RUN apk add --no-cache ca-certificates tzdata
# Non-root user + data dirs
RUN adduser -D -u 1000 appuser && \
mkdir -p /data/uploads && \
chown -R appuser:appuser /data
USER appuser
EXPOSE 7860
ENV PORT=7860
ENV GIN_MODE=release
ENV DATA_DIR=/data
COPY --from=builder /quiz-zap /quiz-zap
ENTRYPOINT ["/quiz-zap"]