Files
nginx-proxy-manager/scripts/wait-healthy
T

34 lines
625 B
Bash
Raw Normal View History

2020-02-19 15:55:06 +11:00
#!/bin/bash
2020-05-21 16:11:19 +10:00
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
. "$DIR/.common.sh"
2020-02-19 15:55:06 +11:00
if [ "$1" == "" ]; then
echo "Waits for a docker container to be healthy."
echo "Usage: $0 docker-container 30"
2020-02-19 15:55:06 +11:00
exit 1
fi
SERVICE=$1
LIMIT=${2:-90}
echo -e "${BLUE}❯ ${CYAN}Waiting for healthy: ${YELLOW}${SERVICE}${RESET}"
is_up() {
docker exec "$SERVICE" /bin/healthcheck.sh
}
2020-02-19 15:55:06 +11:00
i=0
while ! is_up; do
i=$((i + 1))
if [ "$i" == "$LIMIT" ]; then
2020-02-19 15:55:06 +11:00
echo -e "${BLUE}❯ ${RED}Timed out waiting for healthy${RESET}"
docker logs --tail 50 "$SERVICE"
2020-02-19 15:55:06 +11:00
exit 1
fi
sleep 1
2020-02-19 15:55:06 +11:00
done
echo ""
echo -e "${BLUE}❯ ${GREEN}Healthy!${RESET}"