homeos/docker/app/bootstrap.sh

29 lines
807 B
Bash
Executable File

#!/usr/bin/env bash
#
# One-time first-run bootstrap. The repo does not vendor `vendor/`, `node_modules`
# or `public/build`, so these must be installed before the app-family services
# (app, horizon, scheduler, reverb) run `artisan`.
#
# Run after `docker compose build`, before `docker compose up`:
# docker compose run --rm app bash docker/app/bootstrap.sh
#
set -euo pipefail
cd /var/www/html
echo "→ composer install"
composer install --no-interaction --prefer-dist
if ! grep -q '^APP_KEY=base64:' .env; then
echo "→ php artisan key:generate"
php artisan key:generate --force
fi
echo "→ npm ci + build assets"
npm ci
npm run build
echo "→ migrate + seed (mock home)"
php artisan migrate --force --seed
echo "✓ bootstrap complete — start the stack with: docker compose up -d"