#!/bin/sh set -e load_secret() { env_var="$1" secret_file="$2" if [ -f "$secret_file" ]; then value=$(cat "$secret_file") if [ -z "$value" ]; then echo >&2 "error: $secret_file is empty" exit 1 fi export "$env_var"="$value" else echo >&2 "[info] didn't set $env_var because $secret_file does not exist. If you don't use the secret or it is no secret at all you can safely ignore this message." fi } # load every env-var that ends on _FILE for var in $(env | grep "_FILE="); do key=$(echo "$var" | sed 's/_FILE=.*//') value=$(echo "$var" | sed 's/.*_FILE=//') load_secret "$key" "$value" done exec uvicorn connect:app --host=0.0.0.0 --port=80