Files
jobtrackingapp/job-tracker-ui/configure-nginx-origin.sh
T

29 lines
851 B
Bash

#!/bin/sh
set -eu
origin="${APP_PUBLIC_BASE_URL:-}"
case "$origin" in
http://*|https://*) ;;
*) echo "APP_PUBLIC_BASE_URL must be an HTTP(S) origin." >&2; exit 1 ;;
esac
authority="${origin#*://}"
authority="${authority%/}"
case "$authority" in
""|*/*|*\?*|*\#*|*@*) echo "APP_PUBLIC_BASE_URL must not contain credentials, a path, query, or fragment." >&2; exit 1 ;;
esac
external_host="${authority%%:*}"
port="${authority#"$external_host"}"
case "$external_host" in
""|*[!A-Za-z0-9.-]*) echo "APP_PUBLIC_BASE_URL contains an unsupported host." >&2; exit 1 ;;
esac
if [ -n "$port" ]; then
port="${port#:}"
case "$port" in ""|*[!0-9]*) echo "APP_PUBLIC_BASE_URL contains an invalid port." >&2; exit 1 ;; esac
fi
sed "s/__APP_EXTERNAL_HOST__/$external_host/g" \
/etc/nginx/jobtracker.conf.template \
> /etc/nginx/conf.d/default.conf