FROM golang:1.23-alpine AS builder WORKDIR /src COPY go.mod go.sum ./ RUN go mod download COPY . . RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o /out/server ./services/gateway-service/cmd/server FROM alpine:3.20 WORKDIR /app RUN apk add --no-cache ca-certificates && adduser -D -g '' appuser COPY --from=builder /out/server /app/server COPY services/gateway-service/configs/config.docker.yaml /app/config.yaml USER appuser EXPOSE 13000 ENTRYPOINT ["/app/server"] CMD ["-config", "/app/config.yaml"]