first add

This commit is contained in:
mm644706215
2025-09-30 20:45:51 +08:00
commit 2c10b421b4
15 changed files with 625 additions and 0 deletions

View File

@@ -0,0 +1,36 @@
# ========= Stage 1: (可选)你的前端静态资源构建 =========
FROM node:lts-alpine AS ui-builder
WORKDIR /src
COPY headscale-ui/package*.json ./
RUN npm ci
COPY headscale-ui/ .
RUN npm run build
# ========= Stage 2: 用 Go 1.25 (Alpine) 构建 Caddy + 插件 =========
FROM golang:1.25.0-alpine3.22 AS caddy-builder
RUN echo "https://mirrors.aliyun.com/alpine/v3.22/main" > /etc/apk/repositories && \
echo "https://mirrors.aliyun.com/alpine/v3.22/community" >> /etc/apk/repositories && \
apk update && \
apk add --no-cache git build-base ca-certificates
ENV GOPROXY=https://goproxy.cn,direct
ENV GOTOOLCHAIN=local
RUN go install github.com/caddyserver/xcaddy/cmd/xcaddy@latest
# 用 xcaddy 构建 (保持与用户提供版本一致/可调整)
RUN /go/bin/xcaddy build v2.10.1 \
--output /usr/local/bin/caddy \
--with github.com/caddy-dns/alidns@v1.0.26 \
--with github.com/caddy-dns/cloudflare@v0.2.1 \
--with github.com/mholt/caddy-l4
# ========= Stage 3: 运行时镜像Alpine =========
FROM caddy:2.10.0-alpine
COPY --from=caddy-builder /usr/local/bin/caddy /usr/bin/caddy
COPY --from=ui-builder /src/build /usr/src/www
RUN apk update && \
apk add --no-cache bind-tools netcat-openbsd jq curl && \
mkdir -p /data/log/headscale