Dockerfile 637 B

1234567891011121314151617181920212223242526
  1. # AutoSSL Backend
  2. FROM golang:1.23-alpine AS backend-builder
  3. WORKDIR /build
  4. COPY backend/go.mod backend/go.sum ./
  5. RUN go mod download
  6. COPY backend/ .
  7. RUN CGO_ENABLED=1 GOOS=linux go build -o /build/autossl .
  8. # Frontend
  9. FROM node:23-alpine AS frontend-builder
  10. WORKDIR /build
  11. COPY frontend/package.json frontend/package-lock.json ./
  12. RUN npm ci
  13. COPY frontend/ .
  14. RUN npm run build
  15. # Final image
  16. FROM alpine:3.20
  17. RUN apk add --no-cache ca-certificates tzdata
  18. WORKDIR /app
  19. COPY --from=backend-builder /build/autossl .
  20. COPY --from=frontend-builder /build/dist ./dist
  21. VOLUME ["/app/data"]
  22. EXPOSE 8080 80
  23. ENV TZ=Asia/Shanghai
  24. CMD ["./autossl"]