Sistem Ayarları

Yapılandırma bilgileri ve nasıl değiştirileceğine dair notlar. Değerler api/.env dosyasından okunur; bu sayfa sadece bilgi amaçlıdır, düzenleme yapmaz.

⚠️Ayarları değiştirmek için sunucuda api/.env dosyasını düzenleyin, ardından pm2 restart leadfinder-api komutunu çalıştırın. Bazı değişiklikler (JWT secret, DB şifresi) oturumları etkiler.
🔌 API & Bağlantı
API_PORT
3117

NestJS backend portu. Nginx bu porta proxy yapar. Değiştirmek için: api/.env → API_PORT=XXXX, ardından PM2 restart.

CORS_ORIGINS
https://search.espicai.com

İzin verilen origin'ler (virgülle ayrılmış). api/.env dosyasındaki CORS_ORIGINS değişkeni. Farklı bir domain üzerinden erişmek istiyorsanız buraya ekleyin.

API Endpoint (tarayıcı)
https://search.espicai.com/api

Frontend'in tarayıcıda kullandığı API adresi. window.location.origin + /api olarak otomatik hesaplanır; manuel ayar gerekmez.

🔐 Kimlik Doğrulama
JWT_SECRET
(gizli)

JWT token imzalama anahtarı. api/.env dosyasında saklanır. Değiştirmek için: rastgele 64 karakter hexadecimal üretin → api/.env → JWT_SECRET=... → PM2 restart. Önemli: değiştirirseniz mevcut oturumlar geçersiz olur.

JWT_EXPIRES_IN
7d

Token geçerlilik süresi. api/.env → JWT_EXPIRES_IN=7d. Formatlar: 30m, 2h, 7d, 30d.

ADMIN_EMAIL / ADMIN_PASSWORD
api/.env dosyasında

Seed betiği için kullanılır. Admin şifresini değiştirmek için: 1) api/.env güncelle 2) cd api && npx ts-node src/scripts/seed-admin.ts 3) Betik şifreyi bcrypt ile hashleyerek DB'ye yazar.

Rate Limiting
5 deneme / 60 sn

Login endpoint'i dakikada 5 başarısız denemeyle sınırlıdır. ThrottlerModule ile yönetilir; değiştirmek için src/app.module.ts → ThrottlerModule.forRoot([{ ttl, limit }]).

🗄️ Veritabanı (PostgreSQL)
DB_HOST / DB_PORT
127.0.0.1 / 5432

PostgreSQL sunucu adresi ve portu. api/.env → DB_HOST, DB_PORT.

DB_NAME
leadfinder

Veritabanı adı. api/.env → DB_NAME.

DB_USER / DB_PASS
leadfinder_user / (gizli)

DB kullanıcısı ve şifresi. api/.env → DB_USER, DB_PASS. Güçlü bir şifre kullanın; değiştirirseniz PostgreSQL tarafında da güncelleyin: ALTER USER leadfinder_user WITH PASSWORD 'yeni_sifre';

synchronize
false (kapalı)

TypeORM otomatik şema güncellemesi devre dışı. Tablo değişiklikleri için manuel SQL migration çalıştırmanız gerekir. Production ortamında synchronize:true kullanmayın.

📨 Redis / Queue
REDIS_HOST / REDIS_PORT
127.0.0.1 / 6382

BullMQ iş kuyruğu için Redis bağlantısı. api/.env → REDIS_HOST, REDIS_PORT. Varsayılan port 6379'dur; sunucunuzda 6382 kullanılıyor.

REDIS_PREFIX
leadfinder

BullMQ queue'larının Redis anahtar ön eki. Birden fazla uygulama aynı Redis kullanıyorsa çakışmayı önler.

Redis Uyarısı
v6.0.16 (önerilen: ≥6.2)

Sunucudaki Redis versiyonu önerilen minimumun altında. BullMQ bazı özellikler için Redis 6.2+ bekler. redis-server paketini güncelleyin: sudo apt upgrade redis-server.

🕷️ Crawl & Discovery
CRAWL_CONCURRENCY
2

Aynı anda kaç web sitesinin taranacağı. api/.env → CRAWL_CONCURRENCY. Artırmak işlemi hızlandırır ama bellek ve CPU kullanımını artırır. Sunucu kapasitesine göre 2–8 arası önerilir.

PLAYWRIGHT_TIMEOUT_MS
20000 ms (20 sn)

Playwright'ın (Chromium) bir sayfayı yüklemesi için bekleme süresi. api/.env → PLAYWRIGHT_TIMEOUT_MS. JavaScript ağır siteler için artırabilirsiniz (30000).

CRAWL_TIMEOUT_MS
20000 ms (20 sn)

Axios HTTP isteği için zaman aşımı. api/.env → CRAWL_TIMEOUT_MS.

Discovery Sağlayıcıları
DuckDuckGo, Bing, Overpass

İşletme keşfi için 3 kaynak kullanılır: (1) DuckDuckGo HTML scraping, (2) Bing HTML scraping, (3) OpenStreetMap Overpass API. Overpass ücretsiz ve kayıt gerektirmez. DuckDuckGo/Bing scraping hız sınırına takılabilir — bu durumda Overpass sonuçları devreye girer.

🚀 Deployment
PM2 Process (API)
leadfinder-api (id: 17)

API'yi yeniden başlatmak için: pm2 restart leadfinder-api. Konfigürasyon değişikliklerinden sonra mutlaka restart yapın.

PM2 Process (Admin)
leadfinder-admin (id: 18)

Next.js admin'i yeniden başlatmak için: pm2 restart leadfinder-admin. Yeni build için önce: cd /www/wwwroot/search.espicai.com/leadfinder/admin && npm run build.

Build (API)
npm run build

Kaynak değişikliği sonrası: cd /www/wwwroot/search.espicai.com/leadfinder/api && npm run build → pm2 restart leadfinder-api.

Nginx Config
/www/server/panel/vhost/nginx/extension/search.espicai.com/leadfinder.conf

Nginx yönlendirme kuralları: /api/* → :3117 (NestJS), / → :3107 (Next.js). Değiştirdikten sonra nginx -s reload çalıştırın.