2025-08-02 03:07:27 +02:00
|
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
|
|
|
|
# Podman development environment startup script for FFR
|
|
|
|
|
|
|
|
|
|
|
|
set -e
|
|
|
|
|
|
|
|
|
|
|
|
echo "🚀 Starting FFR development environment with Podman..."
|
|
|
|
|
|
|
|
|
|
|
|
# Check if .env exists
|
|
|
|
|
|
if [ ! -f .env ]; then
|
|
|
|
|
|
echo "📋 Creating .env file from .env.example..."
|
|
|
|
|
|
cp .env.example .env
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
# Check if podman-compose is available
|
|
|
|
|
|
if ! command -v podman-compose &> /dev/null; then
|
2025-08-09 02:51:18 +02:00
|
|
|
|
echo "❌ podman-compose not found."
|
|
|
|
|
|
exit
|
2025-08-02 03:07:27 +02:00
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
# Start services
|
|
|
|
|
|
echo "🔧 Starting services..."
|
|
|
|
|
|
podman-compose -f docker/dev/podman/docker-compose.yml up -d
|
|
|
|
|
|
|
|
|
|
|
|
# Wait for database to be ready
|
|
|
|
|
|
echo "⏳ Waiting for database to be ready..."
|
|
|
|
|
|
sleep 10
|
|
|
|
|
|
|
2025-08-09 02:51:18 +02:00
|
|
|
|
# Install/update dependencies if needed
|
|
|
|
|
|
echo "📦 Installing dependencies..."
|
|
|
|
|
|
podman exec ffr-dev-app bash -c "cd /var/www/html/backend && composer install"
|
|
|
|
|
|
podman exec ffr-dev-app bash -c "cd /var/www/html/frontend && npm install"
|
2025-08-02 03:07:27 +02:00
|
|
|
|
|
|
|
|
|
|
# Run migrations and seeders
|
|
|
|
|
|
echo "🗃️ Running database migrations..."
|
2025-08-09 02:51:18 +02:00
|
|
|
|
podman exec ffr-dev-app bash -c "cd /var/www/html/backend && php artisan migrate --force"
|
2025-08-02 03:07:27 +02:00
|
|
|
|
echo "🌱 Running database seeders..."
|
2025-08-09 02:51:18 +02:00
|
|
|
|
podman exec ffr-dev-app bash -c "cd /var/www/html/backend && php artisan db:seed --force"
|
2025-08-02 03:07:27 +02:00
|
|
|
|
|
2025-08-09 02:51:18 +02:00
|
|
|
|
# Wait for container services to be fully ready
|
|
|
|
|
|
echo "⏳ Waiting for container services to initialize..."
|
|
|
|
|
|
sleep 5
|
|
|
|
|
|
|
|
|
|
|
|
# Start React dev server if not already running
|
|
|
|
|
|
echo "🚀 Starting React dev server..."
|
|
|
|
|
|
podman exec -d ffr-dev-app bash -c "cd /var/www/html/frontend && npm run dev -- --host 0.0.0.0 --port 5173 > /dev/null 2>&1 &"
|
|
|
|
|
|
sleep 5
|
|
|
|
|
|
|
|
|
|
|
|
# Verify Vite is running
|
|
|
|
|
|
if podman exec ffr-dev-app bash -c "curl -s http://localhost:5173 > /dev/null 2>&1"; then
|
|
|
|
|
|
echo "✅ Vite dev server is running"
|
|
|
|
|
|
else
|
|
|
|
|
|
echo "⚠️ Vite dev server may not have started properly"
|
|
|
|
|
|
fi
|
2025-08-02 03:07:27 +02:00
|
|
|
|
|
2025-08-09 15:22:56 +02:00
|
|
|
|
# Check Laravel Horizon status inside the app container
|
|
|
|
|
|
echo "🔍 Checking Laravel Horizon in app container..."
|
|
|
|
|
|
HSTATUS="$(podman exec ffr-dev-app bash -lc "cd /var/www/html/backend && php artisan horizon:status" 2>/dev/null || echo "Horizon status: unknown")"
|
|
|
|
|
|
echo "$HSTATUS"
|
|
|
|
|
|
if echo "$HSTATUS" | grep -qi 'inactive'; then
|
|
|
|
|
|
echo "ℹ️ Horizon is inactive. Attempting to start..."
|
|
|
|
|
|
podman exec -d ffr-dev-app bash -lc "cd /var/www/html/backend && php artisan horizon > /dev/null 2>&1 &" || true
|
|
|
|
|
|
sleep 2
|
|
|
|
|
|
podman exec ffr-dev-app bash -lc "cd /var/www/html/backend && php artisan horizon:status" || true
|
|
|
|
|
|
else
|
|
|
|
|
|
echo "✅ Horizon appears to be running."
|
|
|
|
|
|
fi
|
|
|
|
|
|
# Show supervisors summary (non-fatal if unavailable)
|
|
|
|
|
|
podman exec ffr-dev-app bash -lc "cd /var/www/html/backend && php artisan horizon:supervisors | sed -n '1,80p'" || true
|
|
|
|
|
|
|
2025-08-02 03:07:27 +02:00
|
|
|
|
echo "✅ Development environment is ready!"
|
|
|
|
|
|
echo "🌐 Application: http://localhost:8000"
|
|
|
|
|
|
echo "🔥 Vite dev server: http://localhost:5173"
|
|
|
|
|
|
echo "💾 Database: localhost:3307"
|
|
|
|
|
|
echo "🔴 Redis: localhost:6380"
|
|
|
|
|
|
echo ""
|
|
|
|
|
|
echo "📋 Useful commands:"
|
|
|
|
|
|
echo " Stop: podman-compose -f docker/dev/podman/docker-compose.yml down"
|
|
|
|
|
|
echo " Logs: podman-compose -f docker/dev/podman/docker-compose.yml logs -f"
|
|
|
|
|
|
echo " Exec: podman exec -it ffr-dev-app bash"
|
2025-08-09 02:51:18 +02:00
|
|
|
|
echo " Tests: podman exec ffr-dev-app php artisan test"
|