#!/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 " 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}"