Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 4 additions & 5 deletions docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -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;"]
Expand Down
22 changes: 21 additions & 1 deletion docker/entrypoint.sh
Original file line number Diff line number Diff line change
@@ -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 <<EOF > /usr/share/nginx/html/env-config.js
window.env = {
API_URL: "${SYNCMASTER__UI__API_BROWSER_URL}",
Expand All @@ -9,4 +29,4 @@ EOF

sed -i '/<\/head>/i \ <script src="/env-config.js"></script>' /usr/share/nginx/html/index.html

exec "$@"
exec "$@"