| |
| |
| FROM golang:1.23.2-alpine AS builder |
|
|
| |
| WORKDIR /app |
|
|
| |
| RUN apk add --no-cache git ca-certificates tzdata |
|
|
| |
| COPY . . |
|
|
| |
| RUN go mod download |
|
|
| |
| RUN CGO_ENABLED=0 GOOS=linux go build -ldflags="-s -w" -trimpath -buildvcs=false -o ai-infra-guard ./cmd/cli/main.go |
|
|
| |
| FROM alpine:3.19 |
|
|
| |
| RUN apk add --no-cache ca-certificates tzdata bash curl |
|
|
| |
| WORKDIR /app |
|
|
| |
| COPY --from=builder /app/ai-infra-guard . |
| COPY --from=builder /app/trpc_go.yaml . |
|
|
| |
| COPY --from=builder /app/data ./data |
|
|
| |
| COPY start.sh /app/start.sh |
| RUN chmod +x /app/start.sh && chown root:root /app/start.sh |
|
|
| |
| RUN mkdir -p /app/uploads \ |
| /app/db && \ |
| chown -R root:root /app && \ |
| chmod -R 755 /app && \ |
| mkdir -p /app/AIG-PromptSecurity/utils |
| COPY ./AIG-PromptSecurity/utils/strategy_map.json /app/AIG-PromptSecurity/utils/strategy_map.json |
|
|
| |
| ENV APP_ENV=production |
| ENV UPLOAD_DIR=/app/uploads |
| ENV DB_PATH=/app/db/tasks.db |
| ENV TZ=Asia/Shanghai |
|
|
| |
| EXPOSE 8088 |
|
|
| |
| VOLUME ["/app/uploads", "/app/db", "/app/data", "/app/logs"] |
|
|
| |
| HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \ |
| CMD pgrep ai-infra-guard || exit 1 |
|
|
| |
| CMD ["/app/start.sh"] |