#!/usr/bin/env bash set -euo pipefail # Start Laravel HTTP server for Usher stack ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" cd "$ROOT_DIR" PORT=8000 HOST=0.0.0.0 LOG_FILE="${ROOT_DIR}/storage/logs/serve.log" # Basic sanity checks if [ ! -f "artisan" ]; then echo "artisan not found. Run this script from project root." >&2 exit 1 fi mkdir -p "$(dirname "$LOG_FILE")" # If already running, skip if pgrep -f "artisan serve --host ${HOST} --port ${PORT}" >/dev/null; then echo "Laravel dev server already running on ${HOST}:${PORT}." exit 0 fi echo "Starting Laravel dev server on ${HOST}:${PORT}..." nohup php artisan serve --host "${HOST}" --port "${PORT}" >>"$LOG_FILE" 2>&1 & PID=$! echo "Started (PID: $PID). Logs: $LOG_FILE"