Skip to content

Commit af7729b

Browse files
authored
Merge pull request #21 from jieggii/master
Add docker secrets support for TELEGRAM_API_ID and TELEGRAM_API_HASH
2 parents a405943 + 0096d99 commit af7729b

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

docker-entrypoint.sh

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,34 @@
11
#!/bin/sh
22
set -e
33

4+
file_env() {
5+
local var_name="$1"
6+
local file_var_name="$2"
7+
8+
var_value=$(printenv "$var_name") || var_value=""
9+
file_path=$(printenv "$file_var_name") || file_path=""
10+
11+
if [ -z "$var_value" ] && [ -z "$file_path" ]; then
12+
echo "error: expected $var_name or $file_var_name env vars to be set"
13+
exit 1
14+
15+
elif [ -n "$var_value" ] && [ -n "$file_path" ]; then
16+
echo "both and $var_name $file_var_name env vars are set, expected only one of them"
17+
exit 1
18+
19+
else
20+
if [ -n "$file_path" ] && [ "$file_path" != "" ]; then
21+
if [ -f "$file_path" ]; then
22+
file_content=$(cat "$file_path")
23+
export "$var_name=$file_content"
24+
else
25+
echo "error: $var_name=$file_path: file '$file_path' does not exist"
26+
exit 1
27+
fi
28+
fi
29+
fi
30+
}
31+
432
USERNAME=telegram-bot-api
533
GROUPNAME=telegram-bot-api
634

@@ -10,6 +38,9 @@ if [ -n "${1}" ]; then
1038
exec "${*}"
1139
fi
1240

41+
file_env "TELEGRAM_API_ID" "TELEGRAM_API_ID_FILE"
42+
file_env "TELEGRAM_API_HASH" "TELEGRAM_API_HASH_FILE"
43+
1344
DEFAULT_ARGS="--dir=${TELEGRAM_WORK_DIR} --temp-dir=${TELEGRAM_TEMP_DIR} --username=${USERNAME} --groupname=${GROUPNAME}"
1445
CUSTOM_ARGS=""
1546

@@ -51,5 +82,6 @@ fi
5182
COMMAND="telegram-bot-api ${DEFAULT_ARGS}${CUSTOM_ARGS}"
5283

5384
echo "$COMMAND"
85+
5486
# shellcheck disable=SC2086
5587
exec $COMMAND

0 commit comments

Comments
 (0)