#!/bin/sh set -e # run_as_www() { # # prefer su-exec (alpine), fallback to runuser if available, otherwise run directly # if command -v su-exec >/dev/null 2>&1; then # su-exec www "$@" # elif command -v runuser >/dev/null 2>&1; then # runuser -u www -- "$@" # else # "$@" # fi # } # Build front-end assets if Vite manifest is missing if [ ! -f /var/www/public/build/manifest.json ]; then echo "Building front-end assets (vite)..." run_as_www npm ci run_as_www npm run build fi # Wait for database directory to be mounted # if [ ! -f /var/www/database/database.sqlite ]; then # echo "Creating database..." # # create the sqlite file as the www user so ownership matches app files # run_as_www sh -c 'touch /var/www/database/database.sqlite' # run_as_www php artisan migrate --force # fi # Fix storage permissions # echo "Fixing storage permissions..." # chown -R www:www /var/www/storage /var/www/bootstrap/cache # chmod -R 775 /var/www/storage /var/www/bootstrap/cache # Execute the main command exec "$@"