# ========================= # Builder stage # ========================= FROM golang:1.23-alpine AS builder RUN apk add --no-cache git ca-certificates tzdata WORKDIR /app COPY go.mod go.sum ./ RUN go mod download COPY . . # Build binary dari cmd/api RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 \ go build -trimpath -ldflags="-s -w" -o lti-api ./cmd/api # ========================= # Runtime stage # ========================= FROM alpine:3.20 RUN apk add --no-cache ca-certificates tzdata curl \ && adduser -D -H -u 10001 appuser WORKDIR /app COPY --from=builder /app/lti-api /app/lti-api USER appuser # Samakan dengan APP_PORT default kamu (8081) EXPOSE 8081 CMD ["/app/lti-api"]