opnform-host-nginx/docker/php-fpm-entrypoint

61 lines
1.2 KiB
Bash

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