52 lines
1.3 KiB
Bash
Executable File
52 lines
1.3 KiB
Bash
Executable File
#!/bin/sh
|
|
set -eu
|
|
|
|
require_app_secret() {
|
|
if [ -z "${APP_SECRET:-}" ]; then
|
|
echo "APP_SECRET environment variable is required at runtime" >&2
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
install_runtime() {
|
|
if [ -f vendor/autoload_runtime.php ] && [ "${FORCE_COMPOSER_INSTALL:-0}" != "1" ]; then
|
|
return
|
|
fi
|
|
|
|
echo "Installing Composer dependencies..."
|
|
su-exec www-data composer install \
|
|
--no-dev \
|
|
--prefer-dist \
|
|
--no-interaction \
|
|
--no-progress
|
|
}
|
|
|
|
install_runtime
|
|
|
|
if [ -f bin/console ]; then
|
|
require_app_secret
|
|
fi
|
|
|
|
if [ "${RUN_MIGRATIONS_ON_START:-1}" = "1" ] && [ -f bin/console ]; then
|
|
if [ "${DATABASE_DRIVER:-sqlite}" = "sqlite" ]; then
|
|
SQLITE_PATH="${DATABASE_SQLITE_PATH:-/var/www/html/var/data/database.sqlite}"
|
|
SQLITE_DIR=$(dirname "${SQLITE_PATH}")
|
|
mkdir -p "${SQLITE_DIR}"
|
|
if [ ! -f "${SQLITE_PATH}" ]; then
|
|
touch "${SQLITE_PATH}"
|
|
fi
|
|
chown -R www-data:www-data "${SQLITE_DIR}"
|
|
fi
|
|
|
|
su-exec www-data php bin/console doctrine:migrations:migrate --no-interaction --allow-no-migration
|
|
fi
|
|
|
|
if [ -f bin/console ]; then
|
|
su-exec www-data php bin/console cache:clear --no-warmup
|
|
su-exec www-data php bin/console cache:warmup
|
|
chown -R www-data:www-data var
|
|
fi
|
|
|
|
exec "$@"
|
|
|