FROM golang:1.23.2@sha256:ad5c126b5cf501a8caef751a243bb717ec204ab1aa56dc41dc11be089fafcb4f 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.11.0@sha256:de4c8be8232b7081d8846360d73ce6dbff33c6636f2259cd14d82c0de1ac3ff2 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"]