FROM node:22-alpine AS frontend WORKDIR /app/frontend COPY frontend/package*.json ./ RUN npm ci COPY frontend/ ./ RUN npm run build FROM golang:1.24-alpine AS backend WORKDIR /app COPY go.mod go.sum ./ RUN go mod download COPY --from=frontend /app/frontend/dist ./frontend/dist COPY *.go ./ RUN CGO_ENABLED=0 go build -o turnpike . FROM scratch COPY --from=backend /app/turnpike /turnpike EXPOSE 8180 ENTRYPOINT ["/turnpike"]