#!/usr/bin/env bash
set -euo pipefail
# Run as the cPanel account inside an already configured release directory.
[[ $EUID -ne 0 ]] || { echo 'Run as the cPanel account, not root'; exit 1; }
php_bin=${PHP_BIN:-/opt/cpanel/ea-php83/root/usr/bin/php}
composer_bin=${COMPOSER_BIN:-/usr/local/bin/composer}
[[ -f .env && -f artisan && -f composer.lock && -f public/build/manifest.json ]] || { echo 'Missing .env, Laravel, lockfile or built frontend'; exit 1; }
"$php_bin" "$composer_bin" install --no-dev --prefer-dist --optimize-autoloader --no-interaction
"$php_bin" artisan down --retry=60
trap '"$php_bin" artisan up' EXIT
"$php_bin" artisan migrate --force
"$php_bin" artisan db:seed --force
"$php_bin" artisan optimize
"$php_bin" artisan filament:assets
"$php_bin" artisan queue:restart
"$php_bin" artisan multiscan:doctor
"$php_bin" artisan up
trap - EXIT
