summaryrefslogtreecommitdiff
path: root/opendc-web/opendc-web-ui/Dockerfile
diff options
context:
space:
mode:
authorFabian Mastenbroek <mail.fabianm@gmail.com>2021-05-18 11:18:11 +0200
committerFabian Mastenbroek <mail.fabianm@gmail.com>2021-05-18 15:46:43 +0200
commitce95cfdf803043e66e2279d0f76c6bfc64e7864e (patch)
treed84bf7676e839f242559f61f97d9a590403aa069 /opendc-web/opendc-web-ui/Dockerfile
parent5c582427366a30a21df64db393ecb9e4d1379439 (diff)
ui: Fix frontend deployment scripts
This change fixes the deployment scripts necessary for the frontend and ensures that runtime variables work again.
Diffstat (limited to 'opendc-web/opendc-web-ui/Dockerfile')
-rw-r--r--opendc-web/opendc-web-ui/Dockerfile26
1 files changed, 16 insertions, 10 deletions
diff --git a/opendc-web/opendc-web-ui/Dockerfile b/opendc-web/opendc-web-ui/Dockerfile
index 86a18a03..15a92068 100644
--- a/opendc-web/opendc-web-ui/Dockerfile
+++ b/opendc-web/opendc-web-ui/Dockerfile
@@ -1,22 +1,28 @@
-FROM node:15 AS staging
+FROM node:16 AS staging
MAINTAINER OpenDC Maintainers <opendc@atlarge-research.com>
# Copy package details
COPY ./package.json ./yarn.lock /opendc/
-RUN cd /opendc && yarn
+RUN cd /opendc && yarn install --frozen-lockfile
# Build frontend
-FROM node:15 AS build
+FROM node:16 AS build
COPY ./ /opendc
COPY --from=staging /opendc/node_modules /opendc/node_modules
RUN cd /opendc/ \
- && export REACT_APP_OAUTH_CLIENT_ID="\\\$REACT_APP_OAUTH_CLIENT_ID" \
+ # Environmental variables that will be substituted during image runtime
+ && export NEXT_PUBLIC_API_BASE_URL="%%NEXT_PUBLIC_API_BASE_URL%%" \
+ NEXT_PUBLIC_SENTRY_DSN="%%NEXT_PUBLIC_SENTRY_DSN%%" \
+ NEXT_PUBLIC_AUTH0_DOMAIN="%%NEXT_PUBLIC_AUTH0_DOMAIN%%" \
+ NEXT_PUBLIC_AUTH0_CLIENT_ID="%%NEXT_PUBLIC_AUTH0_CLIENT_ID%%" \
+ NEXT_PUBLIC_AUTH0_AUDIENCE="%%NEXT_PUBLIC_AUTH0_AUDIENCE%%" \
&& yarn build \
- && mv build/index.html build/index.html.template
+ && yarn cache clean --all \
+ && mv .next .next.template
-# Setup nginx to serve the frontend
-FROM nginx:1.20
-COPY --from=build /opendc/scripts/envsubst-html.sh /docker-entrypoint.d/00-envsubst-html.sh
-COPY --from=build /opendc/build /usr/share/nginx/html
-COPY nginx.conf /etc/nginx/conf.d/default.conf
+
+FROM node:16-slim
+COPY --from=build /opendc /opendc
+WORKDIR /opendc
+CMD ./scripts/envsubst.sh; yarn start