mirror of
				https://github.com/NginxProxyManager/nginx-proxy-manager.git
				synced 2025-11-03 17:13:33 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			41 lines
		
	
	
		
			947 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			947 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/bash
 | 
						||
 | 
						||
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
 | 
						||
. "$DIR/.common.sh"
 | 
						||
 | 
						||
if [ "$1" == "" ]; then
 | 
						||
	echo "Waits for a docker container to be healthy."
 | 
						||
	echo "  Usage: $0 docker-container 30"
 | 
						||
	echo "or use the third parameter to use the docker healthcheck instead of the internal one."
 | 
						||
	echo "  Usage: $0 docker-container 30 true"
 | 
						||
	exit 1
 | 
						||
fi
 | 
						||
 | 
						||
SERVICE=$1
 | 
						||
LIMIT=${2:-90}
 | 
						||
USE_DOCKER_HEALTHCHECK=${3:-false}
 | 
						||
 | 
						||
echo -e "${BLUE}❯ ${CYAN}Waiting for healthy: ${YELLOW}${SERVICE}${RESET}"
 | 
						||
 | 
						||
is_up() {
 | 
						||
	if [ "$USE_DOCKER_HEALTHCHECK" == "true" ]; then
 | 
						||
		docker inspect --format='{{.State.Health.Status}}' "$SERVICE" | grep -qi "healthy"
 | 
						||
	else
 | 
						||
		docker exec "$SERVICE" /bin/healthcheck.sh
 | 
						||
	fi
 | 
						||
}
 | 
						||
 | 
						||
i=0
 | 
						||
while ! is_up; do
 | 
						||
	i=$((i + 1))
 | 
						||
	if [ "$i" == "$LIMIT" ]; then
 | 
						||
		echo -e "${BLUE}❯ ${RED}Timed out waiting for healthy${RESET}"
 | 
						||
		docker logs --tail 50 "$SERVICE"
 | 
						||
		exit 1
 | 
						||
	fi
 | 
						||
	sleep 1
 | 
						||
done
 | 
						||
 | 
						||
echo ""
 | 
						||
echo -e "${BLUE}❯ ${GREEN}Healthy!${RESET}"
 |