# Build stage FROM golang:1.25-alpine AS builder WORKDIR /app COPY go.mod go.sum ./ RUN go mod download COPY . . RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o main ./cmd/. # Final stage FROM alpine:latest RUN apk --no-cache add ca-certificates WORKDIR /root/ COPY --from=builder /app/main . # Создать директорию для приложения WORKDIR /app COPY --from=builder /app/main . # Создать non-root пользователя для безопасности RUN addgroup -g 1001 -S appuser && \ adduser -u 1001 -S appuser -G appuser && \ chown -R appuser:appuser /app USER appuser # Установить переменные окружения ENV PORT=8080 ENV HOST=0.0.0.0 EXPOSE 8080 CMD ["./main"]