sd
Some checks failed
Build & Push Docker Image / build-and-push (push) Has been cancelled

This commit is contained in:
2025-11-23 16:38:18 +01:00
parent 5fdb97b03d
commit 0215bdd6a6

View File

@@ -3,35 +3,31 @@
# ------------------------------------------------------------
FROM golang:1.25-alpine AS builder
# Install build tools
RUN apk add --no-cache git
WORKDIR /app
# Download dependencies first (better caching)
# Dependencies first (cache friendly)
COPY go.mod go.sum ./
RUN go mod download
# Copy source
# Copy the entire codebase
COPY . .
# Build statically for small final image
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o server .
# Build for the architecture of the host (ARM64 runner)
RUN CGO_ENABLED=0 go build -o server .
# ------------------------------------------------------------
# 2. Final minimal image
# 2. Final minimal runtime image
# ------------------------------------------------------------
FROM alpine:3.20
# Add non-root user for security
RUN adduser -D -g '' appuser
WORKDIR /app
# Copy compiled binary
COPY --from=builder /app/server .
# Expose Gin port (change if your app uses another)
EXPOSE 8080
USER appuser