# 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"]