From 446bb987f463b565e2a22e0ba57c469c67362e49 Mon Sep 17 00:00:00 2001 From: wonder Date: Sat, 20 Jun 2026 00:06:10 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=20Docker=20=E9=83=A8?= =?UTF-8?q?=E7=BD=B2=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 20 ++++++++++++++++++++ docker-compose.yml | 13 +++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 Dockerfile create mode 100644 docker-compose.yml diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..e389ba7 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,20 @@ +# Build stage +FROM golang:1.24-alpine AS builder +RUN apk add --no-cache gcc musl-dev +WORKDIR /app +COPY go.mod go.sum ./ +RUN go mod download +COPY . . +RUN CGO_ENABLED=1 go build -o pr-helper . + +# Runtime stage +FROM alpine:3.20 +RUN apk add --no-cache ca-certificates chromium +ENV CHROME_BIN=/usr/bin/chromium-browser +WORKDIR /app +COPY --from=builder /app/pr-helper . +COPY --from=builder /app/templates ./templates +COPY --from=builder /app/static ./static +VOLUME ["/app/data"] +EXPOSE 8080 +CMD ["./pr-helper"] diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..f1b773f --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,13 @@ +services: + pr-helper: + build: . + ports: + - "8080:8080" + volumes: + - pr-helper-data:/app/data + environment: + - GIN_MODE=release + restart: unless-stopped + +volumes: + pr-helper-data: