From 95d9ec255caa71f27d234a2e3258a831f6e116f6 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Mon, 7 Feb 2022 05:43:23 +0100 Subject: [PATCH] load backend/.env to get secrets and regenerate .env configs --- deployment/bare_metal/start.sh | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/deployment/bare_metal/start.sh b/deployment/bare_metal/start.sh index 3d0589569..a9a41b43c 100755 --- a/deployment/bare_metal/start.sh +++ b/deployment/bare_metal/start.sh @@ -10,9 +10,15 @@ PROJECT_ROOT=$SCRIPT_DIR/../.. NGINX_CONFIG_DIR=$SCRIPT_DIR/nginx/sites-available set +o allexport -# Load .env or .env.dist if not present # NOTE: all config values will be in process.env when starting # the services and will therefore take precedence over the .env + +# We have to load the backend .env to get DB_USERNAME, DB_PASSWORD AND JWT_SECRET +if [ -f "$PROJECT_ROOT/backend/.env" ]; then + export $(cat $PROJECT_ROOT/backend/.env | sed 's/#.*//g' | xargs) +fi + +# Load .env or .env.dist if not present if [ -f "$SCRIPT_DIR/.env" ]; then export $(cat $SCRIPT_DIR/.env | sed 's/#.*//g' | xargs) else @@ -64,6 +70,12 @@ case "$NGINX_SSL" in esac envsubst "$(env | sed -e 's/=.*//' -e 's/^/\$/g')" < $NGINX_CONFIG_DIR/$TEMPLATE_FILE > $NGINX_CONFIG_DIR/update-page.conf +# Regenerate .env files +envsubst "$(env | sed -e 's/=.*//' -e 's/^/\$/g')" < $PROJECT_ROOT/database/.env.template > $PROJECT_ROOT/database/.env +envsubst "$(env | sed -e 's/=.*//' -e 's/^/\$/g')" < $PROJECT_ROOT/backend/.env.template > $PROJECT_ROOT/backend/.env +envsubst "$(env | sed -e 's/=.*//' -e 's/^/\$/g')" < $PROJECT_ROOT/frontend/.env.template > $PROJECT_ROOT/frontend/.env +envsubst "$(env | sed -e 's/=.*//' -e 's/^/\$/g')" < $PROJECT_ROOT/admin/.env.template > $PROJECT_ROOT/admin/.env + # Install & build database echo 'Updating database
' >> $UPDATE_HTML cd $PROJECT_ROOT/database