Skip to content

Commit 5dff967

Browse files
committed
Add retries when starting in docker
1 parent 0d4e3cb commit 5dff967

File tree

1 file changed

+16
-2
lines changed

1 file changed

+16
-2
lines changed

docker-entrypoint.sh

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ run_sql() {
44
PGSSLMODE="require" \
55
PGPASSWORD="${FEATURES_DB_PASSWORD}" \
66
psql \
7+
--tuples-only \
78
--username="${FEATURES_DB_USER}" \
89
--port="${FEATURES_DB_PORT}" \
910
--host="${FEATURES_DB_HOST}" \
@@ -28,6 +29,11 @@ features_database_exists() {
2829
| grep -q 'yes'
2930
}
3031

32+
can_connect_to_database() {
33+
echo "SELECT version();" \
34+
| run_sql 'postgres'
35+
}
36+
3137
log() {
3238
echo "[$(date)] $1"
3339
}
@@ -41,6 +47,11 @@ if [ -z "${FEATURES_DB_USER}" ]; then fail "Need to provide FEATURES_DB_USER env
4147
if [ -z "${FEATURES_DB_PASSWORD}" ]; then fail "Need to provide FEATURES_DB_PASSWORD environment variable"; fi
4248
if [ -z "${FEATURES_DB_HOST}" ]; then fail "Need to provide FEATURES_DB_HOST environment variable"; fi
4349

50+
while ! can_connect_to_database; do
51+
log "Unable to connect to database, retrying."
52+
sleep 30s
53+
done
54+
4455
username="${FEATURES_DB_USER%@*}"
4556
hostname="${FEATURES_DB_USER#*@}"
4657

@@ -79,5 +90,8 @@ if ! features_database_exists; then
7990
log "...done, query planner is now ready"
8091
fi
8192

82-
FEATURES_CONNECTION_STRING="postgres://frontend@${hostname}:${FEATURES_DB_PASSWORD}@${FEATURES_DB_HOST}:${FEATURES_DB_PORT}/${FEATURES_DB_NAME}?ssl=true" \
83-
npm start
93+
export FEATURES_CONNECTION_STRING="postgres://frontend@${hostname}:${FEATURES_DB_PASSWORD}@${FEATURES_DB_HOST}:${FEATURES_DB_PORT}/${FEATURES_DB_NAME}?ssl=true"
94+
95+
while ! npm start; do
96+
sleep 30s
97+
done

0 commit comments

Comments
 (0)