Proje: OkulUp CRM · Hub: OkulUp CRM — Incidents
Semptom
npm run dev (127.0.0.1:4173) + php artisan serve (127.0.0.1:8000) birlikte çalışıyor ama CRM API’ya bağlanamıyor.
Root Cause
src/lib/constants.js içinde fallback:
export const DEFAULT_API_BASE_URL =
import.meta.env.VITE_API_BASE_URL || "http://127.0.0.1:8080/api";Varsayılan 8080, ancak kampusapi Laravel artisan serve ile 8000’de açılıyor. .env.local yoksa fallback devreye girip yanlış porta istek atıyor.
.env.example doğru değeri (http://127.0.0.1:8000/api) içeriyor ama .env.local/.env repo’da yok (gitignore).
Çözüm
Backend tarafı iki geçerli seçenek:
A) Sail (önerilen, hali hazırdaki kurulum)
- Docker Desktop açık →
compose.yamliçindeki Sail stack otomatik ayağa kalkar. - Laravel container (NGINX) host’ta
127.0.0.1:8080portunda yayın yapıyor. .env’dekiDB_HOST=mysqlsadece Sail network’ünden çözülür — bu yüzdenphp artisan servehost üzerinden koşuncagetaddrinfo for mysql failedalınır.- CRM
.env.local:VITE_API_BASE_URL=http://127.0.0.1:8080/api php artisan serve’ü kullanma; gerekirse./vendor/bin/sail up -dile manuel kaldır/indir.
B) Host’ta php artisan serve (yedek)
kampusapi/kampus/.env’de:DB_HOST=127.0.0.1DB_PORT=3307(Sail MySQL’i host’a bu portla forward ediyor)
- CRM
.env.local:VITE_API_BASE_URL=http://127.0.0.1:8000/api
Her iki yolda da Vite dev server’ı restart (env sadece startup’ta okunur).
Doğrulama
curl -I http://127.0.0.1:8080→ HTTP 200 (Sail NGINX sağlıklı).kampusapi/kampus/config/cors.php→allowed_originsiçindehttp://127.0.0.1:4173zaten var; CORS tarafında ek iş yok.supports_credentials: trueve token tabanlı Authorization header akışı uyumlu.
Docker stack portları (Sail, compose.yaml’dan)
| Servis | Container | Host |
|---|---|---|
| laravel.test (NGINX+PHP-FPM) | 80 | 8080 |
| mysql | 3306 | 3307 |
| redis | 6379 | 6380 |
| minio API / konsol | 9000 / 8900 | 9002 / 8901 |