diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh index d5d6947..985e62a 100644 --- a/docker-entrypoint.sh +++ b/docker-entrypoint.sh @@ -1,6 +1,34 @@ #!/bin/sh set -e +file_env() { + local var_name="$1" + local file_var_name="$2" + + var_value=$(printenv "$var_name") || var_value="" + file_path=$(printenv "$file_var_name") || file_path="" + + if [ -z "$var_value" ] && [ -z "$file_path" ]; then + echo "error: expected $var_name or $file_var_name env vars to be set" + exit 1 + + elif [ -n "$var_value" ] && [ -n "$file_path" ]; then + echo "both and $var_name $file_var_name env vars are set, expected only one of them" + exit 1 + + else + if [ -n $file_path ]; then + if [ -f "$file_path" ]; then + file_content=$(cat "$file_path") + export "$var_name=$file_content" + else + echo "error: file '$file_path' does not exist" + exit 1 + fi + fi + fi +} + USERNAME=telegram-bot-api GROUPNAME=telegram-bot-api @@ -10,6 +38,9 @@ if [ -n "${1}" ]; then exec "${*}" fi +file_env "TELEGRAM_API_ID" "TELEGRAM_API_ID_FILE" +file_env "TELEGRAM_API_HASH" "TELEGRAM_API_HASH_FILE" + DEFAULT_ARGS="--http-port 8081 --dir=${TELEGRAM_WORK_DIR} --temp-dir=${TELEGRAM_TEMP_DIR} --username=${USERNAME} --groupname=${GROUPNAME}" CUSTOM_ARGS="" @@ -43,37 +74,7 @@ fi COMMAND="telegram-bot-api ${DEFAULT_ARGS}${CUSTOM_ARGS}" -file_env() { - local var_name="$1" - local file_var_name="$2" - - var_value=$(printenv "$var_name") || var_value="" - file_path=$(printenv "$file_var_name") || file_path="" - - if [ -z "$var_value" ] && [ -z "$file_path" ]; then - echo "error: expected $var_name or $file_var_name env vars to be set" - exit 1 - - elif [ -n "$var_value" ] && [ -n "$file_path" ]; then - echo "both and $var_name $file_var_name env vars are set, expected only one of them" - exit 1 - - else - if [ -n $file_path ]; then - if [ -f "$file_path" ]; then - file_content=$(cat "$file_path") - export "$var_name=$file_content" - else - echo "error: file '$file_path' does not exist" - exit 1 - fi - fi - 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