FROM node:22-alpine AS css_builder WORKDIR /build # install dependencies COPY ./package.json . COPY ./package-lock.json . RUN npm i # build css COPY ./postcss.config.js . COPY ./tailwind.config.js . ADD ./src/ /build/src RUN npm run build FROM golang:1.26-alpine AS exe_builder RUN go install github.com/a-h/templ/cmd/templ@latest WORKDIR /build COPY --from=css_builder /build/src/go.mod /build COPY --from=css_builder /build/src/go.sum /build RUN ls -al RUN go mod download COPY --from=css_builder /build/src/ /build RUN templ generate RUN go build -o mmaschedule FROM scratch AS final COPY --from=exe_builder /build/mmaschedule /mmaschedule ENTRYPOINT ["/mmaschedule"]