Files
v2ray_proxy/server/Dockerfile.caddy-l4
mm644706215 2c10b421b4 first add
2025-09-30 20:45:51 +08:00

37 lines
1.3 KiB
Docker
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ========= 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