# AutoSSL Backend
FROM golang:1.23-alpine AS backend-builder
WORKDIR /build
COPY backend/go.mod backend/go.sum ./
RUN go mod download
COPY backend/ .
RUN CGO_ENABLED=1 GOOS=linux go build -o /build/autossl .

# Frontend
FROM node:23-alpine AS frontend-builder
WORKDIR /build
COPY frontend/package.json frontend/package-lock.json ./
RUN npm ci
COPY frontend/ .
RUN npm run build

# Final image
FROM alpine:3.20
RUN apk add --no-cache ca-certificates tzdata
WORKDIR /app
COPY --from=backend-builder /build/autossl .
COPY --from=frontend-builder /build/dist ./dist
VOLUME ["/app/data"]
EXPOSE 8080 80
ENV TZ=Asia/Shanghai
CMD ["./autossl"]
