From 6505e0619fa5496180d29837579c3fb7dab45617 Mon Sep 17 00:00:00 2001 From: jieggii Date: Wed, 7 Aug 2024 16:05:59 +0300 Subject: [PATCH] Add support for Docker secrets in Telegram API credentials Read values for TELEGRAM_API_ID and TELEGRAM_API_HASH from files specified by TELEGRAM_API_ID_FILE and TELEGRAM_API_HASH_FILE respectively. This allows for better management of sensitive information through Docker secrets. --- docker-entrypoint.sh | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh index dd90962..434a4d5 100644 --- a/docker-entrypoint.sh +++ b/docker-entrypoint.sh @@ -43,6 +43,27 @@ fi COMMAND="telegram-bot-api ${DEFAULT_ARGS}${CUSTOM_ARGS}" +file_env() { + local var_name="$1" + local file_var_name="$2" + + eval file_path="\$${file_var_name}" + eval current_value="\$${var_name}" + + if [ -n "$file_path" ]; then + if [ -n "$current_value" ]; then + echo "Error: both ${file_var_name} and ${var_name} env vars are set, expected only one of them" + exit 1 + fi + + file_content=$(< "$file_path") + export "$var_name=$file_content" + fi +} + +file_env "TELEGRAM_API_ID" "TELEGRAM_API_ID_FILE" +file_env "TELEGRAM_API_HASH" "TELEGRAM_API_HASH_FILE" + echo "$COMMAND" # shellcheck disable=SC2086 exec $COMMAND