| |
| |
|
|
| |
| FROM golang:1.22-alpine AS builder |
|
|
| |
| RUN apk add --no-cache git ca-certificates |
|
|
| |
| |
| ENV GOFLAGS="-mod=mod" |
|
|
| WORKDIR /app |
|
|
| |
| COPY go.mod go.sum ./ |
|
|
| |
| RUN go mod download |
|
|
| |
| COPY . . |
|
|
| |
| RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build \ |
| -trimpath \ |
| -ldflags="-s -w" \ |
| -o /quiz-zap . |
|
|
| |
| FROM alpine:3.20 |
|
|
| |
| RUN apk add --no-cache ca-certificates tzdata |
|
|
| |
| 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"] |