diff options
| author | Fabian Mastenbroek <mail.fabianm@gmail.com> | 2021-05-05 14:50:38 +0200 |
|---|---|---|
| committer | Fabian Mastenbroek <mail.fabianm@gmail.com> | 2021-05-05 14:50:38 +0200 |
| commit | e8bb95cb35ed1b02a85cf7cbea5bfc20fe0324c2 (patch) | |
| tree | 1f3992d8045437774767556bf20d053b947ed164 /opendc-web/opendc-web-ui/scripts/envsubst-html.sh | |
| parent | 3c805a50ca710e123aa18ad1bfa01ea4f1ee40d2 (diff) | |
build: Support runtime variables in frontend Docker image
This change adds support for dynamically specifying various variables
for the frontend Docker image through environmental variables.
Previously, these were embedded directly into the source code, which
requires rebuilding the entire image to change these variables.
Diffstat (limited to 'opendc-web/opendc-web-ui/scripts/envsubst-html.sh')
| -rwxr-xr-x | opendc-web/opendc-web-ui/scripts/envsubst-html.sh | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/opendc-web/opendc-web-ui/scripts/envsubst-html.sh b/opendc-web/opendc-web-ui/scripts/envsubst-html.sh new file mode 100755 index 00000000..8ca12e8a --- /dev/null +++ b/opendc-web/opendc-web-ui/scripts/envsubst-html.sh @@ -0,0 +1,19 @@ +#!/bin/sh + +set -e + +# We can use simple version of envsubst execution as +# envsubst < /usr/share/nginx/html/index.html.template > /usr/share/nginx/html/index.html +# but it replaces everything that looks like environment variable substitution +# so it affects `default values` approach. +# we need to replace only provided environment variables. + +auto_envsubst() { + template_path="/usr/share/nginx/html/index.html.template" + output_path="/usr/share/nginx/html/index.html" + defined_envs=$(printf '${%s} ' $(env | cut -d= -f1)) + envsubst "$defined_envs" < "$template_path" > "$output_path" +} + +auto_envsubst +exit 0 |
