FROM node:22-alpine AS css

WORKDIR /build
COPY package.json package-lock.json ./
RUN npm ci
COPY resources/css/ resources/css/
COPY src/ src/
COPY tailwind.config.js ./
RUN npm run css:build

FROM clojure:temurin-21-tools-deps-alpine AS build

WORKDIR /build
COPY deps.edn build.clj ./
RUN clj -Sforce -P
COPY . .
COPY --from=css /build/resources/public/css/output.css resources/public/css/output.css
RUN clj -T:build all

FROM eclipse-temurin:21-jre-alpine

COPY --from=build /build/target/btcprice-standalone.jar /btcprice/btcprice-standalone.jar

EXPOSE 4040
ENV PORT=4040
ENV BTCDATA_URL=http://btcdata:4100

CMD ["java", "-jar", "/btcprice/btcprice-standalone.jar"]
