73 lines
1.9 KiB
Bash
Executable file
73 lines
1.9 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
# Copy development environment configuration to backend
|
|
cp /var/www/html/docker/dev/podman/.env.dev /var/www/html/backend/.env
|
|
|
|
# Setup nginx configuration for development
|
|
cp /var/www/html/docker/dev/podman/nginx.conf /etc/nginx/sites-available/default
|
|
|
|
# Install/update dependencies
|
|
echo "Installing PHP dependencies..."
|
|
cd /var/www/html/backend
|
|
composer install --no-interaction
|
|
|
|
# Ensure APP_KEY is set in backend/.env
|
|
ENV_APP_KEY="${APP_KEY}"
|
|
if [ -n "$ENV_APP_KEY" ]; then
|
|
echo "Using APP_KEY from environment"
|
|
sed -i "s|^APP_KEY=.*|APP_KEY=${ENV_APP_KEY}|" /var/www/html/backend/.env || true
|
|
fi
|
|
|
|
# Generate application key if still missing
|
|
CURRENT_APP_KEY=$(grep "^APP_KEY=" /var/www/html/backend/.env | cut -d'=' -f2)
|
|
if [ -z "$CURRENT_APP_KEY" ]; then
|
|
echo "Generating application key..."
|
|
php artisan key:generate --force
|
|
fi
|
|
|
|
# Verify APP_KEY
|
|
APP_KEY=$(grep "^APP_KEY=" /var/www/html/backend/.env | cut -d'=' -f2)
|
|
if [ -n "$APP_KEY" ]; then
|
|
echo "✅ APP_KEY successfully set."
|
|
else
|
|
echo "❌ ERROR: APP_KEY not set!"
|
|
fi
|
|
|
|
# Wait for database to be ready
|
|
echo "Waiting for database..."
|
|
while ! mysql -h db -u ffr_user -pffr_password --connect-timeout=2 -e "SELECT 1" >/dev/null 2>&1; do
|
|
echo "Database not ready, waiting..."
|
|
sleep 1
|
|
done
|
|
echo "Database connection established!"
|
|
|
|
# Run migrations and seeders
|
|
php artisan migrate --force
|
|
php artisan db:seed --force
|
|
|
|
# Build frontend if not already built
|
|
cd /var/www/html/frontend
|
|
if [ ! -d "dist" ]; then
|
|
echo "Building React frontend..."
|
|
npm run build
|
|
fi
|
|
|
|
# Start services
|
|
echo "Starting services..."
|
|
|
|
# Start React dev server
|
|
cd /var/www/html/frontend
|
|
npm run dev -- --host 0.0.0.0 --port 5173 &
|
|
|
|
# Start Laravel backend
|
|
cd /var/www/html/backend
|
|
php artisan serve --host=127.0.0.1 --port=8000 &
|
|
|
|
# Start Horizon (manages queue workers in dev)
|
|
php artisan horizon &
|
|
|
|
# Start nginx
|
|
nginx -g "daemon off;" &
|
|
|
|
# Wait for background processes
|
|
wait
|