#!/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"