forked from baptisteArno/typebot.io
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathentrypoint.sh
35 lines (28 loc) · 919 Bytes
/
entrypoint.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/bin/bash
# This entrypoint inject variables at runtime.
# See https://raphaelpralat.medium.com/system-environment-variables-in-next-js-with-docker-1f0754e04cde
# no verbose
set +x
# config
envFilename='./.env.production'
nextFolder='./.next/'
function apply_path {
# read all config file
while read line; do
# no comment or not empty
if [ "${line:0:1}" == "#" ] || [ "${line}" == "" ]; then
continue
fi
# split
configName="$(cut -d'=' -f1 <<<"$line")"
configValue="$(cut -d'=' -f2 <<<"$line")" # get system env
envValue=$(env | grep "^$configName=" | grep -oe '[^=]*$');
if [ -n "$configValue" ] && [ -n "$envValue" ]; then
echo "Injecting ${configName}..."
fi
# replace all
find $nextFolder \( -type d -name .git -prune \) -o -type f -print0 | xargs -0 sed -i "s#$configValue#$envValue#g"
done < $envFilename
}
apply_path
exec "$@"