1
1
#! /bin/bash
2
2
set -e
3
3
4
- DB_PORT=${DB_PORT:- 3306}
5
-
6
4
echoerr () { echo " $@ " 1>&2 ; }
7
5
6
+ # Split out host and port from DB_HOST env variable
7
+ IFS=" :" read -r DB_HOST_NAME DB_PORT <<< " $DB_HOST"
8
+ DB_PORT=${DB_PORT:- 3306}
9
+
8
10
if [ ! -f ' /var/www/BookStack/.env' ]; then
9
11
if [[ " ${DB_HOST} " ]]; then
10
12
cat > /var/www/BookStack/.env << EOF
@@ -19,7 +21,6 @@ if [ ! -f '/var/www/BookStack/.env' ]; then
19
21
20
22
# Database details
21
23
DB_HOST=${DB_HOST:- localhost}
22
- DB_PORT=${DB_PORT:- 3306}
23
24
DB_DATABASE=${DB_DATABASE:- bookstack}
24
25
DB_USERNAME=${DB_USERNAME:- bookstack}
25
26
DB_PASSWORD=${DB_PASSWORD:- password}
@@ -79,15 +80,15 @@ if [ ! -f '/var/www/BookStack/.env' ]; then
79
80
# URL used for social login redirects, NO TRAILING SLASH
80
81
EOF
81
82
else
82
- echo >&2 ' error: missing DB_PORT or DB_HOST environment variables '
83
+ echo >&2 ' error: missing DB_HOST environment variable '
83
84
exit 1
84
85
fi
85
86
fi
86
87
87
- echoerr wait-for-db: waiting for ${DB_HOST } :${DB_PORT}
88
+ echoerr wait-for-db: waiting for ${DB_HOST_NAME } :${DB_PORT}
88
89
89
90
timeout 15 bash << EOT
90
- while ! (echo > /dev/tcp/${DB_HOST } /${DB_PORT} ) >/dev/null 2>&1;
91
+ while ! (echo > /dev/tcp/${DB_HOST_NAME } /${DB_PORT} ) >/dev/null 2>&1;
91
92
do sleep 1;
92
93
done;
93
94
EOT
@@ -98,7 +99,7 @@ if [ $RESULT -eq 0 ]; then
98
99
sleep 1
99
100
echoerr wait-for-db: done
100
101
else
101
- echoerr wait-for-db: timeout out after 15 seconds waiting for ${DB_HOST } :${DB_PORT}
102
+ echoerr wait-for-db: timeout out after 15 seconds waiting for ${DB_HOST_NAME } :${DB_PORT}
102
103
fi
103
104
104
105
cd /var/www/BookStack/ && php artisan key:generate && php artisan migrate --force
0 commit comments