-
Notifications
You must be signed in to change notification settings - Fork 13
Expand file tree
/
Copy pathDockerfile
More file actions
41 lines (33 loc) · 1.31 KB
/
Dockerfile
File metadata and controls
41 lines (33 loc) · 1.31 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
FROM node:18-bookworm-slim AS node-deps
WORKDIR /app
COPY package.json package.json
RUN npm install
FROM clojure:temurin-17-tools-deps-1.12.0.1501 AS build
WORKDIR /app
COPY --from=node-deps /app/node_modules /app/node_modules
# install python for libpython-clj navigator demo
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends python3 python3-dev && rm -rf /var/lib/apt/lists/*
COPY deps.edn deps.edn
ARG HYPERFIDDLE_FIDDLE_DEPS_ALIAS
ARG HYPERFIDDLE_FIDDLE_NS
ARG VERSION
ENV VERSION=$VERSION
RUN clojure -A:prod:$HYPERFIDDLE_FIDDLE_DEPS_ALIAS -M -e ::ok # preload
RUN clojure -A:build:prod:$HYPERFIDDLE_FIDDLE_DEPS_ALIAS -M -e ::ok # preload
COPY shadow-cljs.edn shadow-cljs.edn
COPY src src
COPY src-build src-build
COPY src-prod src-prod
COPY resources resources
RUN clojure -X:build:prod:$HYPERFIDDLE_FIDDLE_DEPS_ALIAS uberjar \
:build/fiddle-ns $HYPERFIDDLE_FIDDLE_NS \
:build/fiddle-deps-alias $HYPERFIDDLE_FIDDLE_DEPS_ALIAS \
:build/jar-name app.jar \
:version "\"$VERSION\""
FROM amazoncorretto:17 AS app
WORKDIR /app
# install python for libpython-clj navigator demo
RUN yum update -y && yum install -y python3 && yum clean all && rm -rf /var/cache/yum
COPY --from=build /app/target/app.jar app.jar
EXPOSE 8080
CMD java -cp app.jar clojure.main -m prod