#!/bin/bash source $(dirname `realpath $0`)/environment.sh; ############################################# ## ## ## Executed after launching containers ## ## ## ############################################# ## [1] Wait for database to be READY # Restore mariadb database echo -ne " * mariadb socket.."; docker exec $MARIADB_SERVICE mysql -uroot -p$MARIADB_ROOT_PASSWORD 2>/dev/null; DB_RESTORED="$?"; # Try until connection OK while [ "$DB_RESTORED" != "0" ]; do sleep .5; echo -ne "."; docker exec $MARIADB_SERVICE mysql -uroot -p$MARIADB_ROOT_PASSWORD 2>/dev/null; DB_RESTORED="$?"; done; echo "ready"; ## [2] Restore database # 1. Check if dump file exists echo -ne " * Check dump file..........."; test -f $MARIADB_DUMP; DUMP_FILE_EXISTS="$?"; # 2. Restore database if [ "$DUMP_FILE_EXISTS" = "0" ]; then echo "found"; # Restore mariadb database echo -ne " * Restore database.........."; cat $MARIADB_DUMP | docker exec -i $MARIADB_SERVICE mysql -uroot -p$MARIADB_ROOT_PASSWORD $MARIADB_DATABASE_NAME 2>/dev/null && echo "restored" || echo "failed"; else ec @echo -n "*** Create trigger............."; @test ! -d ./virtual/ci && mkdir ./virtual/ci; (exit 0); # Create 'persistent' directory if missing test ! -d $ROOT/persistent && mkdir -p $ROOT/persistent; echo " * Create dump file..........created"; touch $MARIADB_DUMP; fi; ## [3] Grant www-data for CI triggers echo -n " * Grant php on triggers....."; docker exec php-fpm chown www-data -R /ci && echo "granted" || (echo "failed"; exit 1);