From df4a7c01e9071c1a29c6a1a71a00a3fb67f944e2 Mon Sep 17 00:00:00 2001 From: Karel van Klink <karel.vanklink@geant.org> Date: Tue, 7 Nov 2023 16:36:04 +0100 Subject: [PATCH] Add Dockerfile --- .dockerignore | 1 + Dockerfile | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 .dockerignore create mode 100644 Dockerfile diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..9414382 --- /dev/null +++ b/.dockerignore @@ -0,0 +1 @@ +Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..a7acc86 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,35 @@ +### THIS FILE IS A REPLICA FROM ORCHESTRATOR-CORE-GUI WITH SOME MINOR ADJUSTMENTS + +############################### +### BASE LAYER FOR IMAGES BELOW +FROM node:14.21.1-slim AS base + +ENV CI=true + +WORKDIR /app +COPY orchestrator-core-gui/package.json . +COPY orchestrator-core-gui/yarn.lock . + +########################################### +### BUILDER LAYER TO PREPARE FOR PRODUCTION +FROM base AS builder + +RUN apt update && apt install git -y +RUN yarn --network-concurrency 1 --frozen-lockfile +COPY orchestrator-core-gui/ . +RUN rm -rf src/custom +COPY custom src/custom +COPY logo.svg src/images/logo.svg +RUN yarn build + +######################## +### IMAGE FOR PRODUCTION +FROM nginx:alpine + +RUN apk update && apk add wget curl +COPY orchestrator-core-gui/default.conf /etc/nginx/conf.d/default.conf +COPY --from=builder /app/build /usr/share/nginx/html +COPY --from=builder /app/src/env.js.template . + +EXPOSE 8080 +CMD [ "/bin/ash", "-c", "envsubst < env.js.template > /usr/share/nginx/html/env.js && exec nginx -g 'daemon off;'"] -- GitLab