FROM golang:1.23.2@sha256:cc637ce72c1db9586bd461cc5882df5a1c06232fd5dfe211d3b32f79c5a999fc AS builder_go WORKDIR /me-fit RUN go install github.com/a-h/templ/cmd/templ@latest && go install github.com/vektra/mockery/v2@latest COPY . ./ RUN templ generate && mockery && go test ./... && go build -o /me-fit/me-fit . FROM node:22.10.0@sha256:f8ee7f5834a708ddc9f69090a3db24788c28a87f0947703e735404b2be71a53d AS builder_node WORKDIR /me-fit COPY . ./ RUN npm install && npm run build FROM debian:12.7@sha256:e11072c1614c08bf88b543fcfe09d75a0426d90896408e926454e88078274fcb WORKDIR /me-fit RUN apt-get update && apt-get install -y ca-certificates && echo "" > .env COPY --from=builder_go /me-fit/me-fit ./me-fit COPY --from=builder_node /me-fit/static ./static COPY migration ./migration EXPOSE 8080 ENTRYPOINT ["/me-fit/me-fit"]