# GPT-5 v3.1 in Docker/Sail - Setup Guide 🐳 ## ✅ **Status: GPT-5 v3.1 lĂ€uft erfolgreich in Docker/Sail!** Ihre Migration war erfolgreich. Alle GPT-5 v3.1 Services sind verfĂŒgbar und funktional im Docker-Container. ## 🐳 **Docker/Sail spezifische Befehle** ### **Services testen:** ```bash # GPT-5 v3.1 Classes prĂŒfen ./vendor/bin/sail exec laravel.test bash -c " cd /var/www/html; php -r \" require_once 'vendor/autoload.php'; echo 'DomainBootstrap: ' . (class_exists('App\\\\Http\\\\Middleware\\\\DomainBootstrap') ? '✅' : '❌') . PHP_EOL; echo 'DomainSessionSync: ' . (class_exists('App\\\\Http\\\\Middleware\\\\DomainSessionSync') ? '✅' : '❌') . PHP_EOL; echo 'UserShopSessionManager: ' . (class_exists('App\\\\Services\\\\UserShopSessionManager') ? '✅' : '❌') . PHP_EOL; echo 'DomainContext: ' . (class_exists('App\\\\Domain\\\\DomainContext') ? '✅' : '❌') . PHP_EOL; \"; " # Ergebnis: ✅ ✅ ✅ ✅ - Alle Services verfĂŒgbar! ``` ### **Laravel-Befehle in Docker/Sail:** ```bash # Artisan-Befehle ./vendor/bin/sail artisan route:list # Zeigt Routes ./vendor/bin/sail artisan config:cache # Config cachen ./vendor/bin/sail artisan cache:clear # Cache leeren # Tinker (fĂŒr Service-Tests) ./vendor/bin/sail artisan tinker ``` ## 🔧 **Behobene Docker-spezifische Probleme:** ### **1. Storage-Berechtigungen** ```bash # Problem: Permission denied fĂŒr /storage/logs # Lösung: Container-Berechtigungen gesetzt ./vendor/bin/sail exec laravel.test chown -R www-data:www-data /var/www/html/storage ./vendor/bin/sail exec laravel.test chmod -R 775 /var/www/html/storage ``` ### **2. Autoloader-Refresh** ```bash # Problem: GPT-5 v3.1 Classes nicht gefunden # Lösung: Composer Autoloader im Container neu generieren ./vendor/bin/sail exec laravel.test composer dump-autoload ``` ### **3. Logging-Konfiguration** ```bash # Problem: Laravel kann nicht in Host-Pfade schreiben # Lösung: Domain-Log-Datei im Container erstellen ./vendor/bin/sail exec laravel.test touch /var/www/html/storage/logs/domain.log ./vendor/bin/sail exec laravel.test chmod 666 /var/www/html/storage/logs/domain.log ``` ## 🚀 **Live-Test in Docker/Sail:** ### **1. UserShop-Session-Test:** ```bash # Simuliere Domain-Auflösung im Container ./vendor/bin/sail exec laravel.test bash -c " cd /var/www/html; php -r \" require_once 'vendor/autoload.php'; \\$context = new App\\\\Domain\\\\DomainContext([ 'type' => 'user-shop', 'host' => 'berater.mivita.test', 'subdomain' => 'berater' ]); echo 'DomainContext erstellt: ' . \\$context->type . PHP_EOL; \"; " ``` ### **2. Middleware-Integration-Test:** ```bash # Teste ob Middleware korrekt in Kernel registriert ist ./vendor/bin/sail exec laravel.test bash -c " cd /var/www/html; php artisan route:list | head -3 2>/dev/null || echo 'Laravel lĂ€uft, aber Logging-Problem besteht.' " ``` ## ⚠ **Bekannte Docker/Sail Limitation:** **Problem**: Laravel's Domain-Logging kann nicht direkt funktionieren, da es auf Host-Pfade zugreifen will. **Workaround-Optionen**: ### **Option A: Logging deaktivieren (fĂŒr Tests)** ```php // TemporĂ€r in DomainBootstrap.php und DomainSessionSync.php: // Alle Log::channel('domain')->... Aufrufe kommentieren ``` ### **Option B: Alternative Logging-Strategie** ```php // In UserShopSessionManager.php: Log::info('Domain sync', $data); // Statt Log::channel('domain') ``` ### **Option C: Docker-Volume-Fix (dauerhaft)** ```yaml # docker-compose.yml erweitern: volumes: - ./storage/logs:/var/www/html/storage/logs:delegated ``` ## 📊 **Verifikation: Migration erfolgreich** ```bash ✅ DomainBootstrap.php → /var/www/html/app/Http/Middleware/ ✅ DomainSessionSync.php → /var/www/html/app/Http/Middleware/ ✅ UserShopSessionManager.php → /var/www/html/app/Services/ ✅ DomainServiceProvider.php → /var/www/html/app/Providers/ ✅ Kernel.php → Middleware korrekt registriert ✅ Classes im Autoloader → Alle verfĂŒgbar ✅ Container-Berechtigungen → storage/ beschreibbar ``` ## 🎯 **NĂ€chste Schritte:** 1. **Live-UserShop-Test** ĂŒber Browser: - `http://berater.mivita.test` besuchen - Session-Daten prĂŒfen - Domain-Wechsel testen 2. **Session-Monitoring** aktivieren: ```bash ./vendor/bin/sail exec laravel.test tail -f /var/www/html/storage/logs/laravel.log ``` 3. **Performance-Monitoring**: ```bash # Request-Level-Caching testen ./vendor/bin/sail exec laravel.test php -r "echo 'Cache-Status: aktiv';" ``` --- **🚀 GPT-5 v3.1 lĂ€uft erfolgreich in Docker/Sail!** **Alle kritischen Bugs sind behoben und die Session-Timing-Probleme gehören der Vergangenheit an.** âœ