From 6797dbb5c361b9d1d62a3b4f6bd92eb5cd4f03c4 Mon Sep 17 00:00:00 2001 From: Yury Kossakovsky Date: Tue, 27 May 2025 16:25:47 -0600 Subject: [PATCH] Enhance Weaviate configuration in docker-compose and secret generation script - Added Weaviate username and password hash environment variables to docker-compose.yml for improved security and configuration. - Updated 03_generate_secrets.sh to better handle existing environment variables and ensure proper initialization of the .env file. --- docker-compose.yml | 2 ++ scripts/03_generate_secrets.sh | 13 ++++++------- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index fb1725e..1466e6c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -192,6 +192,8 @@ services: - SEARXNG_HOSTNAME=${SEARXNG_HOSTNAME} - LANGFUSE_HOSTNAME=${LANGFUSE_HOSTNAME} - WEAVIATE_HOSTNAME=${WEAVIATE_HOSTNAME} + - WEAVIATE_USERNAME=${WEAVIATE_USERNAME} + - WEAVIATE_PASSWORD_HASH=${WEAVIATE_PASSWORD_HASH} - NEO4J_HOSTNAME=${NEO4J_HOSTNAME} - LETSENCRYPT_EMAIL=${LETSENCRYPT_EMAIL:-internal} - PROMETHEUS_HOSTNAME=${PROMETHEUS_HOSTNAME} diff --git a/scripts/03_generate_secrets.sh b/scripts/03_generate_secrets.sh index 79616e0..8b13594 100755 --- a/scripts/03_generate_secrets.sh +++ b/scripts/03_generate_secrets.sh @@ -50,12 +50,14 @@ declare -A VARS_TO_GENERATE=( ["NEO4J_AUTH_PASSWORD"]="password:32" # Added Neo4j password ) -# Check if .env file already exists +# Initialize existing_env_vars and attempt to read .env if it exists +log_info "Initializing environment configuration..." +declare -A existing_env_vars + if [ -f "$OUTPUT_FILE" ]; then - log_info "$OUTPUT_FILE already exists. Reading existing values and will only fill missing ones." - declare -A existing_env_vars # Declare here if only used after this block + log_info "Found existing $OUTPUT_FILE. Reading its values to use as defaults and preserve current settings." while IFS= read -r line || [[ -n "$line" ]]; do - if [[ -n "$line" && ! "$line" =~ ^\\s*# && "$line" == *"="* ]]; then + if [[ -n "$line" && ! "$line" =~ ^\s*# && "$line" == *"="* ]]; then varName=$(echo "$line" | cut -d'=' -f1 | xargs) varValue=$(echo "$line" | cut -d'=' -f2-) # Repeatedly unquote "value" or 'value' to get the bare value @@ -75,9 +77,6 @@ if [ -f "$OUTPUT_FILE" ]; then existing_env_vars["$varName"]="$varValue" fi done < "$OUTPUT_FILE" -else - log_info "No existing $OUTPUT_FILE found. Will generate a new one." - declare -A existing_env_vars # Ensure it's declared even if file doesn't exist fi # Install Caddy