diff --git a/docker/Dockerfile b/docker/Dockerfile index 58ab3c4c..5acbe43b 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -15,18 +15,17 @@ COPY . . RUN yarn build +FROM mikefarah/yq AS yq FROM nginx:stable-alpine AS prod COPY ./docker/nginx.conf /etc/nginx/conf.d/default.conf COPY --from=build /app/dist /usr/share/nginx/html COPY ./docker/entrypoint.sh /entrypoint.sh -RUN chmod +x /entrypoint.sh +COPY --from=yq /usr/bin/yq /usr/bin/yq +RUN chmod +x /entrypoint.sh /usr/bin/yq -ARG API_URL=http://localhost:8000 -ARG AUTH_PROVIDER=dummyAuthProvider -ENV SYNCMASTER__UI__API_BROWSER_URL=${API_URL} -ENV SYNCMASTER__UI__AUTH_PROVIDER=${AUTH_PROVIDER} +ENV SYNCMASTER_CONFIG_FILE=/app/config.yaml ENTRYPOINT ["/entrypoint.sh"] CMD ["nginx", "-g", "daemon off;"] diff --git a/docker/entrypoint.sh b/docker/entrypoint.sh index 250cb2c0..c2c169e8 100644 --- a/docker/entrypoint.sh +++ b/docker/entrypoint.sh @@ -1,5 +1,25 @@ #!/bin/sh +SYNCMASTER_CONFIG_FILE=${SYNCMASTER_CONFIG_FILE:-/app/config.yaml} +SYNCMASTER__UI__API_BROWSER_URL_DEFAULT="http://localhost:8000" +SYNCMASTER__UI__AUTH_PROVIDER_DEFAULT="dummyAuthProvider" + +if [[ -z "${SYNCMASTER__UI__API_BROWSER_URL}" ]]; then + if [[ -f "$SYNCMASTER_CONFIG_FILE" ]]; then + SYNCMASTER__UI__API_BROWSER_URL=$(yq --raw-output ".ui.api_browser_url // \"$SYNCMASTER__UI__API_BROWSER_URL_DEFAULT\"" "$SYNCMASTER_CONFIG_FILE") + else + SYNCMASTER__UI__API_BROWSER_URL="$SYNCMASTER__UI__API_BROWSER_URL_DEFAULT" + fi +fi + +if [[ -z "${SYNCMASTER__UI__AUTH_PROVIDER}" ]]; then + if [[ -f "$SYNCMASTER_CONFIG_FILE" ]]; then + SYNCMASTER__UI__AUTH_PROVIDER=$(yq --raw-output ".ui.auth_provider // \"$SYNCMASTER__UI__AUTH_PROVIDER_DEFAULT\"" "$SYNCMASTER_CONFIG_FILE") + else + SYNCMASTER__UI__AUTH_PROVIDER="$SYNCMASTER__UI__AUTH_PROVIDER_DEFAULT" + fi +fi + cat < /usr/share/nginx/html/env-config.js window.env = { API_URL: "${SYNCMASTER__UI__API_BROWSER_URL}", @@ -9,4 +29,4 @@ EOF sed -i '/<\/head>/i \ ' /usr/share/nginx/html/index.html -exec "$@" \ No newline at end of file +exec "$@"