Files

35 lines
764 B
Docker

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 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
COPY --from=exe_builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt
ENTRYPOINT ["/mmaschedule"]