docker-alpine-php83-aio/config/frameworks/10-symfony.sh

54 lines
1.4 KiB
Bash

#!/bin/sh
# If there is no symfony.lock file, this isn't a symfony project
if [ ! -f /application/symfony.lock ]; then
exit 1
fi
# Determine if this is a specific variant of Symfny
if [ -d /application/config/bolt ]; then
echo " => Detected Symfony (Bolt) project"
VARIANT=bolt
else
echo " => Detected Symfony project"
VARIANT=vanilla
fi
# Call pre-init script
if [ -f /application/.symfony-preinit ]; then
echo " -> Running container-provided .symfony-preinit script"
sh /application/.symfony-preinit
fi
# Call on composer
echo " -> Installing dependencies using composer..."
/usr/bin/composer install --no-dev --no-cache --optimize-autoloader --no-progress -q || exit 0
# Call post-init script
if [ -f /application/.symfony-init ]; then
echo " -> Running container-provided .symfony-init script"
sh /application/.symfony-init
fi
echo " -> Setting up directories..."
test -d /application/var/cache/prod || ( mkdir -p /application/var/cache/prod && chmod a+rwx /application/var/cache/prod )
# Do some variant-specific setup
case "$VARIANT" in
"vanilla")
echo " -> Compiling .env for prodution..."
composer symfony:dump-env prod -q
echo " -> Clearing cache..."
bin/console cache:clear --env=prod -q
;;
esac
echo " -> Testing environment..."
if bin/console about -q; then
echo " Successful"
else
echo " !! Failed"
fi
exit 0