# ---- 构建阶段 ----
FROM golang:1.26-alpine AS builder

WORKDIR /app

# 使用国内 Go 代理
ENV GOPROXY=https://goproxy.cn,https://goproxy.io,direct

# 先复制依赖清单，利用 Docker 缓存层
COPY go.mod go.sum ./
RUN go mod download

# 复制源码并构建
COPY . .
RUN CGO_ENABLED=0 GOOS=linux go build -o /camtalk ./cmd/server

# ---- 运行阶段 ----
FROM alpine:3.20

RUN apk add --no-cache ca-certificates tzdata

WORKDIR /app

# 复制二进制和配置
COPY --from=builder /camtalk .
COPY config.yaml .

EXPOSE 8080

ENTRYPOINT ["./camtalk"]
