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.
This commit is contained in:
Yury Kossakovsky
2025-08-28 17:19:30 -06:00
parent fb0a5a3e02
commit c1ceb1884a
5 changed files with 25 additions and 25 deletions

View File

@@ -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.

View File

@@ -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
}

View File

@@ -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}

View File

@@ -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.

View File

@@ -185,10 +185,10 @@ if is_profile_active "libretranslate"; then
echo
echo "================================= LibreTranslate ==========================="
echo
echo "Host: ${LIBRETRANSLATE_HOSTNAME:-<hostname_not_set>}"
echo "User: ${LIBRETRANSLATE_USERNAME:-<not_set_in_env>}"
echo "Password: ${LIBRETRANSLATE_PASSWORD:-<not_set_in_env>}"
echo "API (external via Caddy): https://${LIBRETRANSLATE_HOSTNAME:-<hostname_not_set>}"
echo "Host: ${LT_HOSTNAME:-<hostname_not_set>}"
echo "User: ${LT_USERNAME:-<not_set_in_env>}"
echo "Password: ${LT_PASSWORD:-<not_set_in_env>}"
echo "API (external via Caddy): https://${LT_HOSTNAME:-<hostname_not_set>}"
echo "API (internal): http://libretranslate:5000"
echo "Docs: https://github.com/LibreTranslate/LibreTranslate"
fi