29 lines
974 B
Plaintext
29 lines
974 B
Plaintext
#!/usr/bin/with-contenv sh
|
|
|
|
# Wait for the DB to be reachable before proceeding. This avoids race condition
|
|
# whereby database is not ready (yet), and so TTRSS config isn't correctly created
|
|
|
|
#############
|
|
# This simply duplicates the logic from ttrss-configure-db.php
|
|
ename='DB';
|
|
eport=5432;
|
|
|
|
if [ "$DB_TYPE" = 'mysql' ];
|
|
then
|
|
eport=3306;
|
|
dbhost=$DB_PORT_3306_TCP_ADDR
|
|
else
|
|
eport=5432;
|
|
dbhost=$DB_PORT_5432_TCP_ADDR
|
|
fi
|
|
#############
|
|
|
|
# Run wait-for to confirm DB comes up before we proceed
|
|
# Reduce default timeout to 1s because if the DB is not instantly available,
|
|
# Then it's even if it _happens_ to become available while we're testing,
|
|
# it won't be ready for us yet. Better to exit and restart the container altogether,
|
|
# So set "S6_BEHAVIOUR_IF_STAGE2_FAILS=2" in docker-compose.yml if you need this (i.e., in swarm mode, where dependencies don't work)
|
|
|
|
echo "Checking database responds within 1s on $dbhost:$eport..."
|
|
/srv/wait-for $dbhost:$eport --timeout=1
|