first commit
This commit is contained in:
107
DOKPLOY_TROUBLESHOOTING.md
Normal file
107
DOKPLOY_TROUBLESHOOTING.md
Normal file
@@ -0,0 +1,107 @@
|
||||
# Dokploy Troubleshooting Guide
|
||||
|
||||
## PostgreSQL Bağlantı Sorunları
|
||||
|
||||
### Hata: `ECONNREFUSED` veya `Failed query`
|
||||
|
||||
Bu hata, uygulamanın PostgreSQL sunucusuna bağlanamadığını gösterir.
|
||||
|
||||
### Kontrol Listesi
|
||||
|
||||
1. **DATABASE_URL Environment Variable Kontrolü**
|
||||
|
||||
Dokploy'da environment variables bölümünde `DATABASE_URL` değerini kontrol edin:
|
||||
|
||||
```bash
|
||||
# Doğru format:
|
||||
DATABASE_URL=postgresql://user:password@host:port/database?search_path=public
|
||||
|
||||
# Örnek:
|
||||
DATABASE_URL=postgresql://cloud:gg7678290@10.80.80.70:5432/image_api?search_path=public
|
||||
```
|
||||
|
||||
2. **Network Erişimi**
|
||||
|
||||
- Dokploy container'ından PostgreSQL sunucusuna erişilebilir olmalı
|
||||
- Eğer PostgreSQL farklı bir network'teyse, network yapılandırmasını kontrol edin
|
||||
- Firewall kurallarını kontrol edin (port 5432 açık olmalı)
|
||||
|
||||
3. **IP Adresi ve Port**
|
||||
|
||||
- Hata mesajında görünen IP/port ile DATABASE_URL'deki IP/port eşleşmeli
|
||||
- Eğer farklıysa, Dokploy'da environment variable'ı güncelleyin
|
||||
|
||||
4. **Connection String Formatı**
|
||||
|
||||
```bash
|
||||
# ✅ Doğru
|
||||
postgresql://user:password@10.80.80.70:5432/dbname
|
||||
|
||||
# ❌ Yanlış
|
||||
postgres://user:password@10.80.80.70:5432/dbname # postgres yerine postgresql kullanın
|
||||
postgresql://user:password@10.80.80.70/dbname # Port eksik
|
||||
```
|
||||
|
||||
5. **Schema Belirtme**
|
||||
|
||||
Eğer `public` dışında bir schema kullanıyorsanız:
|
||||
```bash
|
||||
DATABASE_URL=postgresql://user:password@host:port/dbname?search_path=your_schema
|
||||
```
|
||||
|
||||
### Dokploy'da Environment Variables Ayarlama
|
||||
|
||||
1. Dokploy dashboard'a giriş yapın
|
||||
2. Projenizi seçin
|
||||
3. "Environment Variables" bölümüne gidin
|
||||
4. `DATABASE_URL` değerini kontrol edin/güncelleyin
|
||||
5. Değişikliklerden sonra container'ı yeniden başlatın
|
||||
|
||||
### Test Komutları
|
||||
|
||||
Container içinden bağlantıyı test etmek için:
|
||||
|
||||
```bash
|
||||
# Container'a bağlan
|
||||
docker exec -it image-api-app sh
|
||||
|
||||
# PostgreSQL bağlantısını test et
|
||||
psql $DATABASE_URL -c "SELECT version();"
|
||||
```
|
||||
|
||||
### Yaygın Hatalar ve Çözümleri
|
||||
|
||||
**Hata:** `ECONNREFUSED 10.0.1.215:5455`
|
||||
- **Sebep:** DATABASE_URL yanlış IP/port içeriyor
|
||||
- **Çözüm:** Dokploy'da DATABASE_URL'i doğru IP ve port ile güncelleyin
|
||||
|
||||
**Hata:** `timeout expired`
|
||||
- **Sebep:** Network erişim sorunu veya firewall
|
||||
- **Çözüm:** Network yapılandırmasını ve firewall kurallarını kontrol edin
|
||||
|
||||
**Hata:** `password authentication failed`
|
||||
- **Sebep:** Yanlış kullanıcı adı/şifre
|
||||
- **Çözüm:** DATABASE_URL'deki credentials'ları kontrol edin
|
||||
|
||||
### Örnek Doğru DATABASE_URL
|
||||
|
||||
```bash
|
||||
# Local PostgreSQL
|
||||
DATABASE_URL=postgresql://postgres:password@localhost:5432/image_api?search_path=public
|
||||
|
||||
# Remote PostgreSQL
|
||||
DATABASE_URL=postgresql://cloud:gg7678290@10.80.80.70:5432/image_api?search_path=public
|
||||
|
||||
# SSL ile
|
||||
DATABASE_URL=postgresql://user:pass@host:5432/dbname?sslmode=require
|
||||
```
|
||||
|
||||
### Debug Modu
|
||||
|
||||
Daha detaylı hata mesajları için:
|
||||
|
||||
```bash
|
||||
# db.ts dosyasında pool.on('error') event handler'ı logları gösterir
|
||||
# Container loglarını kontrol edin:
|
||||
docker logs image-api-app
|
||||
```
|
||||
Reference in New Issue
Block a user