FROM node:22-alpine AS css
WORKDIR /app
COPY package.json package-lock.json ./
RUN npm ci
COPY resources/css resources/css
COPY src src
RUN npx @tailwindcss/cli -i resources/css/input.css -o resources/public/css/output.css --minify

FROM clojure:temurin-21-tools-deps-alpine AS build
WORKDIR /app
COPY deps.edn build.clj ./
RUN clojure -P && clojure -P -T:build
COPY . .
COPY --from=css /app/resources/public/css/output.css resources/public/css/output.css
RUN clojure -T:build all

FROM eclipse-temurin:21-jre-alpine
WORKDIR /app
COPY --from=build /app/target/elprice-standalone.jar app.jar
EXPOSE 3030
ENV PORT=3030
ENTRYPOINT ["java", "-jar", "app.jar"]
