#!/bin/bash main() { prep_file_permissions prep_storage wait_for_db apply_db_migrations run_init_project run_server "$@" } is_master() { echo "$@" | grep -q php-fpm } prep_file_permissions() { chmod a+x ./artisan } apply_db_migrations() { echo "Running DB Migrations" ./artisan migrate } run_init_project() { echo "Running app:init-project command" ./artisan app:init-project } wait_for_db() { echo "Waiting for DB to be ready" until ./artisan migrate:status 2>&1 | grep -q -E "(Migration table not found|Migration name)"; do sleep 1 done } run_server() { echo "Starting server $@" /usr/local/bin/docker-php-entrypoint "$@" } prep_storage() { mkdir -p /etc/initial-storage if [ ! -d /etc/initial-storage/app ]; then echo "Backing up initial storage directory" cp -a ./storage/* /etc/initial-storage/ fi mkdir -p /persist/storage if [ ! -d /persist/storage/app ]; then echo "Initialising blank storage dir" cp -a /etc/initial-storage/* /persist/storage/ fi chmod -R 777 /persist/storage touch /var/log/opnform.log chown www-data /var/log/opnform.log } main "$@"