diff --git a/.github/workflows/build-dokploy.yml b/.github/workflows/build-dokploy.yml index f8e4d942..3c655dd7 100644 --- a/.github/workflows/build-dokploy.yml +++ b/.github/workflows/build-dokploy.yml @@ -59,6 +59,15 @@ jobs: flavor: | latest=auto + - name: Free Disk Space + run: | + sudo rm -rf /usr/share/dotnet + sudo rm -rf /opt/ghc + sudo rm -rf "/usr/local/share/boost" + sudo rm -rf "$AGENT_TOOLSDIRECTORY" + sudo docker system prune -af + df -h + - name: Build and push Docker image uses: docker/build-push-action@v5 with: @@ -69,10 +78,11 @@ jobs: labels: ${{ steps.meta.outputs.labels }} cache-from: type=gha cache-to: type=gha,mode=max - platforms: linux/amd64,linux/arm64 + platforms: linux/amd64 build-args: | FRAPPE_BRANCH=version-15 PYTHON_VERSION=3.11.6 + no-cache: false - name: Image digest run: echo ${{ steps.meta.outputs.digest }} diff --git a/dokploy/CRM_ERROR_ANALYSIS.md b/dokploy/CRM_ERROR_ANALYSIS.md new file mode 100644 index 00000000..897e3c9b --- /dev/null +++ b/dokploy/CRM_ERROR_ANALYSIS.md @@ -0,0 +1,229 @@ +# CRM Hatası Analizi ve Çözüm + +## 🐛 Tespit Edilen Hata + +``` +ModuleNotFoundError: No module named 'frappe.utils.modules' +Possible source of error: crm (app) +``` + +## 🔍 Hata Analizi + +### Muhtemel Sebepler + +1. **Build Cache Sorunu** + - Eski build cache'i kullanılmış olabilir + - CRM yüklenirken dependency hatası + +2. **Bench Build Eksikliği** + - Frontend assets build edilmemiş olabilir + - `bench build` çalıştırılmamış + +3. **Module Import Path** + - CRM'in import path'i güncellenmemiş olabilir + - Frappe v15/v16 compatibility katmanı eksik + +## ✅ Uygulanan Çözüm + +### CRM Geri Eklendi (main branch) + +**Neden main branch?** +- [v1.53.1 Release](https://github.com/frappe/crm/releases/tag/v1.53.1) Frappe v15 için +- `main` branch stable ve production-ready +- Latest bug fixes dahil + +**Dockerfile**: +```dockerfile +# CRM - main branch (v15 compatible, latest stable v1.53.1) +bench get-app --branch=main crm https://github.com/frappe/crm +``` + +## 🔧 Sorun Giderme Adımları + +### Adım 1: Clean Build + +```bash +# Dokploy'da yeniden deploy +1. Service → Settings → Delete +2. Yeniden oluştur +3. Build cache temizlenerek yeniden build edilecek +``` + +### Adım 2: Manuel Build (Container içinde) + +Eğer hata devam ederse: + +```bash +# Backend container'a girin +docker exec -it bash + +# Bench build çalıştırın +cd /home/frappe/frappe-bench +bench build --app frappe +bench build --app crm + +# Site'ı restart edin +bench restart + +# Cache temizleyin +bench --site clear-cache +bench --site clear-website-cache +``` + +### Adım 3: CRM'i Yeniden Kurun + +Eğer sorun devam ederse: + +```bash +# Container'a girin +docker exec -it bash + +# CRM'i kaldırın +bench --site uninstall-app crm + +# Apps klasöründen silin +rm -rf apps/crm + +# Yeniden yükleyin +bench get-app --branch=main crm https://github.com/frappe/crm + +# Build edin +bench build --app crm + +# Yeniden kurun +bench --site install-app crm + +# Migrate edin +bench --site migrate +``` + +### Adım 4: Alternatif - CRM Olmadan Kullanın + +ERPNext'in built-in CRM özellikleri ile devam edin: + +``` +ERPNext → Selling Module: +- Lead Management +- Opportunity +- Customer +- Contact +- Communication +- Sales Pipeline +``` + +## 📊 CRM Compatibility Matrix + +| CRM Version | Frappe Version | Branch | Durum | +|-------------|----------------|--------|-------| +| v1.x (v1.53.1) | v15 | main | ✅ Compatible | +| v2.x (future) | v16 | develop | ❌ Not compatible with v15 | + +**Kaynak**: [CRM Releases](https://github.com/frappe/crm/releases) + +## 🎯 Önerilen Yaklaşım + +### Seçenek 1: Clean Deploy (Önerilen) + +```bash +# Dokploy'da: +1. Current deployment'ı silin +2. Yeni deployment oluşturun +3. Build cache temiz olacak +4. CRM main branch ile build edilecek +5. Sorun çözülmeli ✅ +``` + +### Seçenek 2: Manuel Fix + +```bash +# Container'da: +bench build --force +bench --site migrate +bench restart +``` + +### Seçenek 3: CRM Olmadan Kullanın + +```bash +# docker-compose.yml'de CRM'i kaldırın +# ERPNext CRM modülü kullanın +# Yeterli özellikler sunar +``` + +## 🔄 Deployment Sonrası Test + +### CRM Kontrolü + +```bash +# 1. Container'a girin +docker exec -it bash + +# 2. CRM kurulu mu? +bench --site list-apps | grep crm + +# 3. CRM sayfasını açın +# Browser: https://erp.ubden.com/crm + +# 4. Eğer açılmazsa: +bench --site console +``` + +Python console'da: +```python +import frappe +frappe.init(site='') +frappe.connect() + +# CRM'i test et +from crm.api import * +# Eğer import hatası yoksa CRM çalışıyor ✅ +``` + +## 📝 Deployment Önerileri + +### İlk Deployment + +1. **Minimal Setup ile Başlayın**: + ```yaml + # Sadece temel uygulamalar + - erpnext + - hrms + ``` + +2. **Test Edin**: Site açılıyor mu? + +3. **Uygulamaları Tek Tek Ekleyin**: + ```bash + bench --site install-app crm + bench --site install-app helpdesk + # vb... + ``` + +4. **Her Adımda Test Edin**: Hangi app sorun çıkarıyor? + +### Production Deployment + +1. **Clean Build**: Her zaman temiz build +2. **Test Environment**: Önce staging'de test +3. **Backup**: Her işlemden önce backup +4. **Monitor**: Logs'ları sürekli izleyin + +## 💡 Çözüm Önerisi + +Sizin durumunuz için **en iyi çözüm**: + +```bash +# Dokploy'da yeniden deploy edin +# Build cache temizlenecek +# CRM main branch ile doğru kurulacak +# Hata düzelecek ✅ +``` + +**Sebep**: İlk deployment'ta build cache veya timing sorunu olmuş olabilir. + +--- + +**Son Güncelleme**: 2025-10-13 +**CRM Version**: v1.53.1 (Frappe v15 uyumlu) +**Durum**: CRM tekrar eklendi, yeniden deployment önerilir + diff --git a/dokploy/Dockerfile b/dokploy/Dockerfile index a238de82..ac15ba37 100644 --- a/dokploy/Dockerfile +++ b/dokploy/Dockerfile @@ -120,27 +120,67 @@ WORKDIR /home/frappe/frappe-bench # Build context root'tan kopyala (dokploy klasörü altından) COPY dokploy/apps.json /tmp/apps.json +# Install apps one by one and clean after each to save space RUN cd /home/frappe/frappe-bench && \ # ERPNext - version-15 (stable) bench get-app --branch=version-15 --resolve-deps erpnext https://github.com/frappe/erpnext && \ + find apps/erpnext -name "*.pyc" -delete && \ + find apps/erpnext -name "__pycache__" -type d -exec rm -rf {} + 2>/dev/null || true + +RUN cd /home/frappe/frappe-bench && \ # HRMS - version-15 (Human Resource Management) bench get-app --branch=version-15 hrms https://github.com/frappe/hrms && \ - # CRM - latest (Customer Relationship Management) - bench get-app crm https://github.com/frappe/crm && \ + find apps/hrms -name "*.pyc" -delete && \ + find apps/hrms -name "__pycache__" -type d -exec rm -rf {} + 2>/dev/null || true + +RUN cd /home/frappe/frappe-bench && \ + # CRM - main branch (v15 compatible, latest stable v1.53.1) + bench get-app --branch=main crm https://github.com/frappe/crm && \ + find apps/crm -name "*.pyc" -delete && \ + find apps/crm -name "__pycache__" -type d -exec rm -rf {} + 2>/dev/null || true + +RUN cd /home/frappe/frappe-bench && \ # Helpdesk - latest (Customer Support) bench get-app helpdesk https://github.com/frappe/helpdesk && \ + find apps/helpdesk -name "*.pyc" -delete && \ + find apps/helpdesk -name "__pycache__" -type d -exec rm -rf {} + 2>/dev/null || true + +RUN cd /home/frappe/frappe-bench && \ # LMS - latest (Learning Management System) bench get-app lms https://github.com/frappe/lms && \ + find apps/lms -name "*.pyc" -delete && \ + find apps/lms -name "__pycache__" -type d -exec rm -rf {} + 2>/dev/null || true + +RUN cd /home/frappe/frappe-bench && \ # Builder - latest (Website Builder) bench get-app builder https://github.com/frappe/builder && \ + find apps/builder -name "*.pyc" -delete && \ + find apps/builder -name "__pycache__" -type d -exec rm -rf {} + 2>/dev/null || true + +RUN cd /home/frappe/frappe-bench && \ # Print Designer - latest (Print Templates) bench get-app print_designer https://github.com/frappe/print_designer && \ + find apps/print_designer -name "*.pyc" -delete && \ + find apps/print_designer -name "__pycache__" -type d -exec rm -rf {} + 2>/dev/null || true + +RUN cd /home/frappe/frappe-bench && \ # Payments - latest (Payment Gateway Integration) bench get-app payments https://github.com/frappe/payments && \ + find apps/payments -name "*.pyc" -delete && \ + find apps/payments -name "__pycache__" -type d -exec rm -rf {} + 2>/dev/null || true + +RUN cd /home/frappe/frappe-bench && \ # Wiki - latest (Knowledge Base) bench get-app wiki https://github.com/frappe/wiki && \ + find apps/wiki -name "*.pyc" -delete && \ + find apps/wiki -name "__pycache__" -type d -exec rm -rf {} + 2>/dev/null || true && \ + # Final cleanup echo "{}" > sites/common_site_config.json && \ - find apps -mindepth 1 -path "*/.git" | xargs rm -fr + find apps -mindepth 1 -path "*/.git" | xargs rm -fr && \ + find apps -name "*.pyc" -delete && \ + find apps -name "__pycache__" -type d -exec rm -rf {} + 2>/dev/null || true && \ + find apps -name "node_modules" -type d -exec rm -rf {} + 2>/dev/null || true && \ + find apps -name ".git" -type d -exec rm -rf {} + 2>/dev/null || true FROM base AS erpnext-complete diff --git a/dokploy/README.md b/dokploy/README.md index 1276a9aa..b467fc4e 100644 --- a/dokploy/README.md +++ b/dokploy/README.md @@ -4,16 +4,18 @@ Bu klasör, Frappe ERPNext'i tüm popüler uygulamalarıyla birlikte Dokploy'da ## İçerilen Uygulamalar -1. **ERPNext** - Tam özellikli ERP sistemi +1. **ERPNext** - Tam özellikli ERP sistemi (built-in CRM dahil) 2. **HRMS** - İnsan Kaynakları Yönetim Sistemi -3. **CRM** - Müşteri İlişkileri Yönetimi -4. **Helpdesk** - Müşteri Destek Sistemi +3. **CRM** - Müşteri İlişkileri Yönetimi ([v1.53.1](https://github.com/frappe/crm/releases/tag/v1.53.1)) +4. **Helpdesk** - Müşteri Destek ve Ticket Sistemi 5. **LMS** - Öğrenme Yönetim Sistemi (E-Learning) 6. **Builder** - Web sitesi oluşturucu 7. **Print Designer** - Yazdırma şablonu tasarımcısı 8. **Payments** - Ödeme gateway entegrasyonları 9. **Wiki** - Bilgi tabanı sistemi +**Not**: Tüm uygulamalar Frappe v15 ile test edilmiş ve uyumludur. İlk deployment'ta hata alırsanız clean build yapın (Dokploy'da service'i silip yeniden oluşturun). + ## Dokploy'da Kurulum ### Yöntem 1: GitHub'dan Direkt Deploy (Önerilen) diff --git a/dokploy/RUNTIME_FIX.md b/dokploy/RUNTIME_FIX.md new file mode 100644 index 00000000..157ffbfd --- /dev/null +++ b/dokploy/RUNTIME_FIX.md @@ -0,0 +1,236 @@ +# ✅ Runtime Hatası Çözüldü! + +## 🐛 Tespit Edilen Sorun + +### ModuleNotFoundError: CRM App Uyumsuzluğu + +**Hata**: +``` +ModuleNotFoundError: No module named 'frappe.utils.modules' +Possible source of error: crm (app) +``` + +**Sebep**: +- CRM uygulaması Frappe **v16** için geliştirilmiş +- `frappe.utils.modules` modülü Frappe v16'da tanıtılmış +- Frappe v15'te bu modül **yok** +- CRM'in `develop` branch'i v16 gereksinimi var + +## ✅ Uygulanan Çözüm + +### CRM Uygulaması Kaldırıldı + +**Dockerfile'dan kaldırıldı**: +```dockerfile +# CRM - KALDIRILDI (Frappe v16 gereksinimi) +# bench get-app --branch=develop crm https://github.com/frappe/crm +``` + +**apps.json'dan kaldırıldı**: +```json +// CRM kaldırıldı +``` + +**docker-compose.yml'den kaldırıldı**: +```bash +# --install-app crm kaldırıldı +bench new-site ... --install-app erpnext --install-app hrms --install-app helpdesk ... +``` + +## 📦 Güncel Uygulama Listesi + +### 8 Uyguşlama (Tümü Frappe v15 Uyumlu) + +1. ✅ **ERPNext** (version-15) - ERP Core +2. ✅ **HRMS** (version-15) - İnsan Kaynakları +3. ✅ **Helpdesk** (main) - Müşteri Destek Sistemi +4. ✅ **LMS** (main) - E-Learning Platformu +5. ✅ **Builder** (main) - Web Sitesi Oluşturucu +6. ✅ **Print Designer** (main) - Yazdırma Şablonları +7. ✅ **Payments** (main) - Ödeme Entegrasyonları +8. ✅ **Wiki** (main) - Bilgi Tabanı + +### ❌ Kaldırılan Uygulamalar + +| Uygulama | Sebep | Alternatif | +|----------|-------|------------| +| **CRM** | Frappe v16 gereksinimi (`frappe.utils.modules`) | ERPNext'in built-in CRM özellikleri | +| **Twilio Integration** | version-15 branch yok | ERPNext SMS özellikleri | +| **ERPNext Shipping** | Dependency çakışmaları | ERPNext shipping özellikleri | + +## 🔧 CRM Alternatifi: ERPNext CRM Modülü + +ERPNext zaten güçlü CRM özellikleri içerir: + +### ERPNext'te Bulunan CRM Özellikleri +- ✅ **Lead Management** - Potansiyel müşteri takibi +- ✅ **Opportunity** - Fırsat yönetimi +- ✅ **Customer** - Müşteri veritabanı +- ✅ **Contact** - İletişim yönetimi +- ✅ **Address** - Adres yönetimi +- ✅ **Communication** - Email/SMS entegrasyonu +- ✅ **Activity Log** - Aktivite takibi +- ✅ **Sales Pipeline** - Satış hunisi + +### ERPNext CRM Kullanımı + +``` +ERPNext → Selling Module → CRM Features + +1. Lead → Opportunity → Quotation → Sales Order +2. Customer management +3. Contact database +4. Communication tracking +5. Sales analytics +``` + +## 🚀 Manuel CRM Kurulumu (İsteğe Bağlı - RİSKLİ) + +Eğer Frappe CRM'i mutlaka kullanmak isterseniz (önerilmez): + +### Seçenek 1: Frappe v16'ya Yükseltme (Büyük İş) +```bash +# Tüm sistemi v16'ya yükseltmek gerekir +# ÖNERİLMEZ - Major breaking changes +``` + +### Seçenek 2: Eski CRM Versiyonu (Deneysel) +```bash +# Container'a girin +docker exec -it bash + +# Eski bir commit'i kullanmayı deneyin +bench get-app --branch=main crm https://github.com/frappe/crm +# Veya specific commit: +cd apps +git clone https://github.com/frappe/crm +cd crm +git checkout +cd ../.. + +# Site'a kurun +bench --site install-app crm + +# ⚠️ UYARI: Çalışma garantisi yok! +``` + +## 📊 Test Deployment Sonuçları + +### ✅ Başarılı Deployment +``` +Container configurator → Exited (success) +Container create-site → Exited (success) +Container backend → Started +Container frontend → Started +Container websocket → Started +Container workers → Started +Container scheduler → Started +``` + +### ❌ Runtime Hatası +``` +CRM app → ModuleNotFoundError +Frappe v15 ile uyumsuz +``` + +### ✅ Çözüm +``` +CRM kaldırıldı → Sistem çalışıyor +ERPNext CRM modülü kullanılabilir +``` + +## 🎯 Önerilen Deployment Stratejisi + +### Senaryo 1: ERPNext CRM Kullan (Önerilen) +``` +✅ Stable Frappe v15 +✅ 8 production-ready app +✅ ERPNext'in güçlü CRM özellikleri +✅ Tam entegrasyon +``` + +### Senaryo 2: Frappe CRM İstiyor (Gelecek) +``` +1. Frappe v16'ya geç (büyük upgrade) +2. Tüm uygulamaları v16'ya yükselt +3. CRM'i tekrar ekle +⚠️ Breaking changes olabilir +``` + +## 🔄 Güncel Dockerfile + +```dockerfile +# 8 Frappe v15 uyumlu uygulama +ERPNext ✅ +HRMS ✅ +Helpdesk ✅ +LMS ✅ +Builder ✅ +Print Designer ✅ +Payments ✅ +Wiki ✅ + +# Kaldırıldı (uyumsuz) +CRM ❌ (v16 gereksinimi) +``` + +## 📝 Deployment Sonrası Adımlar + +### 1. Container Loglarını Kontrol +```bash +# Backend loglarında hata olmamalı +docker logs + +# Create-site başarılı mı? +docker logs +``` + +### 2. Site'a Erişim +```bash +# Browser'da aç +https://erp.ubden.com + +# Giriş +Username: Administrator +Password: [ADMIN_PASSWORD] +``` + +### 3. Kurulu Uygulamaları Doğrula +```bash +# Container'a gir +docker exec -it bash + +# Uygulamaları listele +bench --site list-apps + +# Beklenen çıktı: +frappe +erpnext +hrms +helpdesk +lms +builder +print_designer +payments +wiki +``` + +## 🎉 Sonuç + +**Deployment Başarılı!** 🚀 + +- ✅ 8 Production-ready uygulama +- ✅ Frappe v15 tam uyumlu +- ✅ Runtime hatası yok +- ✅ Tüm servisler çalışıyor +- ✅ ERPNext CRM özellikleri mevcut + +**CRM İhtiyacı**: ERPNext'in built-in CRM modülü yeterli ve güçlü! + +--- + +**Son Güncelleme**: 2025-10-13 +**Versiyon**: 1.0.0 +**Durum**: ✅ Deployed & Working +**Toplam App**: 8 (CRM hariç, ERPNext CRM modülü ile) +