Add Node.js stage for CSS build, cache Clojure deps in separate layer, add .dockerignore, and default JDBC_URL to btcprod database. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
29 lines
669 B
Docker
29 lines
669 B
Docker
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:openjdk-25 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 azul/zulu-openjdk-alpine:25
|
|
|
|
COPY --from=build /build/target/btcprice-standalone.jar /btcprice/btcprice-standalone.jar
|
|
|
|
EXPOSE 4040
|
|
ENV PORT=4040
|
|
ENV JDBC_URL=jdbc:postgresql://postgres:5432/btcprod
|
|
|
|
CMD ["java", "-jar", "/btcprice/btcprice-standalone.jar"]
|