From c1ceb1884a7984d478114e8ff8ea0df183987dff Mon Sep 17 00:00:00 2001 From: Yury Kossakovsky Date: Thu, 28 Aug 2025 17:19:30 -0600 Subject: [PATCH] Refactor LibreTranslate environment variable names across configuration files - Updated environment variable names in .env.example, Caddyfile, and docker-compose.yml for consistency and clarity. - Adjusted the final report script to reflect the new variable names, ensuring accurate output. - Enhanced the script for generating secrets to accommodate the updated variable names, improving maintainability. --- .env.example | 8 ++++---- Caddyfile | 4 ++-- docker-compose.yml | 6 +++--- scripts/03_generate_secrets.sh | 24 ++++++++++++------------ scripts/06_final_report.sh | 8 ++++---- 5 files changed, 25 insertions(+), 25 deletions(-) diff --git a/.env.example b/.env.example index 8a24f83..9b4983e 100644 --- a/.env.example +++ b/.env.example @@ -123,9 +123,9 @@ COMFYUI_PASSWORD= # [required] # LibreTranslate credentials (for Caddy basic auth) ############ -LIBRETRANSLATE_USERNAME= -LIBRETRANSLATE_PASSWORD= -LIBRETRANSLATE_PASSWORD_HASH= +LT_USERNAME= +LT_PASSWORD= +LT_PASSWORD_HASH= ############ # [required for prod] @@ -159,7 +159,7 @@ QDRANT_HOSTNAME=qdrant.yourdomain.com PADDLEOCR_HOSTNAME=paddleocr.yourdomain.com COMFYUI_HOSTNAME=comfyui.yourdomain.com RAGAPP_HOSTNAME=ragapp.yourdomain.com -LIBRETRANSLATE_HOSTNAME=translate.yourdomain.com +LT_HOSTNAME=translate.yourdomain.com LETSENCRYPT_EMAIL= # Everything below this point is optional. diff --git a/Caddyfile b/Caddyfile index 57457e1..f4a6f1d 100644 --- a/Caddyfile +++ b/Caddyfile @@ -100,9 +100,9 @@ } # LibreTranslate (Self-hosted Translation API) -{$LIBRETRANSLATE_HOSTNAME} { +{$LT_HOSTNAME} { basic_auth { - {$LIBRETRANSLATE_USERNAME} {$LIBRETRANSLATE_PASSWORD_HASH} + {$LT_USERNAME} {$LT_PASSWORD_HASH} } reverse_proxy libretranslate:5000 } diff --git a/docker-compose.yml b/docker-compose.yml index 39aad02..7a60f6d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -215,9 +215,9 @@ services: - LANGFUSE_HOSTNAME=${LANGFUSE_HOSTNAME} - LETSENCRYPT_EMAIL=${LETSENCRYPT_EMAIL:-internal} - LETTA_HOSTNAME=${LETTA_HOSTNAME} - - LIBRETRANSLATE_HOSTNAME=${LIBRETRANSLATE_HOSTNAME} - - LIBRETRANSLATE_USERNAME=${LIBRETRANSLATE_USERNAME} - - LIBRETRANSLATE_PASSWORD_HASH=${LIBRETRANSLATE_PASSWORD_HASH} + - LT_HOSTNAME=${LT_HOSTNAME} + - LT_USERNAME=${LT_USERNAME} + - LT_PASSWORD_HASH=${LT_PASSWORD_HASH} - N8N_HOSTNAME=${N8N_HOSTNAME} - NEO4J_HOSTNAME=${NEO4J_HOSTNAME} - PADDLEOCR_HOSTNAME=${PADDLEOCR_HOSTNAME} diff --git a/scripts/03_generate_secrets.sh b/scripts/03_generate_secrets.sh index c558a50..fa2d889 100644 --- a/scripts/03_generate_secrets.sh +++ b/scripts/03_generate_secrets.sh @@ -54,7 +54,7 @@ declare -A VARS_TO_GENERATE=( ["COMFYUI_PASSWORD"]="password:32" # Added ComfyUI basic auth password ["RAGAPP_PASSWORD"]="password:32" # Added RAGApp basic auth password ["PADDLEOCR_PASSWORD"]="password:32" # Added PaddleOCR basic auth password - ["LIBRETRANSLATE_PASSWORD"]="password:32" # Added LibreTranslate basic auth password + ["LT_PASSWORD"]="password:32" # Added LibreTranslate basic auth password ) # Initialize existing_env_vars and attempt to read .env if it exists @@ -376,7 +376,7 @@ generated_values["WEAVIATE_USERNAME"]="$USER_EMAIL" # Set Weaviate username for generated_values["COMFYUI_USERNAME"]="$USER_EMAIL" # Set ComfyUI username for Caddy generated_values["RAGAPP_USERNAME"]="$USER_EMAIL" # Set RAGApp username for Caddy generated_values["PADDLEOCR_USERNAME"]="$USER_EMAIL" # Set PaddleOCR username for Caddy -generated_values["LIBRETRANSLATE_USERNAME"]="$USER_EMAIL" # Set LibreTranslate username for Caddy +generated_values["LT_USERNAME"]="$USER_EMAIL" # Set LibreTranslate username for Caddy if [[ -n "$OPENAI_API_KEY" ]]; then generated_values["OPENAI_API_KEY"]="$OPENAI_API_KEY" @@ -403,7 +403,7 @@ found_vars["NEO4J_AUTH_USERNAME"]=0 found_vars["COMFYUI_USERNAME"]=0 found_vars["RAGAPP_USERNAME"]=0 found_vars["PADDLEOCR_USERNAME"]=0 -found_vars["LIBRETRANSLATE_USERNAME"]=0 +found_vars["LT_USERNAME"]=0 # Read template, substitute domain, generate initial values while IFS= read -r line || [[ -n "$line" ]]; do @@ -450,7 +450,7 @@ while IFS= read -r line || [[ -n "$line" ]]; do # This 'else' block is for lines from template not covered by existing values or VARS_TO_GENERATE. # Check if it is one of the user input vars - these are handled by found_vars later if not in template. is_user_input_var=0 # Reset for each line - user_input_vars=("FLOWISE_USERNAME" "DASHBOARD_USERNAME" "LETSENCRYPT_EMAIL" "RUN_N8N_IMPORT" "PROMETHEUS_USERNAME" "SEARXNG_USERNAME" "OPENAI_API_KEY" "LANGFUSE_INIT_USER_EMAIL" "N8N_WORKER_COUNT" "WEAVIATE_USERNAME" "NEO4J_AUTH_USERNAME" "COMFYUI_USERNAME" "RAGAPP_USERNAME" "PADDLEOCR_USERNAME" "LIBRETRANSLATE_USERNAME") + user_input_vars=("FLOWISE_USERNAME" "DASHBOARD_USERNAME" "LETSENCRYPT_EMAIL" "RUN_N8N_IMPORT" "PROMETHEUS_USERNAME" "SEARXNG_USERNAME" "OPENAI_API_KEY" "LANGFUSE_INIT_USER_EMAIL" "N8N_WORKER_COUNT" "WEAVIATE_USERNAME" "NEO4J_AUTH_USERNAME" "COMFYUI_USERNAME" "RAGAPP_USERNAME" "PADDLEOCR_USERNAME" "LT_USERNAME") for uivar in "${user_input_vars[@]}"; do if [[ "$varName" == "$uivar" ]]; then is_user_input_var=1 @@ -532,7 +532,7 @@ if [[ -z "${generated_values[SERVICE_ROLE_KEY]}" ]]; then fi # Add any custom variables that weren't found in the template -for var in "FLOWISE_USERNAME" "DASHBOARD_USERNAME" "LETSENCRYPT_EMAIL" "RUN_N8N_IMPORT" "OPENAI_API_KEY" "PROMETHEUS_USERNAME" "SEARXNG_USERNAME" "LANGFUSE_INIT_USER_EMAIL" "N8N_WORKER_COUNT" "WEAVIATE_USERNAME" "NEO4J_AUTH_USERNAME" "COMFYUI_USERNAME" "RAGAPP_USERNAME" "PADDLEOCR_USERNAME" "LIBRETRANSLATE_USERNAME"; do +for var in "FLOWISE_USERNAME" "DASHBOARD_USERNAME" "LETSENCRYPT_EMAIL" "RUN_N8N_IMPORT" "OPENAI_API_KEY" "PROMETHEUS_USERNAME" "SEARXNG_USERNAME" "LANGFUSE_INIT_USER_EMAIL" "N8N_WORKER_COUNT" "WEAVIATE_USERNAME" "NEO4J_AUTH_USERNAME" "COMFYUI_USERNAME" "RAGAPP_USERNAME" "PADDLEOCR_USERNAME" "LT_USERNAME"; do if [[ ${found_vars["$var"]} -eq 0 && -v generated_values["$var"] ]]; then # Before appending, check if it's already in TMP_ENV_FILE to avoid duplicates if ! grep -q -E "^${var}=" "$TMP_ENV_FILE"; then @@ -680,16 +680,16 @@ fi _update_or_add_env_var "RAGAPP_PASSWORD_HASH" "$FINAL_RAGAPP_HASH" # --- LIBRETRANSLATE --- -LIBRETRANSLATE_PLAIN_PASS="${generated_values["LIBRETRANSLATE_PASSWORD"]}" -FINAL_LIBRETRANSLATE_HASH="${generated_values[LIBRETRANSLATE_PASSWORD_HASH]}" -if [[ -z "$FINAL_LIBRETRANSLATE_HASH" && -n "$LIBRETRANSLATE_PLAIN_PASS" ]]; then - NEW_HASH=$(_generate_and_get_hash "$LIBRETRANSLATE_PLAIN_PASS") +LT_PLAIN_PASS="${generated_values["LT_PASSWORD"]}" +FINAL_LT_HASH="${generated_values[LT_PASSWORD_HASH]}" +if [[ -z "$FINAL_LT_HASH" && -n "$LT_PLAIN_PASS" ]]; then + NEW_HASH=$(_generate_and_get_hash "$LT_PLAIN_PASS") if [[ -n "$NEW_HASH" ]]; then - FINAL_LIBRETRANSLATE_HASH="$NEW_HASH" - generated_values["LIBRETRANSLATE_PASSWORD_HASH"]="$NEW_HASH" + FINAL_LT_HASH="$NEW_HASH" + generated_values["LT_PASSWORD_HASH"]="$NEW_HASH" fi fi -_update_or_add_env_var "LIBRETRANSLATE_PASSWORD_HASH" "$FINAL_LIBRETRANSLATE_HASH" +_update_or_add_env_var "LT_PASSWORD_HASH" "$FINAL_LT_HASH" if [ $? -eq 0 ]; then # This $? reflects the status of the last mv command from the last _update_or_add_env_var call. # For now, assuming if we reached here and mv was fine, primary operations were okay. diff --git a/scripts/06_final_report.sh b/scripts/06_final_report.sh index b0dbdb7..d13b44c 100644 --- a/scripts/06_final_report.sh +++ b/scripts/06_final_report.sh @@ -185,10 +185,10 @@ if is_profile_active "libretranslate"; then echo echo "================================= LibreTranslate ===========================" echo - echo "Host: ${LIBRETRANSLATE_HOSTNAME:-}" - echo "User: ${LIBRETRANSLATE_USERNAME:-}" - echo "Password: ${LIBRETRANSLATE_PASSWORD:-}" - echo "API (external via Caddy): https://${LIBRETRANSLATE_HOSTNAME:-}" + echo "Host: ${LT_HOSTNAME:-}" + echo "User: ${LT_USERNAME:-}" + echo "Password: ${LT_PASSWORD:-}" + echo "API (external via Caddy): https://${LT_HOSTNAME:-}" echo "API (internal): http://libretranslate:5000" echo "Docs: https://github.com/LibreTranslate/LibreTranslate" fi