Some checks failed
CI / Build & Test (push) Failing after 33s
- 37 个端点全部添加 godoc Swagger 注解(RBAC 11 / Org 5 / Audit 1 / Settings 7 / Notification 7) - 重新生成 docs/(swagger.json/yaml/docs.go) - M8 质量横切:IP 限流、安全头、Body 限制、结构化日志增强、优雅关闭 - 新增 Dockerfile 多阶段构建 + .dockerignore - 新增 testutil 测试工具包 - 修复 testutil.go 编译错误
34 lines
585 B
Docker
34 lines
585 B
Docker
# Build stage
|
|
FROM golang:1.23-alpine AS builder
|
|
|
|
WORKDIR /app
|
|
|
|
RUN apk add --no-cache git
|
|
|
|
COPY go.mod go.sum ./
|
|
RUN go mod download
|
|
|
|
COPY . .
|
|
|
|
RUN CGO_ENABLED=0 GOOS=linux go build -ldflags="-s -w" -o /app/mengstack ./cmd/server
|
|
|
|
# Runtime stage
|
|
FROM alpine:3.20
|
|
|
|
RUN apk add --no-cache ca-certificates tzdata
|
|
|
|
RUN addgroup -S mengstack && adduser -S mengstack -G mengstack
|
|
|
|
WORKDIR /app
|
|
|
|
COPY --from=builder /app/mengstack .
|
|
COPY --from=builder /app/configs ./configs
|
|
|
|
RUN mkdir -p uploads logs && chown -R mengstack:mengstack /app
|
|
|
|
USER mengstack
|
|
|
|
EXPOSE 2222
|
|
|
|
CMD ["./mengstack"]
|