netgescon-day0/docker/entrypoint.sh

74 lines
2.0 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
cd /var/www
if [[ -d /opt/netgescon/public ]]; then
mkdir -p /var/www/public
find /var/www/public -mindepth 1 -maxdepth 1 -exec rm -rf {} + 2>/dev/null || true
cp -a /opt/netgescon/public/. /var/www/public/
fi
if [[ -n "${MYSQL_SSL_VERIFY_SERVER_CERT:-}" ]]; then
cat > /root/.my.cnf <<EOF
[client]
ssl-verify-server-cert=${MYSQL_SSL_VERIFY_SERVER_CERT}
EOF
fi
if [[ "${DISABLE_SCHEMA_LOAD:-false}" == "true" ]]; then
rm -f /var/www/database/schema/*-schema.sql
fi
if [[ "${FIX_PERMISSIONS:-false}" == "true" ]]; then
chown -R www-data:www-data /var/www/storage /var/www/bootstrap/cache || true
chmod -R 775 /var/www/storage /var/www/bootstrap/cache || true
fi
rm -f \
/var/www/bootstrap/cache/packages.php \
/var/www/bootstrap/cache/services.php \
/var/www/bootstrap/cache/config.php \
/var/www/bootstrap/cache/events.php \
/var/www/bootstrap/cache/routes-v7.php \
/var/www/bootstrap/cache/routes.php
if [[ "${WAIT_FOR_DB:-true}" == "true" ]] && [[ -n "${DB_HOST:-}" ]]; then
for i in {1..30}; do
if mysqladmin ping -h "${DB_HOST}" -P "${DB_PORT:-3306}" -u "${DB_USERNAME:-root}" -p"${DB_PASSWORD:-}" --silent; then
break
fi
sleep 2
done
fi
if [[ "${RUN_MIGRATIONS:-false}" == "true" ]]; then
if ! php artisan migrate --force; then
if [[ "${MIGRATIONS_STRICT:-false}" == "true" ]]; then
exit 1
fi
echo "[WARN] Migrazioni fallite, continuo con avvio applicazione (MIGRATIONS_STRICT=false)."
fi
fi
if [[ "${RUN_FILAMENT_ASSETS:-false}" == "true" ]]; then
php artisan filament:assets
fi
if [[ -n "${RUN_SEEDERS:-}" ]]; then
case "${RUN_SEEDERS}" in
demo)
if ! php artisan db:seed --force --class=Database\\Seeders\\DemoEnvironmentSeeder; then
if [[ "${SEEDERS_STRICT:-false}" == "true" ]]; then
exit 1
fi
echo "[WARN] Seeder demo fallito, continuo con avvio applicazione (SEEDERS_STRICT=false)."
fi
;;
esac
fi
php artisan optimize:clear || true
exec "$@"