24 lines
446 B
Docker
24 lines
446 B
Docker
FROM golang:1.25.6 AS builder
|
|
|
|
|
|
WORKDIR /app
|
|
|
|
ENV CGO_ENABLED=0
|
|
ENV GIN_MODE=release
|
|
|
|
COPY go.mod go.sum ./
|
|
RUN go mod download
|
|
|
|
COPY . .
|
|
RUN go build -ldflags "-s -w" -o backend ./cmd/main.go
|
|
|
|
|
|
FROM alpine:3.23.0
|
|
RUN adduser -D appuser && apk add --no-cache curl
|
|
COPY --from=builder /app/backend .
|
|
RUN chown appuser:appuser ./backend
|
|
USER appuser
|
|
EXPOSE 8080
|
|
HEALTHCHECK CMD curl --fail http://localhost:8080/health || exit 1
|
|
CMD ["./backend"]
|