#!/bin/sh set -e cd /app # Every start, so a pull with new packages needs no extra step; with nothing new it takes a second echo "[dev] Installing PHP dependencies..." composer install --no-interaction 2>&1 # A config or route cache left by `php artisan optimize` would hide changes to the checkout echo "[dev] Clearing caches..." php artisan optimize:clear echo "[dev] Running database migrations..." php artisan migrate --force echo "[dev] Creating storage link..." php artisan storage:link --force # Port 80 as in production, so the same healthcheck applies. The vite service serves the assets. echo "[dev] Starting Octane (FrankenPHP) with --watch..." exec php artisan octane:frankenphp --host=0.0.0.0 --port=80 --watch --workers=1 --max-requests=1