From e22a34ef3e61285ced070e31402c3feb3155876f Mon Sep 17 00:00:00 2001 From: shanshanzhong Date: Sun, 1 Mar 2026 20:30:28 -0800 Subject: [PATCH] =?UTF-8?q?build:=20=E4=BC=98=E5=8C=96=20Dockerfile=20?= =?UTF-8?q?=E6=9E=84=E5=BB=BA=E7=BC=93=E5=AD=98=E5=B9=B6=E7=A7=BB=E9=99=A4?= =?UTF-8?q?=20API=20=E8=A7=A3=E5=AF=86=E4=B8=AD=E9=97=B4=E4=BB=B6=E8=B0=83?= =?UTF-8?q?=E8=AF=95=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/api/internal/middleware/decryptMiddleware.go | 7 ++----- deploy/Dockerfile.admin | 9 +++++++-- deploy/Dockerfile.api | 10 ++++++++-- deploy/Dockerfile.node | 9 +++++++-- deploy/Dockerfile.queue | 9 +++++++-- deploy/Dockerfile.rpc-core | 9 +++++++-- deploy/Dockerfile.scheduler | 9 +++++++-- 7 files changed, 45 insertions(+), 17 deletions(-) diff --git a/apps/api/internal/middleware/decryptMiddleware.go b/apps/api/internal/middleware/decryptMiddleware.go index d2fcc55..90a8fa9 100644 --- a/apps/api/internal/middleware/decryptMiddleware.go +++ b/apps/api/internal/middleware/decryptMiddleware.go @@ -27,8 +27,6 @@ func NewDecryptMiddleware(c config.Config) *DecryptMiddleware { func (m *DecryptMiddleware) Handle(next http.HandlerFunc) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { - fmt.Printf("[DEBUG] DecryptMiddleware entered, Security.Enable=%v, Login-Type=%q\n", - m.conf.Security.Enable, r.Header.Get("Login-Type")) if !m.conf.Security.Enable { next(w, r) return @@ -89,10 +87,9 @@ func (m *DecryptMiddleware) Handle(next http.HandlerFunc) http.HandlerFunc { httpx.Error(w, xerr.NewErrCode(xerr.DecryptFailed)) return } - fmt.Printf("[DEBUG] decrypted body: %s\n", string(plain)) r.Body = io.NopCloser(bytes.NewBuffer(plain)) - // 防止 httpx.Parse 内部的 r.ParseForm() 消费已替换的 body: - // ParseForm 首行检查 r.PostForm == nil,置空后它不会再读 body。 + // 防止 httpx.Parse 内部 r.ParseForm() 消费已替换的 body。 + // Go 标准库 ParseForm 首行检查 r.PostForm==nil 才读 body,提前置空即可跳过。 r.PostForm = url.Values{} r.ContentLength = int64(len(plain)) } diff --git a/deploy/Dockerfile.admin b/deploy/Dockerfile.admin index cdb8359..2e3a1df 100644 --- a/deploy/Dockerfile.admin +++ b/deploy/Dockerfile.admin @@ -1,12 +1,17 @@ +# syntax=docker/dockerfile:1 FROM golang:1.24-alpine AS builder WORKDIR /app COPY go.mod go.sum ./ -RUN go mod download +RUN --mount=type=cache,target=/root/go/pkg/mod,id=gomodcache \ + --mount=type=cache,target=/root/.cache/go-build,id=gobuildcache \ + go mod download COPY apps/admin ./apps/admin COPY pkg ./pkg -RUN CGO_ENABLED=0 go build -trimpath -o /ppanel-admin ./apps/admin/ppaneladmin.go +RUN --mount=type=cache,target=/root/go/pkg/mod,id=gomodcache \ + --mount=type=cache,target=/root/.cache/go-build,id=gobuildcache \ + CGO_ENABLED=0 go build -trimpath -o /ppanel-admin ./apps/admin/ppaneladmin.go FROM alpine:3.19 RUN apk add --no-cache ca-certificates tzdata diff --git a/deploy/Dockerfile.api b/deploy/Dockerfile.api index f4e1c96..18421e3 100644 --- a/deploy/Dockerfile.api +++ b/deploy/Dockerfile.api @@ -1,12 +1,18 @@ +# syntax=docker/dockerfile:1 FROM golang:1.24-alpine AS builder WORKDIR /app COPY go.mod go.sum ./ +RUN --mount=type=cache,target=/root/go/pkg/mod,id=gomodcache \ + --mount=type=cache,target=/root/.cache/go-build,id=gobuildcache \ + go mod download + COPY apps/api ./apps/api COPY apps/rpc ./apps/rpc COPY pkg ./pkg -RUN go mod download -RUN CGO_ENABLED=0 go build -trimpath -o /ppanel-api ./apps/api/ppanel.go +RUN --mount=type=cache,target=/root/go/pkg/mod,id=gomodcache \ + --mount=type=cache,target=/root/.cache/go-build,id=gobuildcache \ + CGO_ENABLED=0 go build -trimpath -o /ppanel-api ./apps/api/ppanel.go FROM alpine:3.19 RUN apk add --no-cache ca-certificates tzdata diff --git a/deploy/Dockerfile.node b/deploy/Dockerfile.node index b2cc701..1abe2a1 100644 --- a/deploy/Dockerfile.node +++ b/deploy/Dockerfile.node @@ -1,12 +1,17 @@ +# syntax=docker/dockerfile:1 FROM golang:1.24-alpine AS builder WORKDIR /app COPY go.mod go.sum ./ -RUN go mod download +RUN --mount=type=cache,target=/root/go/pkg/mod,id=gomodcache \ + --mount=type=cache,target=/root/.cache/go-build,id=gobuildcache \ + go mod download COPY apps/node ./apps/node COPY pkg ./pkg -RUN CGO_ENABLED=0 go build -trimpath -o /ppanel-node ./apps/node/ppanelnode.go +RUN --mount=type=cache,target=/root/go/pkg/mod,id=gomodcache \ + --mount=type=cache,target=/root/.cache/go-build,id=gobuildcache \ + CGO_ENABLED=0 go build -trimpath -o /ppanel-node ./apps/node/ppanelnode.go FROM alpine:3.19 RUN apk add --no-cache ca-certificates tzdata diff --git a/deploy/Dockerfile.queue b/deploy/Dockerfile.queue index 64c5bb9..a93b1a1 100644 --- a/deploy/Dockerfile.queue +++ b/deploy/Dockerfile.queue @@ -1,12 +1,17 @@ +# syntax=docker/dockerfile:1 FROM golang:1.24-alpine AS builder WORKDIR /app COPY go.mod go.sum ./ -RUN go mod download +RUN --mount=type=cache,target=/root/go/pkg/mod,id=gomodcache \ + --mount=type=cache,target=/root/.cache/go-build,id=gobuildcache \ + go mod download COPY apps/queue ./apps/queue COPY pkg ./pkg -RUN CGO_ENABLED=0 go build -trimpath -o /ppanel-queue ./apps/queue/queue.go +RUN --mount=type=cache,target=/root/go/pkg/mod,id=gomodcache \ + --mount=type=cache,target=/root/.cache/go-build,id=gobuildcache \ + CGO_ENABLED=0 go build -trimpath -o /ppanel-queue ./apps/queue/queue.go FROM alpine:3.19 RUN apk add --no-cache ca-certificates tzdata diff --git a/deploy/Dockerfile.rpc-core b/deploy/Dockerfile.rpc-core index 260c368..80e537d 100644 --- a/deploy/Dockerfile.rpc-core +++ b/deploy/Dockerfile.rpc-core @@ -1,12 +1,17 @@ +# syntax=docker/dockerfile:1 FROM golang:1.24-alpine AS builder WORKDIR /app COPY go.mod go.sum ./ -RUN go mod download +RUN --mount=type=cache,target=/root/go/pkg/mod,id=gomodcache \ + --mount=type=cache,target=/root/.cache/go-build,id=gobuildcache \ + go mod download COPY apps/rpc ./apps/rpc COPY pkg ./pkg -RUN CGO_ENABLED=0 go build -trimpath -o /ppanel-rpc-core ./apps/rpc/core/core.go +RUN --mount=type=cache,target=/root/go/pkg/mod,id=gomodcache \ + --mount=type=cache,target=/root/.cache/go-build,id=gobuildcache \ + CGO_ENABLED=0 go build -trimpath -o /ppanel-rpc-core ./apps/rpc/core/core.go FROM alpine:3.19 RUN apk add --no-cache ca-certificates tzdata diff --git a/deploy/Dockerfile.scheduler b/deploy/Dockerfile.scheduler index 12ecc66..589e9fe 100644 --- a/deploy/Dockerfile.scheduler +++ b/deploy/Dockerfile.scheduler @@ -1,12 +1,17 @@ +# syntax=docker/dockerfile:1 FROM golang:1.24-alpine AS builder WORKDIR /app COPY go.mod go.sum ./ -RUN go mod download +RUN --mount=type=cache,target=/root/go/pkg/mod,id=gomodcache \ + --mount=type=cache,target=/root/.cache/go-build,id=gobuildcache \ + go mod download COPY apps/scheduler ./apps/scheduler COPY pkg ./pkg -RUN CGO_ENABLED=0 go build -trimpath -o /ppanel-scheduler ./apps/scheduler/scheduler.go +RUN --mount=type=cache,target=/root/go/pkg/mod,id=gomodcache \ + --mount=type=cache,target=/root/.cache/go-build,id=gobuildcache \ + CGO_ENABLED=0 go build -trimpath -o /ppanel-scheduler ./apps/scheduler/scheduler.go FROM alpine:3.19 RUN apk add --no-cache ca-certificates tzdata