52 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/usr/bin/env bash
 | 
						|
 | 
						|
# Inspired on https://github.com/adriancooney/Taskfile
 | 
						|
#
 | 
						|
# Install an alias, to be able to simply execute `run`
 | 
						|
# echo 'alias run=./run' >> ~/.aliases
 | 
						|
#
 | 
						|
 | 
						|
# Define Docker Compose command prefix...
 | 
						|
set -e
 | 
						|
 | 
						|
docker compose &> /dev/null
 | 
						|
if [ $? == 0 ]; then
 | 
						|
    DOCKER_COMPOSE="docker compose"
 | 
						|
else
 | 
						|
    DOCKER_COMPOSE="docker-compose"
 | 
						|
fi
 | 
						|
 | 
						|
SAIL=./vendor/bin/sail
 | 
						|
export WWWUSER=${WWWUSER:-$UID}
 | 
						|
export WWWGROUP=${WWWGROUP:-$(id -g)}
 | 
						|
 | 
						|
function help {
 | 
						|
    echo "$0 <task> <args>"
 | 
						|
    echo "Tasks:"
 | 
						|
    compgen -A function | cat -n
 | 
						|
}
 | 
						|
 | 
						|
function default {
 | 
						|
    help
 | 
						|
}
 | 
						|
 | 
						|
function wait_db {
 | 
						|
    TRIES=0
 | 
						|
    MAX_TRIES=15
 | 
						|
    WAIT=4
 | 
						|
 | 
						|
    until $DOCKER_COMPOSE exec postgres bash -c "psql -U coolify -d coolify -t -q -c  \"SELECT datname FROM pg_database;\" " | grep coolify
 | 
						|
    do
 | 
						|
        ((TRIES++))
 | 
						|
        if [ $TRIES -gt $MAX_TRIES ]; then
 | 
						|
            echo "Database is not ready after $MAX_TRIES tries. Exiting."
 | 
						|
            exit 1
 | 
						|
        fi
 | 
						|
        echo "Database is not ready yet. Attempt $TRIES/$MAX_TRIES. Waiting $WAIT seconds before next try..."
 | 
						|
        sleep $WAIT
 | 
						|
    done
 | 
						|
}
 | 
						|
 | 
						|
TIMEFORMAT="Task completed in %3lR"
 | 
						|
time "${@:-default}"
 |