# --- BUILD STAGE --- FROM golang:1.25.3 AS builder WORKDIR /app COPY go.mod go.sum ./ RUN go mod download COPY . . # Fontos: CGO_ENABLED=0 a statikusan linkelt binárisért, ami kompatibilis lesz az Alpine alapú futtatási környezettel. RUN CGO_ENABLED=0 GOOS=linux go build -a -ldflags="-s -w -X 'main.BuildTime=$(date)'" -o backend . # --- DEPLOY STAGE --- FROM alpine:latest WORKDIR /app/ COPY --from=builder /app/backend . # Ha a Go alkalmazásodnak szüksége van SSL tanúsítványokra (pl. HTTPS hívásokhoz külső API-k felé), akkor az Alpine image-be telepíteni kell a ca-certificates csomagot. # A CGO_ENABLED=0 miatt elvileg a Go beépített gyökér tanúsítványtárát használja, de biztonságosabb a rendszer ca-certificates csomagját is felrakni. # Ezt csak akkor tedd meg, ha szükséges, és csak a futtatási stage-ben! # RUN apk add --no-cache ca-certificates RUN apk add --no-cache tzdata RUN cp /usr/share/zoneinfo/Europe/Budapest /etc/localtime RUN echo "Europe/Budapest" > /etc/timezone ENV TZ="Europe/Budapest" ENV LANG="hu_HU.UTF-8" ENV LANGUAGE="hu_HU.UTF-8" ENV LC_ALL="hu_HU.UTF-8" EXPOSE 7153 CMD ["./backend"]