-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
36 lines (32 loc) · 1.04 KB
/
Dockerfile
File metadata and controls
36 lines (32 loc) · 1.04 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
# Front end: Elm
FROM node:14.12.0-alpine3.12 as frontend-dev
RUN apk upgrade \
&& apk --no-cache add bash
RUN yarn global add create-elm-app@5.2.0
RUN yarn global add elm-test@0.19.1-revision4
RUN yarn global add elm@0.19.1-3
FROM frontend-dev as frontend
WORKDIR /app
COPY frontend/elm.json .
COPY frontend/public public/
COPY frontend/src src/
RUN ELM_APP_URL=/reaper/ elm-app build
# Back end: Micronaut/Kotlin/Gradle
FROM gradle:6.6.1-jre14 as backend-dev
FROM backend-dev as backend
WORKDIR /nodereaper
COPY build.gradle .
COPY settings.gradle .
COPY gradle.properties .
# change gradle home folder so cache will be preserved
RUN gradle -g . shadowJar clean
COPY src src
RUN gradle -g . shadowJar
# e.g. /nodereaper/build/libs/node-reaper-1.0-SNAPSHOT-all.jar
# Final image: OpenJDK
FROM adoptopenjdk:14-jre-openj9
WORKDIR /nodereaper
COPY --from=frontend /app/build ./ui
COPY --from=backend /nodereaper/build/libs/node-reaper-*-all.jar node-reaper.jar
ENV CORS_ENABLED false
CMD ["java", "-jar", "node-reaper.jar"]