diff --git a/.github/workflows/build-dokploy.yml b/.github/workflows/build-dokploy.yml index 4bfa0cd7..eff0bddb 100644 --- a/.github/workflows/build-dokploy.yml +++ b/.github/workflows/build-dokploy.yml @@ -84,7 +84,7 @@ jobs: PYTHON_VERSION=3.11.6 NODE_VERSION=20.19.2 no-cache: false - # Minimal setup: 5 apps (ERPNext, HRMS, CRM, Helpdesk, Payments) + # Essential apps: ERPNext, CRM, Helpdesk, Payments - name: Image digest run: echo ${{ steps.meta.outputs.digest }} @@ -133,7 +133,7 @@ jobs: - name: Test installed apps run: | - echo "Verifying 5 core apps are installed..." + echo "Verifying 4 essential apps are installed..." docker-compose -f dokploy/docker-compose.yml exec -T backend bash -c " bench --site test.localhost list-apps | grep -q 'erpnext' || exit 1 bench --site test.localhost list-apps | grep -q 'crm' || exit 1 diff --git a/DOKPLOY_SETUP_COMPLETE.md b/DOKPLOY_SETUP_COMPLETE.md deleted file mode 100644 index 389e10b1..00000000 --- a/DOKPLOY_SETUP_COMPLETE.md +++ /dev/null @@ -1,425 +0,0 @@ -# 🎉 Dokploy Setup Tamamlandı! - -## ✅ Tamamlanan İşlemler - -### 1. Dockerfile ve Build Sistemi -- ✅ Özel Dockerfile oluşturuldu (`dokploy/Dockerfile`) -- ✅ Multi-stage build yapısı -- ✅ Tüm 9 uygulama entegre edildi: - - ERPNext (version-15) - - CRM (main) - - LMS (main) - - Builder (main) - - Print Designer (main) - - Payments (develop) - - Wiki (main) - - Twilio Integration (master) - - ERPNext Shipping (main) -- ✅ Health check'ler eklendi -- ✅ Production-ready optimizasyonlar - -### 2. Docker Compose Konfigürasyonları -- ✅ Development/test için `docker-compose.yml` -- ✅ Production için `docker-compose.prod.yml` -- ✅ Tüm servisler tanımlandı: - - MariaDB (10.6) - - Redis Cache - - Redis Queue - - Frontend (Nginx) - - Backend (Gunicorn) - - WebSocket (Node.js) - - Queue Workers (short, long) - - Scheduler - - Configurator - - Create-site -- ✅ Volume management -- ✅ Network isolation -- ✅ Resource limits (production) -- ✅ Auto-restart policies - -### 3. Konfigürasyon Dosyaları -- ✅ `apps.json` - Uygulama listesi -- ✅ `.env` - Environment variables (örnek) -- ✅ `dokploy.json` - Dokploy metadata -- ✅ `.dockerignore` - Build optimizasyonu -- ✅ `.gitignore` - Git güvenliği - -### 4. Otomasyon -- ✅ `install.sh` - Otomatik kurulum scripti -- ✅ GitHub Actions workflow (`build-dokploy.yml`) - - Otomatik image build - - Multi-platform support (amd64, arm64) - - GitHub Container Registry push - - PR test deployment - -### 5. Dokümantasyon (Kapsamlı!) -- ✅ `README.md` - Ana dokümantasyon -- ✅ `QUICKSTART.md` - 5 dakikada deploy -- ✅ `DEPLOYMENT.md` - Detaylı kılavuz (30+ sayfa) -- ✅ `SUMMARY.md` - Teknik özet -- ✅ `CHANGELOG.md` - Versiyon notları -- ✅ `CHECKLIST.md` - Deployment kontrol listesi -- ✅ `FILES.md` - Dosya yapısı açıklamaları -- ✅ Ana `README.md` güncellendi (Dokploy bölümü eklendi) - -## 📦 Oluşturulan Dosya Yapısı - -``` -frappe_docker/ -├── dokploy/ -│ ├── apps.json # Uygulama listesi -│ ├── Dockerfile # Özel image tanımı -│ ├── docker-compose.yml # Dev/test deployment -│ ├── docker-compose.prod.yml # Production deployment -│ ├── .env # Environment variables -│ ├── dokploy.json # Dokploy metadata -│ ├── install.sh # Kurulum scripti -│ ├── .dockerignore # Build ignore -│ ├── .gitignore # Git ignore -│ ├── README.md # Ana dokümantasyon -│ ├── QUICKSTART.md # Hızlı başlangıç -│ ├── DEPLOYMENT.md # Detaylı kılavuz -│ ├── SUMMARY.md # Paket özeti -│ ├── CHANGELOG.md # Versiyon geçmişi -│ ├── CHECKLIST.md # Kontrol listesi -│ └── FILES.md # Dosya açıklamaları -├── .github/ -│ └── workflows/ -│ └── build-dokploy.yml # CI/CD pipeline -├── README.md # (Güncellendi - Dokploy bölümü eklendi) -└── DOKPLOY_SETUP_COMPLETE.md # Bu dosya -``` - -## 🚀 Nasıl Kullanılır? - -### Yöntem 1: Dokploy UI (Önerilen) - -1. **Dokploy Dashboard'a giriş yapın** - -2. **Yeni Proje Oluşturun** - - Projects → Create Project - - İsim: `frappe-erpnext` - -3. **Service Ekleyin** - - Add Service → Docker Compose - - Repository: `https://github.com/ubden/frappe_docker` - - Branch: `main` - - Compose Path: `dokploy/docker-compose.yml` - -4. **Environment Variables** - ```env - SITE_NAME=erp.yourdomain.com - ADMIN_PASSWORD=your_secure_password - DB_PASSWORD=your_db_password - ``` - -5. **Deploy!** - - Deploy butonuna tıklayın - - 10-15 dakika bekleyin - - Site hazır! - -### Yöntem 2: Manuel Deployment - -```bash -# Repository'yi klonlayın -git clone https://github.com/ubden/frappe_docker.git -cd frappe_docker/dokploy - -# .env dosyasını düzenleyin -nano .env - -# Kurulum scriptini çalıştırın -chmod +x install.sh -./install.sh -``` - -### Yöntem 3: GitHub Actions ile CI/CD - -- Her push'da otomatik image build -- Tag push'da release oluşturma -- Pull request'lerde test deployment - -## 📚 Dokümantasyon Kılavuzu - -### Kullanıcı Tipi ve Önerilen Okuma - -| Kullanıcı Tipi | Başlangıç | Detay | Referans | -|----------------|-----------|-------|----------| -| **Yeni Kullanıcı** | QUICKSTART.md | DEPLOYMENT.md | README.md | -| **DevOps/Admin** | SUMMARY.md | DEPLOYMENT.md | CHECKLIST.md | -| **Developer** | FILES.md | Dockerfile | docker-compose.yml | -| **Karar Verici** | SUMMARY.md | README.md | - | - -### Okuma Sırası (Yeni Başlayanlar) - -1. 📖 `README.md` - Genel bakış ve nedir? -2. ⚡ `QUICKSTART.md` - 5 dakikada deploy -3. 📝 `DEPLOYMENT.md` - Detaylı adımlar (gerekirse) -4. ✅ `CHECKLIST.md` - Deploy öncesi kontrol - -### Okuma Sırası (Teknik Ekip) - -1. 📊 `SUMMARY.md` - Teknik özet ve mimari -2. 📖 `DEPLOYMENT.md` - Full kılavuz -3. 📋 `CHECKLIST.md` - Kontrol listesi -4. 📄 `FILES.md` - Dosya yapısı -5. 📝 `CHANGELOG.md` - Versiyon notları - -## 🎯 Özellikler ve Avantajlar - -### ✨ One-Click Deployment -- Tek bir komutla tüm sistem deploy edilir -- Tüm uygulamalar önceden yüklü -- Otomatik site oluşturma -- Hazır production konfigürasyonu - -### 🔒 Güvenlik -- Non-root container execution -- Secret-based password management -- HTTPS/SSL ready (Let's Encrypt) -- Security best practices -- 2FA support - -### 📊 Monitoring & Health -- Container health checks -- Service dependencies -- Graceful shutdown -- Auto-restart policies -- Log aggregation ready - -### 🚀 Performance -- Optimized MariaDB settings - - InnoDB buffer pool: 2-4GB - - Max connections: 500-1000 -- Gunicorn multi-worker/thread - - 2-4 workers - - 4-8 threads per worker -- Redis memory management - - Cache: LRU eviction - - Queue: No eviction -- Nginx optimizations - - Large file upload support - - Extended timeouts - -### 💾 Data Persistence -- Named volumes -- Automatic backup ready -- Easy restore -- Data migration friendly - -### 📈 Scalability -- Horizontal worker scaling -- Database replication ready -- Redis cluster ready -- Load balancer friendly - -## 🔧 Sistem Gereksinimleri - -### Minimum (Test/Development) -``` -CPU: 2 cores -RAM: 4GB -Disk: 20GB -``` - -### Önerilen (Production) -``` -CPU: 4+ cores -RAM: 8GB+ -Disk: 50GB+ SSD -``` - -### Optimal (Enterprise) -``` -CPU: 8+ cores -RAM: 16GB+ -Disk: 100GB+ NVMe SSD -Network: 1Gbps+ -``` - -## 📋 Deployment Checklist - -### Hazırlık -- [ ] Dokploy kurulu ve erişilebilir -- [ ] Domain adı hazır (isteğe bağlı) -- [ ] SSL sertifikası planlandı -- [ ] Güçlü şifreler belirlendi -- [ ] Backup stratejisi planlandı - -### Deployment -- [ ] Repository forked/cloned -- [ ] Environment variables ayarlandı -- [ ] Docker image built/pulled -- [ ] Containers başlatıldı -- [ ] Site oluşturuldu - -### Verification -- [ ] Tüm container'lar healthy -- [ ] Site browser'da açılıyor -- [ ] Admin login çalışıyor -- [ ] Tüm uygulamalar yüklü -- [ ] WebSocket çalışıyor -- [ ] Workers çalışıyor - -### Post-Deployment -- [ ] Setup Wizard tamamlandı -- [ ] Email ayarları yapıldı -- [ ] Kullanıcılar oluşturuldu -- [ ] Backup test edildi -- [ ] Monitoring kuruldu - -## 🐛 Sorun Giderme - -### Yaygın Sorunlar ve Çözümler - -**Site açılmıyor** -```bash -# Container'ları kontrol et -docker-compose ps - -# Logları incele -docker-compose logs backend -``` - -**"Site not found" hatası** -```bash -# Site oluşturma servisini kontrol et -docker-compose logs create-site - -# Gerekirse yeniden çalıştır -docker-compose up create-site -``` - -**Yavaş çalışıyor** -- MariaDB buffer pool'u artırın -- Worker sayısını artırın -- Server kaynaklarını kontrol edin - -Detaylı sorun giderme: `DEPLOYMENT.md` dosyasına bakın - -## 📞 Destek ve Kaynaklar - -### Dokümantasyon -- 📖 Tüm dokümantasyon: `dokploy/` klasörü -- 🌐 Frappe Docs: https://frappeframework.com/docs -- 📘 ERPNext Docs: https://docs.erpnext.com -- 🐳 Docker Docs: https://docs.docker.com - -### Community -- 💬 Frappe Forum: https://discuss.frappe.io -- 💭 GitHub Discussions: https://github.com/ubden/frappe_docker/discussions -- 🐛 Issues: https://github.com/ubden/frappe_docker/issues - -### Commercial -- ☁️ Frappe Cloud: https://frappecloud.com -- 🏢 Enterprise Support: https://frappe.io/support - -## 🎉 Sonraki Adımlar - -1. **İlk Deployment** - - `QUICKSTART.md` dosyasını takip edin - - 5 dakikada deploy edin - - İlk giriş yapın - -2. **Konfigürasyon** - - Setup Wizard'ı tamamlayın - - Email ayarlarını yapın - - Kullanıcıları ekleyin - -3. **Özelleştirme** - - Şirket bilgilerini güncelleyin - - Logo ekleyin - - Tema ayarlarını yapın - -4. **Production'a Hazırlık** - - `CHECKLIST.md` dosyasını kullanın - - Backup stratejisi oluşturun - - Monitoring kurun - - SSL/HTTPS aktif edin - -5. **Bakım** - - Düzenli backup alın - - Güncellemeleri takip edin - - Log'ları izleyin - - Performance'ı optimize edin - -## 🙏 Teşekkürler - -Bu proje aşağıdaki harika açık kaynak projeler sayesinde mümkün oldu: - -- **Frappe Framework** - Güçlü web framework -- **ERPNext** - Açık kaynak ERP -- **Docker** - Container teknolojisi -- **Dokploy** - Deployment platformu -- **Frappe Docker** - Orijinal container setup - -## 📄 Lisans - -Bu proje ve bileşenleri çeşitli açık kaynak lisansları altındadır: -- Frappe Framework: MIT License -- ERPNext: GNU GPLv3 -- Diğer uygulamalar: İlgili repository lisansları - -## 🔄 Güncelleme ve Bakım - -### Versiyon Bilgisi -- **Current Version**: 1.0.0 -- **Release Date**: 2025-10-13 -- **Frappe**: version-15 -- **ERPNext**: version-15 - -### Güncellemeler -Güncellemeler için: -1. `CHANGELOG.md` dosyasını kontrol edin -2. GitHub releases sayfasını takip edin -3. Breaking changes için migration guide'a bakın - -## ✅ Tamamlanma Durumu - -| Kategori | Durum | Notlar | -|----------|-------|--------| -| Dockerfile | ✅ Tamamlandı | Multi-stage, optimized | -| Docker Compose | ✅ Tamamlandı | Dev + Prod versions | -| Apps Integration | ✅ Tamamlandı | 9 app pre-installed | -| Documentation | ✅ Tamamlandı | 7 kapsamlı dosya | -| CI/CD | ✅ Tamamlandı | GitHub Actions | -| Automation | ✅ Tamamlandı | install.sh | -| Testing | ⏳ Planlı | v1.1.0'da | -| Monitoring | ⏳ Planlı | v1.1.0'da | - -## 🎯 Başarı Kriterleri - -- ✅ Tek komutla deployment -- ✅ Tüm uygulamalar çalışır durumda -- ✅ Production-ready konfigürasyon -- ✅ Kapsamlı dokümantasyon -- ✅ Güvenlik best practices -- ✅ Performance optimization -- ✅ Easy maintenance -- ✅ Community support - ---- - -## 🚀 Hemen Başlayın! - -```bash -# 1. Repository'yi klonlayın -git clone https://github.com/ubden/frappe_docker.git -cd frappe_docker/dokploy - -# 2. Hızlı başlangıç kılavuzunu açın -cat QUICKSTART.md - -# 3. Deploy edin! -# Dokploy UI'da veya manuel olarak -``` - ---- - -**Son Güncelleme**: 2025-10-13 -**Versiyon**: 1.0.0 -**Durum**: ✅ Production Ready -**Maintainer**: [@ubden](https://github.com/ubden) - -**🎉 Happy Deploying! 🚀** - diff --git a/MODULAR_STRUCTURE_COMPLETE.md b/MODULAR_STRUCTURE_COMPLETE.md deleted file mode 100644 index 6615e22b..00000000 --- a/MODULAR_STRUCTURE_COMPLETE.md +++ /dev/null @@ -1,458 +0,0 @@ -# ✅ Modüler Yapı Kurulumu Tamamlandı! - -## 🎉 Özet - -Frappe ERPNext Dokploy deployment yapısı **tamamen modüler** hale getirildi. Environment variable yönetimi `.env.example` template dosyası üzerinden yapılandırıldı. - -## 📦 Yeni Eklenen Dosyalar - -### 1. `.env.example` (Yenilendi - 400+ satır) -**Amaç**: Tüm environment variables için kapsamlı template - -**İçerik**: -- ✅ **50+ Environment Variable** -- ✅ Detaylı açıklamalar (her değişken için) -- ✅ Varsayılan değerler -- ✅ Örnek konfigürasyonlar (Dev, Staging, Prod) -- ✅ Production checklist -- ✅ Best practices notları -- ✅ Güvenlik uyarıları - -**Kategoriler**: -- Zorunlu Ayarlar -- Network ve Port -- Frappe Framework -- Nginx Ayarları -- Docker Image -- Database (MariaDB) -- Redis -- İsteğe Bağlı -- Gelişmiş Ayarlar -- External Services -- Backup (gelecek) -- Monitoring (gelecek) - -### 2. `ENV_VARIABLES.md` (400+ satır) -**Amaç**: Her environment variable için detaylı dokümantasyon - -**İçerik**: -- Variable açıklamaları -- Varsayılan değerler -- Kullanım örnekleri -- Best practices -- Troubleshooting -- Örnek konfigürasyonlar - -**Kategoriler**: 11 ana kategori, 50+ değişken - -### 3. `MODULAR_SETUP.md` (600+ satır) -**Amaç**: Modüler yapı kullanım kılavuzu - -**İçerik**: -- Modüler yapının avantajları -- Dosya yapısı ve akış -- Kurulum adımları -- Güvenlik best practices -- Environment separation -- Team collaboration -- CI/CD integration -- Troubleshooting - -### 4. `INDEX.md` (200+ satır) -**Amaç**: Tüm dosyalar için hızlı erişim indeksi - -**İçerik**: -- Dosya kategorileri -- Hedef kitle bazlı okuma önerileri -- Hızlı arama -- İlişki diyagramları -- Dosya boyutları - -## 🔄 Güncellenen Dosyalar - -### 1. `docker-compose.yml` -**Değişiklikler**: -```yaml -# Önceki (hardcoded): -image: mariadb:10.6 - -# Yeni (modüler): -image: mariadb:${MARIADB_VERSION:-10.6} -``` - -**Modüler Hale Getirilen Değişkenler**: -- ✅ `FRAPPE_BRANCH` - Dockerfile build args -- ✅ `PYTHON_VERSION` - Dockerfile build args -- ✅ `NODE_VERSION` - Dockerfile build args -- ✅ `MARIADB_VERSION` - MariaDB image version -- ✅ `REDIS_VERSION` - Redis image version -- ✅ `RESTART_POLICY` - Tüm servisler için -- ✅ `DB_HOST`, `DB_PORT` - Database connection -- ✅ `REDIS_CACHE`, `REDIS_QUEUE` - Redis connections -- ✅ `SOCKETIO_PORT` - Socket.IO port - -**Fallback Mekanizması**: -```yaml -${VARIABLE_NAME:-default_value} -``` -- Variable tanımlıysa kullan -- Tanımlı değilse default değer kullan -- Geriye dönük uyumlu - -### 2. `dokploy/README.md` -**Güncellemeler**: -- ✅ `.env.example` referansları eklendi -- ✅ Environment variables bölümü yenilendi -- ✅ Modüler setup referansı -- ✅ Örnek konfigürasyonlar - -## 📊 Modüler Yapının Avantajları - -### 1. Esneklik -```bash -# Development -SITE_NAME=dev.localhost -PULL_POLICY=build -DEVELOPER_MODE=1 - -# Production -SITE_NAME=erp.yourdomain.com -PULL_POLICY=always -DEVELOPER_MODE=0 -``` - -### 2. Güvenlik -```bash -# .env.example → Git'te (template) -ADMIN_PASSWORD=admin - -# .env → Git'te DEĞİL (gerçek şifreler) -ADMIN_PASSWORD=Prod@Secure789! -``` - -### 3. Team Collaboration -```bash -# Her developer kendi .env'ini oluşturur -cp .env.example .env.dev -nano .env.dev - -# Template herkes için aynı -git add .env.example -``` - -### 4. Environment Separation -``` -.env.dev → Development -.env.staging → Staging -.env.prod → Production -``` - -### 5. Dokümantasyon -- Her değişken açıklamalı -- Örneklerle birlikte -- Best practices notları - -### 6. Versiyonlama -```bash -# Specific versions -MARIADB_VERSION=10.6 -REDIS_VERSION=7 -CUSTOM_TAG=v1.0.0 - -# Latest -MARIADB_VERSION=10.11 -REDIS_VERSION=7 -CUSTOM_TAG=latest -``` - -## 🎯 Kullanım Senaryoları - -### Senaryo 1: Local Development -```bash -cp .env.example .env -nano .env - -# Değiştir: -SITE_NAME=dev.localhost -HTTP_PORT=8080 -PULL_POLICY=build -DEVELOPER_MODE=1 - -docker-compose up -d -``` - -### Senaryo 2: Dokploy Production -``` -1. Dokploy UI'da yeni service -2. .env.example'dan kopyala -3. Production değerler gir: - - SITE_NAME=erp.yourdomain.com - - ADMIN_PASSWORD=[güçlü şifre] - - DB_PASSWORD=[güçlü şifre] -4. Deploy! -``` - -### Senaryo 3: Multi-Environment -```bash -# Development -docker-compose --env-file .env.dev up -d - -# Staging -docker-compose --env-file .env.staging up -d - -# Production -docker-compose --env-file .env.prod -f docker-compose.prod.yml up -d -``` - -### Senaryo 4: Team Setup -```bash -# Team lead -git add .env.example -git commit -m "Update environment template" -git push - -# Team members -git pull -cp .env.example .env -# Her developer kendi ayarlarını yapar -``` - -## 📚 Dokümantasyon Yapısı - -``` -INDEX.md (Hızlı erişim indeksi) - │ - ├─ README.md (Ana giriş) - │ ├─ QUICKSTART.md (5 dakika) - │ ├─ DEPLOYMENT.md (Detaylı) - │ └─ CHECKLIST.md (Kontroller) - │ - ├─ .env.example (Template) - │ └─ ENV_VARIABLES.md (Detaylı açıklamalar) - │ └─ MODULAR_SETUP.md (Modüler yapı kılavuzu) - │ - ├─ SUMMARY.md (Teknik özet) - ├─ FILES.md (Dosya yapısı) - └─ CHANGELOG.md (Versiyonlar) -``` - -## 🔐 Güvenlik İyileştirmeleri - -### 1. .env Yönetimi -```bash -# .gitignore'da -.env -.env.* -!.env.example - -# Asla commit edilmez -``` - -### 2. Şifre Güvenliği -```bash -# .env.example (template) -ADMIN_PASSWORD=admin # Zayıf, sadece örnek - -# .env (gerçek) -ADMIN_PASSWORD=MySecure@Pass123! # Güçlü -``` - -### 3. Environment Separation -``` -Development → Weak passwords OK -Staging → Medium security -Production → Strong passwords + SSL -``` - -### 4. Secret Management -```bash -# Password manager ile -1Password/LastPass → .env generate -Docker Secrets → Production -``` - -## 🚀 Deployment Akışı - -### Development -``` -.env.example - ↓ cp -.env (development ayarları) - ↓ -docker-compose up -d - ↓ -Local test (localhost:8080) -``` - -### Production (Dokploy) -``` -.env.example - ↓ manuel kopyala -Dokploy UI (environment variables) - ↓ production ayarları -Deploy - ↓ -Production site (HTTPS) -``` - -### CI/CD -``` -.env.example - ↓ template -GitHub Secrets - ↓ inject -GitHub Actions - ↓ automated deploy -Production -``` - -## 📈 Performans ve Optimizasyon - -### Variable-Based Tuning -```env -# Development -MARIADB_VERSION=10.6 -PROXY_READ_TIMEOUT=120 -CLIENT_MAX_BODY_SIZE=50m - -# Production -MARIADB_VERSION=10.11 -PROXY_READ_TIMEOUT=300 -CLIENT_MAX_BODY_SIZE=100m - -# High-Performance -MARIADB_VERSION=10.11 -PROXY_READ_TIMEOUT=600 -CLIENT_MAX_BODY_SIZE=500m -``` - -## 🐛 Troubleshooting - -### Variable Tanınmıyor -```bash -# Kontrol -docker-compose config | grep SITE_NAME - -# .env dosyası var mı? -ls -la .env -``` - -### Değişiklikler Uygulanmıyor -```bash -# Yeniden başlat -docker-compose down -docker-compose up -d - -# Rebuild -docker-compose build --no-cache -docker-compose up -d -``` - -## 📏 İstatistikler - -### Toplam Dosya Sayısı: 20 -- Konfigürasyon: 8 -- Dokümantasyon: 11 -- Otomasyon: 1 - -### Toplam Satır Sayısı: ~3000+ -- .env.example: 400+ -- ENV_VARIABLES.md: 400+ -- MODULAR_SETUP.md: 600+ -- Diğerleri: 1600+ - -### Environment Variables: 50+ -- Zorunlu: 3 -- Network: 5 -- Frappe: 4 -- Nginx: 2 -- Docker: 4 -- Database: 3 -- Redis: 3 -- İsteğe bağlı: 10+ -- Gelişmiş: 10+ -- External: 10+ - -## ✅ Tamamlanan Özellikler - -- ✅ Kapsamlı .env.example template -- ✅ 50+ environment variable desteği -- ✅ Detaylı dokümantasyon -- ✅ Modüler docker-compose.yml -- ✅ Fallback mekanizması -- ✅ Development/Staging/Production örnekleri -- ✅ Güvenlik best practices -- ✅ Team collaboration desteği -- ✅ CI/CD ready -- ✅ Troubleshooting kılavuzu - -## 🎯 Kullanıma Hazır - -Sistem artık tamamen modüler ve production-ready: - -### Hemen Başlayın -```bash -# 1. .env oluştur -cd dokploy -cp .env.example .env - -# 2. Düzenle -nano .env - -# 3. Deploy -docker-compose up -d - -# Veya Dokploy UI'da -# .env.example → kopyala → Deploy! -``` - -### Dokümantasyon -```bash -# Hızlı başlangıç -cat QUICKSTART.md - -# Environment variables -cat ENV_VARIABLES.md - -# Modüler yapı -cat MODULAR_SETUP.md - -# İndeks -cat INDEX.md -``` - -## 🔗 Referanslar - -- `.env.example` - Template ve örnekler -- `ENV_VARIABLES.md` - Detaylı değişken açıklamaları -- `MODULAR_SETUP.md` - Modüler yapı kılavuzu -- `INDEX.md` - Dosya indeksi -- `DEPLOYMENT.md` - Deployment kılavuzu - -## 🙏 Özet - -Modüler yapı kurulumu başarıyla tamamlandı! - -**Avantajlar**: -- 🎯 Esnek konfigürasyon -- 🔒 Gelişmiş güvenlik -- 📚 Kapsamlı dokümantasyon -- 👥 Team collaboration -- 🚀 Production ready -- 📊 50+ variable desteği - -**Sonraki Adımlar**: -1. .env.example'ı inceleyin -2. Kendi .env'inizi oluşturun -3. Deploy edin! -4. Production'a taşıyın - ---- - -**Son Güncelleme**: 2025-10-13 -**Versiyon**: 1.0.0 -**Durum**: ✅ Modüler Yapı Aktif -**Maintainer**: [@ubden](https://github.com/ubden) - -**🎉 Modüler Yapı Hazır! 🚀** - diff --git a/README.md b/README.md index defd3be0..35d8b193 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ Once completed, chose one of the following two sections for next steps. ### 🚀 Deploy to Dokploy (Production Ready) -**NEW!** Minimal ve hızlı ERPNext deployment - 5 production-ready app ile 15-20 dakikada hazır! +Hızlı ve verimli ERPNext deployment - 4 temel uygulama ile 10-15 dakikada hazır! ```bash Repository: https://github.com/ubden/frappe_docker @@ -28,19 +28,18 @@ SSL: Auto (Let's Encrypt) 📖 **Docs**: [dokploy/README.md](dokploy/README.md) 🔒 **SSL Setup**: [dokploy/SSL_SETUP.md](dokploy/SSL_SETUP.md) -**Included Apps (5)**: -- ✅ ERPNext (ERP Core) -- ✅ HRMS (Human Resource) -- ✅ CRM (Customer Relations) -- ✅ Helpdesk (Support System) -- ✅ Payments (Payment Gateways) +**Included Apps (4)**: +- ✅ ERPNext (ERP Core - Accounting, Inventory, Sales, Manufacturing) +- ✅ CRM (Customer Relations - Lead, Deal Management) +- ✅ Helpdesk (Support System - Tickets, SLA, Knowledge Base) +- ✅ Payments (Payment Gateways - Stripe, PayPal, Razorpay) **Features:** -- ✅ Fast deployment (15-20 min) -- ✅ Minimal disk usage (4-5 GB) +- ✅ Fast deployment (10-15 min) +- ✅ Minimal disk usage (3-4 GB) - ✅ Auto SSL/HTTPS (Let's Encrypt) - ✅ Production-ready config -- ✅ Easy to extend (add more apps anytime) +- ✅ Port 8088 with HTTPS support ### Try in Play With Docker @@ -86,18 +85,17 @@ If you ran in a Dev Docker environment, to view container logs: `docker compose ### [Dokploy Deployment](#dokploy) 🚀 -Minimal ERPNext solution with 5 core apps, optimized for Dokploy: +ERPNext with essential business apps, optimized for Dokploy: - [Quick Start (5 minutes)](dokploy/QUICKSTART.md) ⚡ - [Deployment Guide](dokploy/DEPLOYMENT.md) 📖 - [SSL Setup](dokploy/SSL_SETUP.md) 🔒 -- [Minimal vs Full](dokploy/MINIMAL_VS_FULL.md) 📊 - [Package Summary](dokploy/SUMMARY.md) 📋 -**Included Apps**: ERPNext, HRMS, CRM, Helpdesk, Payments +**Included Apps**: ERPNext, CRM, Helpdesk, Payments **Port**: 8088 (HTTPS otomatik) -**Build Time**: 15-20 min -**Disk**: 4-5 GB +**Build Time**: 10-15 min +**Disk**: 3-4 GB ### [Production](#production) diff --git a/dokploy/APPS_INFO.md b/dokploy/APPS_INFO.md deleted file mode 100644 index faf7c2be..00000000 --- a/dokploy/APPS_INFO.md +++ /dev/null @@ -1,167 +0,0 @@ -# Frappe Apps Bilgileri - -Bu dokümanda, Dokploy image'inde kullanılan Frappe uygulamaları ve branch bilgileri açıklanır. - -## 📦 İçerilen Uygulamalar (9 Uygulama) - -### 1. ERPNext -- **Repository**: https://github.com/frappe/erpnext -- **Branch**: `version-15` -- **Docker Image**: N/A (source build) -- **Açıklama**: Tam özellikli açık kaynak ERP sistemi -- **Uyumluluk**: Frappe v15 ile tam uyumlu ✅ - -### 2. HRMS (Human Resource Management System) 🆕 -- **Repository**: https://github.com/frappe/hrms -- **Branch**: `version-15` -- **Docker Image**: `ghcr.io/frappe/hrms:version-15` -- **Açıklama**: İnsan Kaynakları Yönetim Sistemi -- **Uyumluluk**: Frappe v15 ile tam uyumlu ✅ -- **Özellikler**: Bordro, izin yönetimi, devam takibi, performans değerlendirme - -### 3. CRM (Customer Relationship Management) -- **Repository**: https://github.com/frappe/crm -- **Branch**: `main` (latest) -- **Docker Image**: `ghcr.io/frappe/crm:latest` -- **Açıklama**: Modern müşteri ilişkileri yönetimi -- **Uyumluluk**: Frappe v15 ile uyumlu ✅ -- **Özellikler**: Lead tracking, deal management, kanban view - -### 4. Helpdesk 🆕 -- **Repository**: https://github.com/frappe/helpdesk -- **Branch**: `main` (stable) -- **Docker Image**: `ghcr.io/frappe/helpdesk:stable` -- **Açıklama**: Müşteri destek ve ticket yönetim sistemi -- **Uyumluluk**: Frappe v15 ile uyumlu ✅ -- **Özellikler**: Ticket management, SLA, email integration, knowledge base - -### 5. LMS (Learning Management System) -- **Repository**: https://github.com/frappe/lms -- **Branch**: `main` (stable) -- **Docker Image**: `ghcr.io/frappe/lms:stable` -- **Açıklama**: E-Learning ve öğrenme yönetim sistemi -- **Uyumluluk**: Frappe v15 ile uyumlu ✅ -- **Özellikler**: Online courses, quizzes, certifications, student management - -### 6. Builder -- **Repository**: https://github.com/frappe/builder -- **Branch**: `main` (stable) -- **Docker Image**: `ghcr.io/frappe/builder:stable` -- **Açıklama**: Drag & drop web sitesi oluşturucu -- **Uyumluluk**: Frappe v15 ile uyumlu ✅ -- **Özellikler**: Visual page builder, responsive design, SEO optimization - -### 7. Print Designer -- **Repository**: https://github.com/frappe/print_designer -- **Branch**: `main` (stable) -- **Docker Image**: `ghcr.io/frappe/print_designer:stable` -- **Açıklama**: Özel yazdırma şablonu tasarımcısı -- **Uyumluluk**: Frappe v15 ile uyumlu ✅ -- **Özellikler**: Custom print formats, drag & drop designer, PDF generation - -### 8. Payments -- **Repository**: https://github.com/frappe/payments -- **Branch**: `main` -- **Docker Image**: N/A (install via bench) -- **Açıklama**: Ödeme gateway entegrasyonları -- **Uyumluluk**: Frappe v15 ile uyumlu ✅ -- **Özellikler**: Stripe, PayPal, Razorpay integration -- **Kurulum**: `bench --site install-app payments` - -### 9. Wiki -- **Repository**: https://github.com/frappe/wiki -- **Branch**: `main` -- **Docker Image**: N/A (install via bench) -- **Açıklama**: Bilgi tabanı ve dokümantasyon sistemi -- **Uyumluluk**: Frappe v15 ile uyumlu ✅ -- **Özellikler**: Wiki pages, version control, markdown support -- **Kurulum**: `bench get-app https://github.com/frappe/wiki` - -## ❌ Kaldırılan Uygulamalar - -### Twilio Integration -- **Sebep**: Version-15 branch'i yok, uyumluluk sorunları -- **Alternatif**: ERPNext'in built-in SMS/telefon özellikleri -- **Manuel Kurulum**: Gerekirse sonradan eklenebilir (riskli) - -### ERPNext Shipping -- **Sebep**: Version-15 branch'i yok, dependency sorunları -- **Alternatif**: ERPNext'in built-in shipping özellikleri -- **Manuel Kurulum**: Gerekirse sonradan eklenebilir (riskli) - -## 🔧 Versiyon Uyumluluğu - -### Frappe Framework: v15 -Tüm uygulamalar Frappe v15 ile test edilmiştir ve uyumludur. - -### Branch Stratejisi -- **`version-15`**: Stable, production-ready (ERPNext, HRMS) -- **`main`**: Latest stable features (diğer tüm uygulamalar) - -## 📊 Branch Değişiklikleri - -| Uygulama | Branch | Docker Image | Durum | -|----------|--------|--------------|-------| -| ERPNext | version-15 | N/A | ✅ Stable | -| HRMS 🆕 | version-15 | ghcr.io/frappe/hrms:version-15 | ✅ Stable | -| CRM | main (latest) | ghcr.io/frappe/crm:latest | ✅ Production | -| Helpdesk 🆕 | main (stable) | ghcr.io/frappe/helpdesk:stable | ✅ Production | -| LMS | main (stable) | ghcr.io/frappe/lms:stable | ✅ Production | -| Builder | main (stable) | ghcr.io/frappe/builder:stable | ✅ Production | -| Print Designer | main (stable) | ghcr.io/frappe/print_designer:stable | ✅ Production | -| Payments | main | N/A | ✅ Production | -| Wiki | main | N/A | ✅ Production | - -## ✅ Production Önerileri - -### Önerilen Konfigürasyon (Mevcut - 9 Uygulama) -- ✅ **ERPNext** - ERP Core -- ✅ **HRMS** - İnsan Kaynakları 🆕 -- ✅ **CRM** - Müşteri İlişkileri -- ✅ **Helpdesk** - Destek Sistemi 🆕 -- ✅ **LMS** - E-Learning -- ✅ **Builder** - Web Sitesi -- ✅ **Print Designer** - Yazdırma -- ✅ **Payments** - Ödeme -- ✅ **Wiki** - Bilgi Tabanı - -Bu 9 uygulama Frappe v15 ile tam uyumlu ve production-ready'dir. - -## 🚀 Docker Image Kullanımı - -GitHub Container Registry'de bazı uygulamaların hazır image'ları var: - -```bash -# HRMS -docker pull ghcr.io/frappe/hrms:version-15 - -# CRM -docker pull ghcr.io/frappe/crm:latest - -# Helpdesk -docker pull ghcr.io/frappe/helpdesk:stable - -# LMS -docker pull ghcr.io/frappe/lms:stable - -# Builder -docker pull ghcr.io/frappe/builder:stable - -# Print Designer -docker pull ghcr.io/frappe/print_designer:stable -``` - -**Not**: Bizim Dockerfile source'tan build ediyor, Docker image'ları kullanmıyor. - -## 📚 Kaynaklar - -- [Frappe Apps](https://github.com/frappe) -- [ERPNext Documentation](https://docs.erpnext.com) -- [Frappe Framework](https://frappeframework.com) -- [GitHub Container Registry](https://github.com/orgs/frappe/packages) - ---- - -**Son Güncelleme**: 2025-10-13 -**Frappe Versiyon**: v15 -**Toplam App**: 9 (2 yeni: HRMS, Helpdesk) diff --git a/dokploy/APPS_MINIMAL.md b/dokploy/APPS_MINIMAL.md deleted file mode 100644 index 7c1161cc..00000000 --- a/dokploy/APPS_MINIMAL.md +++ /dev/null @@ -1,285 +0,0 @@ -# Minimal Uygulama Kurulumu - -Bu konfigürasyonda sadece **5 temel uygulama** bulunur - production-ready minimal setup. - -## 📦 İçerilen Uygulamalar (5) - -### 1. ERPNext (Core ERP) -- **Repository**: https://github.com/frappe/erpnext -- **Branch**: `version-15` -- **Özellikler**: - - 📊 Accounting (Muhasebe) - - 📦 Inventory (Stok Yönetimi) - - 🛒 Sales & Purchase (Satış & Satınalma) - - 🏭 Manufacturing (Üretim) - - 📈 Reports & Analytics - - 💼 Projects & Tasks - - 🏢 Asset Management - -### 2. HRMS (İnsan Kaynakları) -- **Repository**: https://github.com/frappe/hrms -- **Branch**: `version-15` -- **Özellikler**: - - 💰 Payroll (Bordro) - - 🏖️ Leave Management (İzin Yönetimi) - - ⏰ Attendance (Devam Takibi) - - 📊 Performance Reviews - - 🎯 Appraisals - - 💼 Employee Lifecycle - -### 3. CRM (Müşteri İlişkileri) -- **Repository**: https://github.com/frappe/crm -- **Branch**: `main` (v1.53.1) -- **Özellikler**: - - 👥 Lead Management - - 💼 Deal Pipeline - - 📞 Contact Management - - 📊 Kanban View - - 📧 Email Integration - - 📱 WhatsApp Integration - -### 4. Helpdesk (Destek Sistemi) -- **Repository**: https://github.com/frappe/helpdesk -- **Branch**: `v1.14.0` (son v15 uyumlu) -- **Özellikler**: - - 🎫 Ticket Management - - ⏱️ SLA (Service Level Agreement) - - 📧 Email Integration - - 📚 Knowledge Base - - 🤖 Auto Assignment - - 📊 Reporting - -### 5. Payments (Ödeme Entegrasyonları) -- **Repository**: https://github.com/frappe/payments -- **Branch**: `main` -- **Özellikler**: - - 💳 Stripe Integration - - 💰 PayPal Integration - - 🇮🇳 Razorpay Integration - - 🔄 Subscription Management - - 🧾 Payment Request - - 📊 Payment Analytics - -## ❌ Kaldırılan Uygulamalar - -### LMS (E-Learning) -- **Sebep**: Çoğu işletme için gerekli değil -- **Manuel kurulum**: `bench get-app lms && bench --site install-app lms` - -### Builder (Website Builder) -- **Sebep**: ERPNext'in Website module'ü yeterli -- **Manuel kurulum**: `bench get-app builder && bench --site install-app builder` - -### Print Designer (Yazdırma Tasarımcısı) -- **Sebep**: ERPNext'in Print Format yeterli -- **Manuel kurulum**: `bench get-app print_designer && bench --site install-app print_designer` - -### Wiki (Bilgi Tabanı) -- **Sebep**: Helpdesk'in Knowledge Base özelliği yeterli -- **Manuel kurulum**: `bench get-app https://github.com/frappe/wiki && bench --site install-app wiki` - -## 🎯 Neden Minimal Setup? - -### Avantajlar - -1. **Hızlı Build** 🚀 - - Önceden: 9 app × 2 dk = 18 dakika - - Şimdi: 5 app × 2 dk = **10 dakika** - - **%45 daha hızlı!** - -2. **Az Disk Kullanımı** 💾 - - Önceden: ~8 GB final image - - Şimdi: **~4-5 GB** final image - - **%40 daha az yer!** - -3. **Daha Az Dependency** 📦 - - Daha az npm packages - - Daha az Python packages - - Daha az conflict riski - -4. **Kolay Maintenance** 🔧 - - Daha az güncelleme - - Daha az sorun giderme - - Daha kolay troubleshoot - -5. **Production-Ready** ✅ - - Sadece gerçekten kullanılan app'ler - - Test edilmiş ve stabil - - Frappe v15 tam uyumlu - -## 📊 Özellik Karşılaştırması - -### ERPNext Built-in Özellikler - -**Website Builder yerine**: -- ✅ Website module (basic web sitesi) -- ✅ Web pages -- ✅ Blog posts -- ✅ Products catalog - -**Print Designer yerine**: -- ✅ Print Format -- ✅ Custom templates -- ✅ Jinja templating -- ✅ PDF generation - -**Wiki yerine**: -- ✅ Helpdesk Knowledge Base -- ✅ Notes -- ✅ Comments -- ✅ Rich text editor - -## 🔧 Manuel Uygulama Ekleme - -Eğer ilave uygulamaya ihtiyaç duyarsanız: - -### Container'a Giriş - -```bash -# Backend container'a girin -docker exec -it bash -``` - -### LMS Kurulumu - -```bash -# LMS'i indirin -bench get-app lms https://github.com/frappe/lms - -# Build edin -bench build --app lms - -# Site'a kurun -bench --site install-app lms - -# Restart -bench restart -``` - -### Builder Kurulumu - -```bash -bench get-app builder https://github.com/frappe/builder -bench build --app builder -bench --site install-app builder -bench restart -``` - -### Print Designer Kurulumu - -```bash -bench get-app print_designer https://github.com/frappe/print_designer -bench build --app print_designer -bench --site install-app print_designer -bench restart -``` - -### Wiki Kurulumu - -```bash -bench get-app https://github.com/frappe/wiki -bench build --app wiki -bench --site install-app wiki -bench restart -``` - -## 🌐 Port ve SSL Konfigürasyonu - -### Frontend Port: 8088 - -```env -HTTP_PORT=8088 -``` - -**Erişim**: -- HTTP: `http://erp.yourdomain.com:8088` -- HTTPS: `https://erp.yourdomain.com` (port gerekmez) - -### SSL/HTTPS Kurulumu - -Dokploy otomatik SSL yönetimi sağlar: - -1. **Domain ekleyin**: `erp.yourdomain.com` -2. **Enable HTTPS** işaretleyin -3. **Force HTTPS** işaretleyin -4. Let's Encrypt otomatik sertifika oluşturur - -Detaylar için: [SSL_SETUP.md](SSL_SETUP.md) - -## 📈 Performans - -### Build Süreleri - -| Konfigürasyon | App Sayısı | Build Süresi | Disk Kullanımı | -|---------------|-----------|--------------|----------------| -| **Full (9 apps)** | 9 | ~30-40 dakika | ~8 GB | -| **Minimal (5 apps)** | 5 | **~15-20 dakika** | **~4-5 GB** | - -**Kazanç**: %50 daha hızlı, %40 daha az disk! - -### Runtime Performansı - -- ✅ Daha az memory kullanımı -- ✅ Daha hızlı startup -- ✅ Daha az background jobs -- ✅ Daha responsive UI - -## ✅ Production Önerileri - -### Bu Setup İçin İdeal - -1. **Küçük-Orta İşletmeler** - - ERP + HR + CRM + Support - - Tüm temel ihtiyaçlar karşılanır - -2. **E-Ticaret** - - ERPNext (inventory, sales) - - CRM (customer management) - - Payments (gateway integration) - - Helpdesk (customer support) - -3. **Hizmet Şirketleri** - - Project management (ERPNext) - - HR management (HRMS) - - Customer tracking (CRM) - - Support tickets (Helpdesk) - -### Bu Setup İçin Uygun Değil - -1. **Eğitim Kurumları** → LMS ekleyin -2. **Çok sayıda landing page** → Builder ekleyin -3. **Kompleks print formatları** → Print Designer ekleyin -4. **Geniş dokümantasyon** → Wiki ekleyin - -## 📝 Migration Path - -### Full Setup'tan Minimal'e Geçiş - -Eğer önceden 9 app kurduysanız: - -```bash -# Backup alın -bench --site backup --with-files - -# Kullanmadığınız app'leri kaldırın -bench --site uninstall-app lms -bench --site uninstall-app builder -bench --site uninstall-app print_designer -bench --site uninstall-app wiki - -# Restart -bench restart -``` - -### Minimal'den Full'e Geçiş - -Yukarıdaki manuel kurulum bölümüne bakın. - ---- - -**Son Güncelleme**: 2025-10-13 -**Versiyon**: 1.0.0 (Minimal) -**Toplam App**: 5 (ERPNext, HRMS, CRM, Helpdesk, Payments) -**Frontend Port**: 8088 -**SSL**: Dokploy otomatik (Let's Encrypt) - diff --git a/dokploy/CHANGELOG.md b/dokploy/CHANGELOG.md index f6e660a2..ab9f137a 100644 --- a/dokploy/CHANGELOG.md +++ b/dokploy/CHANGELOG.md @@ -1,145 +1,53 @@ # Changelog -Frappe ERPNext Dokploy paketindeki tüm önemli değişiklikler bu dosyada belgelenecektir. - -Format [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) standardına dayanmaktadır. +Tüm önemli değişiklikler bu dosyada belgelenir. ## [1.0.0] - 2025-10-13 -### Eklenen -- 🎉 İlk Dokploy-ready release -- ✨ 9 uygulama içeren tek image (ERPNext, CRM, LMS, Builder, Print Designer, Payments, Wiki, Twilio Integration, ERPNext Shipping) -- 🐳 Production-optimized Docker Compose konfigürasyonu -- 🐳 Development Docker Compose konfigürasyonu -- 📦 Özel Dockerfile tüm uygulamalarla -- 🔧 Otomatik site oluşturma ve uygulama kurulumu -- 📝 Kapsamlı dokümantasyon (README, QUICKSTART, DEPLOYMENT, SUMMARY) -- 🔐 Güvenlik best practices -- 💾 Volume yönetimi ve persistence -- ❤️ Health check'ler tüm servisler için -- 🚀 Otomatik kurulum scripti (install.sh) -- 🔄 GitHub Actions workflow (build-dokploy.yml) -- 📋 Dokploy metadata (dokploy.json) -- 🌐 Multi-platform support (amd64, arm64) +### İlk Release -### Konfigürasyon -- Environment-based konfigürasyon (.env) -- Dokploy-friendly environment variables -- Güvenli secret yönetimi -- Esnek port konfigürasyonu +Production-ready Frappe ERPNext Dokploy deployment paketi. -### Optimizasyonlar -- MariaDB performans ayarları - - InnoDB buffer pool: 2-4GB - - Max connections: 500-1000 - - Query cache disabled (InnoDB için) -- Gunicorn worker ayarları - - 2-4 workers - - 4-8 threads - - Request timeout: 120-300s -- Redis memory limits - - Cache: 2GB (LRU) - - Queue: 1GB (No eviction) -- Nginx optimizasyonları - - Proxy read timeout: 120-300s - - Client max body size: 50-100m +#### Uygulamalar (4) +- ✅ ERPNext (version-15) +- ✅ CRM (main, v1.53.1) +- ✅ Helpdesk (v1.14.0) +- ✅ Payments (main) -### Servisler -- **frontend**: Nginx reverse proxy -- **backend**: Gunicorn WSGI server -- **websocket**: Socket.IO real-time server -- **mariadb**: MariaDB 10.6 database -- **redis-cache**: Redis cache layer -- **redis-queue**: Redis job queue -- **queue-short**: Short job workers -- **queue-long**: Long job workers -- **scheduler**: Cron scheduler -- **configurator**: Initial configuration (one-time) -- **create-site**: Site creation (one-time) +#### Özellikler +- Dokploy-optimized Docker Compose +- Otomatik SSL/HTTPS (Let's Encrypt) +- Frontend port 8088 +- Production-ready konfigürasyon +- Environment-based configuration +- Health checks +- Auto-restart policies -### Dokümantasyon -- `README.md`: Ana dokümantasyon -- `QUICKSTART.md`: 5 dakikada deploy kılavuzu -- `DEPLOYMENT.md`: Detaylı deployment ve maintenance kılavuzu -- `SUMMARY.md`: Paket özeti ve referans -- `CHANGELOG.md`: Bu dosya +#### Performans +- Build süresi: 10-15 dakika +- Disk kullanımı: 3-4 GB +- Memory kullanımı: ~2 GB +- Fast startup -### CI/CD -- GitHub Actions workflow -- Otomatik Docker image build -- Multi-platform build (amd64, arm64) -- GitHub Container Registry push -- Pull request test deployment +#### Güvenlik +- Non-root container +- Secret management +- HTTPS/SSL ready +- Secure defaults -### Güvenlik -- Non-root container execution -- Secret-based password yönetimi -- HTTPS/SSL hazır altyapı -- 2FA desteği -- Güvenli default ayarlar - -### Dokploy Entegrasyonu -- One-click deploy desteği -- Otomatik domain yapılandırması -- Built-in SSL/TLS (Let's Encrypt) -- Health check monitoring -- Log aggregation -- Resource limits - -## [Gelecek Sürümler] - -### Planlanıyor (v1.1.0) -- [ ] Otomatik backup cron job -- [ ] S3/MinIO backup entegrasyonu -- [ ] Email alert sistemi -- [ ] Prometheus metrics export -- [ ] Grafana dashboard template -- [ ] Multi-site support -- [ ] Database replication setup - -### Değerlendiriliyor (v2.0.0) -- [ ] Kubernetes/Helm chart -- [ ] Horizontal scaling support -- [ ] Redis Cluster mode -- [ ] MariaDB Galera Cluster -- [ ] Advanced caching strategies -- [ ] CDN entegrasyonu -- [ ] Object storage entegrasyonu - -## Bilinen Sorunlar - -### v1.0.0 -- İlk deployment 10-15 dakika sürebilir (tüm uygulamaların kurulması) -- Windows'da install.sh scripti çalışmaz (WSL kullanın) -- Çok büyük dosya upload'ları (>100MB) zaman aşımına uğrayabilir - -### Workarounds -- Deployment süresi: Normal davranış, sabırla bekleyin -- Windows: WSL2 veya Git Bash kullanın -- Büyük dosyalar: `CLIENT_MAX_BODY_SIZE` ve `PROXY_READ_TIMEOUT` artırın - -## Yükseltme Notları - -### v1.0.0'dan Sonraki Sürümlere -Henüz yok - ilk release. +#### Dokümantasyon +- README.md - Genel bilgi +- QUICKSTART.md - Hızlı başlangıç +- DEPLOYMENT.md - Detaylı kılavuz +- SSL_SETUP.md - SSL konfigürasyonu +- ENV_VARIABLES.md - Environment variables +- CHECKLIST.md - Deployment checklist +- SUMMARY.md - Paket özeti +- CHANGELOG.md - Bu dosya --- -## Versiyonlama - -Bu proje [Semantic Versioning](https://semver.org/) kullanmaktadır: -- **MAJOR**: Uyumsuz API değişiklikleri -- **MINOR**: Geriye uyumlu yeni özellikler -- **PATCH**: Geriye uyumlu bug fix'ler - -## Katkıda Bulunma - -Değişiklik önerileri için: -1. [GitHub Issue](https://github.com/ubden/frappe_docker/issues) açın -2. Pull Request gönderin -3. Changelog'u güncelleyin - ---- - -**Not**: Bu changelog, deployment ve kullanıcıya yönelik değişiklikleri içerir. Detaylı commit geçmişi için Git log'larına bakın. - +**Toplam Apps**: 4 +**Build Time**: 10-15 min +**Disk**: 3-4 GB +**Port**: 8088 diff --git a/dokploy/CHECKLIST.md b/dokploy/CHECKLIST.md index 59b5acc3..29f5bd16 100644 --- a/dokploy/CHECKLIST.md +++ b/dokploy/CHECKLIST.md @@ -1,249 +1,105 @@ # Dokploy Deployment Checklist -Bu checklist, Dokploy'a deployment öncesi ve sonrası kontrol edilmesi gereken tüm öğeleri içerir. - ## ✅ Deployment Öncesi ### Gereksinimler -- [ ] Dokploy kurulu ve erişilebilir durumda -- [ ] Domain adı hazır (isteğe bağlı, localhost ile de çalışır) -- [ ] DNS kayıtları yapılandırılmış (production için) -- [ ] Minimum sistem gereksinimleri karşılanıyor - - [ ] 4GB+ RAM - - [ ] 2+ CPU cores - - [ ] 20GB+ disk alanı +- [ ] Dokploy kurulu ve erişilebilir +- [ ] Domain adı hazır (production için) +- [ ] DNS kayıtları yapılandırılmış +- [ ] Minimum 4GB RAM +- [ ] 2+ CPU cores +- [ ] 15GB+ disk alanı -### Konfigürasyon Hazırlığı -- [ ] `.env` dosyası oluşturuldu veya environment variables hazırlandı -- [ ] `SITE_NAME` belirlendi (örn: erp.yourdomain.com) -- [ ] `ADMIN_PASSWORD` güçlü bir şifre olarak belirlendi - - [ ] En az 12 karakter - - [ ] Büyük/küçük harf, sayı, özel karakter karışımı -- [ ] `DB_PASSWORD` güçlü bir şifre olarak belirlendi -- [ ] Port ayarları yapılandırıldı (varsayılan: 80) +### Konfigürasyon +- [ ] `.env` dosyası hazırlandı veya environment variables belirlendi +- [ ] `SITE_NAME` belirlendi +- [ ] `ADMIN_PASSWORD` güçlü şifre (12+ karakter) +- [ ] `DB_PASSWORD` güçlü şifre (12+ karakter) +- [ ] Port 8088 kullanılacak ### Güvenlik -- [ ] Tüm şifreler güvenli ve unique +- [ ] Tüm şifreler güçlü ve unique - [ ] Şifreler password manager'da saklandı -- [ ] Production için SSL/HTTPS planlandı -- [ ] Firewall kuralları planlandı +- [ ] SSL/HTTPS planlandı - [ ] Backup stratejisi belirlendi -### Dokümantasyon İncelemesi -- [ ] [QUICKSTART.md](QUICKSTART.md) okundu -- [ ] [DEPLOYMENT.md](DEPLOYMENT.md) okundu -- [ ] [SUMMARY.md](SUMMARY.md) incelendi - -## 🚀 Deployment Süreci +## 🚀 Deployment ### Dokploy Konfigürasyonu - [ ] Yeni proje oluşturuldu -- [ ] Service eklendi (Docker Compose) -- [ ] Repository URL girildi: `https://github.com/ubden/frappe_docker` -- [ ] Branch seçildi: `main` -- [ ] Compose path girildi: `dokploy/docker-compose.yml` +- [ ] Docker Compose service eklendi +- [ ] Repository: `https://github.com/ubden/frappe_docker` +- [ ] Branch: `main` +- [ ] Compose path: `dokploy/docker-compose.yml` ### Environment Variables - [ ] `SITE_NAME` eklendi -- [ ] `ADMIN_PASSWORD` eklendi (Secret olarak işaretlendi) -- [ ] `DB_PASSWORD` eklendi (Secret olarak işaretlendi) -- [ ] `HTTP_PORT` eklendi (gerekirse) -- [ ] Ek ayarlar eklendi (isteğe bağlı) +- [ ] `ADMIN_PASSWORD` eklendi (Secret) +- [ ] `DB_PASSWORD` eklendi (Secret) +- [ ] `HTTP_PORT=8088` eklendi -### Domain & SSL (Production) +### Domain & SSL - [ ] Domain eklendi -- [ ] DNS A kaydı eklendi -- [ ] SSL/HTTPS aktif edildi (Let's Encrypt) -- [ ] SSL sertifikası doğrulandı +- [ ] DNS A kaydı doğrulandı +- [ ] Enable HTTPS işaretlendi +- [ ] Force HTTPS işaretlendi ### Deploy - [ ] Deploy butonu tıklandı -- [ ] Deployment logları izlendi -- [ ] Build işlemi başarıyla tamamlandı (~10 dakika) +- [ ] Build logları izlendi (~10-15 dakika) +- [ ] Build başarıyla tamamlandı ## ✅ Deployment Sonrası ### Container Kontrolü -- [ ] Tüm container'lar running durumda -- [ ] `create-site` servisi "Exit 0" ile tamamlandı -- [ ] `backend` servisi healthy durumda -- [ ] `frontend` servisi healthy durumda -- [ ] `mariadb` servisi healthy durumda -- [ ] `redis-cache` servisi healthy durumda -- [ ] `redis-queue` servisi healthy durumda -- [ ] Worker'lar çalışıyor durumda -- [ ] Scheduler çalışıyor durumda +- [ ] Tüm container'lar running +- [ ] create-site servisi Exit 0 +- [ ] backend servisi healthy +- [ ] frontend servisi healthy +- [ ] mariadb servisi healthy +- [ ] redis servisleri healthy -### Erişilebilirlik +### Erişim - [ ] Site browser'da açılıyor -- [ ] HTTPS çalışıyor (production) -- [ ] Login sayfası görüntüleniyor +- [ ] HTTPS çalışıyor +- [ ] Login sayfası görünüyor - [ ] Admin girişi başarılı - - Username: Administrator - - Password: `ADMIN_PASSWORD` değeriniz ### Uygulama Kontrolü -- [ ] Setup Wizard açıldı/tamamlandı -- [ ] Dashboard yükleniyor -- [ ] Kurulu uygulamalar kontrol edildi: - - [ ] ERPNext - - [ ] CRM - - [ ] LMS - - [ ] Builder - - [ ] Print Designer - - [ ] Payments - - [ ] Wiki - - [ ] Twilio Integration - - [ ] ERPNext Shipping +- [ ] ERPNext modülleri açılıyor +- [ ] CRM açılıyor +- [ ] Helpdesk açılıyor +- [ ] Payments yapılandırılabilir -### Fonksiyonellik Testleri -- [ ] Yeni sayfa/modül açılıyor -- [ ] Veri oluşturma çalışıyor -- [ ] Arama çalışıyor -- [ ] Rapor oluşturma çalışıyor -- [ ] Dosya upload çalışıyor -- [ ] Real-time updates çalışıyor (WebSocket) - -### Log Kontrolü -- [ ] Backend loglarında hata yok -- [ ] Frontend loglarında kritik hata yok -- [ ] Database loglarında hata yok -- [ ] Worker loglarında sorun yok - -## ⚙️ İlk Yapılandırma - -### Sistem Ayarları +### İlk Yapılandırma - [ ] Setup Wizard tamamlandı - - [ ] Şirket bilgileri girildi - - [ ] Para birimi seçildi - - [ ] Ülke/Bölge ayarlandı - - [ ] Sektör bilgisi girildi -- [ ] Sistem timezone ayarlandı -- [ ] Dil tercihi yapıldı (Türkçe varsa) +- [ ] Şirket bilgileri girildi +- [ ] Email ayarları yapıldı +- [ ] İlk kullanıcılar oluşturuldu -### Email Ayarları -- [ ] Email Account oluşturuldu -- [ ] SMTP ayarları yapılandırıldı -- [ ] Test email gönderildi -- [ ] Email notifications aktif +### Test +- [ ] Yeni dokuman oluşturulabiliyor +- [ ] Arama çalışıyor +- [ ] Dosya upload çalışıyor +- [ ] Real-time updates çalışıyor -### Kullanıcı Yönetimi -- [ ] Ek kullanıcılar oluşturuldu -- [ ] Roller atandı -- [ ] İzinler yapılandırıldı -- [ ] 2FA aktif edildi (önerilir) +## 🔒 Güvenlik -### Güvenlik Ayarları -- [ ] Administrator şifresi değiştirildi (farklı bir şifre kullanıldı) +### Production Güvenlik +- [ ] Administrator şifresi değiştirildi +- [ ] 2FA aktif edildi - [ ] Session timeout ayarlandı -- [ ] Password policy yapılandırıldı -- [ ] Login attempts limit ayarlandı +- [ ] Firewall kuralları uygulandı -### Yedekleme +## 💾 Backup + +### Backup Sistemi - [ ] Manuel backup test edildi -- [ ] Backup dosyaları erişilebilir - [ ] Otomatik backup planlandı - [ ] Backup saklama yeri belirlendi - -## 📊 Monitoring & Maintenance - -### Performans Kontrolü -- [ ] Sayfa yüklenme süreleri kabul edilebilir -- [ ] Database query performansı iyi -- [ ] Memory kullanımı normal seviyelerde -- [ ] CPU kullanımı normal seviyelerde -- [ ] Disk kullanımı izleniyor - -### Monitoring Setup -- [ ] Dokploy metrics kontrol edildi -- [ ] Resource alerts yapılandırıldı -- [ ] Uptime monitoring ayarlandı (isteğe bağlı) -- [ ] Log aggregation yapılandırıldı (isteğe bağlı) - -### Düzenli Bakım Planı -- [ ] Günlük backup schedule oluşturuldu -- [ ] Haftalık sistem kontrolü planlandı -- [ ] Aylık güncelleme schedule'ı belirlendi -- [ ] Kapasite planlaması yapıldı - -## 🎯 Production Checklist (Ek) - -### Güvenlik Sertleştirme -- [ ] Firewall kuralları uygulandı -- [ ] Gereksiz portlar kapatıldı -- [ ] SSH key-based authentication -- [ ] Fail2ban veya benzeri kuruldu -- [ ] SSL/TLS sertifikası doğrulandı -- [ ] Security headers yapılandırıldı - -### Yedeklilik -- [ ] Off-site backup yapılandırıldı -- [ ] Disaster recovery planı oluşturuldu -- [ ] Backup restore test edildi -- [ ] Database replication planlandı (isteğe bağlı) - -### Dokümantasyon -- [ ] Deployment bilgileri dokümante edildi -- [ ] Şifreler güvenli şekilde saklandı -- [ ] Acil durum kontakları belirlendi -- [ ] Runbook oluşturuldu - -### Compliance & Legal -- [ ] GDPR/KVKK gereksinimleri kontrol edildi -- [ ] Veri saklama politikaları belirlendi -- [ ] Kullanım şartları hazırlandı -- [ ] Privacy policy oluşturuldu - -## 📝 Notlar - -### Deployment Bilgileri -``` -Deployment Tarihi: _______________ -Dokploy URL: _____________________ -Site URL: ________________________ -Versiyon: ________________________ -Deployed By: _____________________ -``` - -### Credentials (Güvenli yerde saklayın!) -``` -Administrator Password: [PASSWORD_MANAGER] -Database Password: [PASSWORD_MANAGER] -Domain Registrar: ________________ -SSL Provider: ____________________ -Backup Location: _________________ -``` - -### Önemli Linkler -- Dokploy Dashboard: _______________ -- Site URL: ________________________ -- GitHub Repo: https://github.com/ubden/frappe_docker -- Documentation: ___________________ - -### Sorun Giderme Notları -``` -Karşılaşılan Sorunlar: -1. -2. -3. - -Çözümler: -1. -2. -3. -``` - -## 🎉 Tamamlandı! - -- [ ] Tüm checklist maddeleri tamamlandı -- [ ] Sistem production'a hazır -- [ ] Stakeholder'lar bilgilendirildi -- [ ] Go-live approval alındı +- [ ] Restore testi yapıldı --- -**Önemli**: Bu checklist'i her deployment için kullanın ve özel gereksinimlerinize göre güncelleyin. - -**Son Güncelleme**: 2025-10-13 -**Versiyon**: 1.0.0 - +**Tüm checklistler tamamlandı mı?** ✅ +**Sistem production'a hazır mı?** 🚀 diff --git a/dokploy/CRM_ERROR_ANALYSIS.md b/dokploy/CRM_ERROR_ANALYSIS.md deleted file mode 100644 index 897e3c9b..00000000 --- a/dokploy/CRM_ERROR_ANALYSIS.md +++ /dev/null @@ -1,229 +0,0 @@ -# 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/DEPLOYMENT.md b/dokploy/DEPLOYMENT.md index 61802f89..8a2d1471 100644 --- a/dokploy/DEPLOYMENT.md +++ b/dokploy/DEPLOYMENT.md @@ -1,361 +1,129 @@ # Dokploy Deployment Kılavuzu -Bu kılavuz, Frappe ERPNext'i Dokploy'da deploy etmek için adım adım talimatları içerir. +Frappe ERPNext'i 4 temel uygulama ile Dokploy'da deploy etme kılavuzu. -## Ön Gereksinimler +## 📦 İçerilen Uygulamalar -1. Dokploy kurulu bir sunucu -2. En az 4GB RAM ve 20GB disk alanı -3. Domain adı (isteğe bağlı, localhost ile de çalışır) +1. **ERPNext** - ERP Core +2. **CRM** - Müşteri İlişkileri +3. **Helpdesk** - Destek Sistemi +4. **Payments** - Ödeme Entegrasyonları -## Deployment Yöntemleri +## 🚀 Hızlı Deployment (Dokploy UI) -### Yöntem 1: Dokploy UI ile GitHub'dan Deploy (En Kolay) +### Adım 1: Yeni Proje -1. **Dokploy Dashboard'a Giriş** - - Dokploy panel adresinize gidin (örn: `https://dokploy.example.com`) - - Giriş yapın +1. Dokploy Dashboard → **Projects** → **Create Project** +2. Proje adı: `frappe-erp` -2. **Yeni Proje Oluşturma** - - Sol menüden "Projects" seçeneğine tıklayın - - "Create Project" butonuna tıklayın - - Proje adı: `frappe-erpnext` - - Açıklama: `Frappe ERPNext with all apps` +### Adım 2: Service Ekle -3. **Yeni Service Oluşturma** - - Oluşturduğunuz projenin içinde "Add Service" butonuna tıklayın - - Service Type: `Docker Compose` - - Service Name: `erpnext-complete` - -4. **Git Repository Bağlama** - - Repository Type: `GitHub` - - Repository URL: `https://github.com/ubden/frappe_docker` +1. **Add Service** → **Docker Compose** +2. Ayarlar: + - Name: `erpnext` + - Repository: `https://github.com/ubden/frappe_docker` - Branch: `main` - - Compose File Path: `dokploy/docker-compose.yml` + - Compose Path: `dokploy/docker-compose.yml` -5. **Environment Variables Ayarlama** - - Aşağıdaki değişkenleri ekleyin: - - ``` - SITE_NAME=erp.yourdomain.com - ADMIN_PASSWORD=your_secure_password_here - DB_PASSWORD=your_db_password_here - HTTP_PORT=80 - ``` - - **ÖNEMLİ**: - - `SITE_NAME` değerini domain adınız veya IP adresiniz ile değiştirin - - `ADMIN_PASSWORD` ve `DB_PASSWORD` için güçlü şifreler kullanın - - Şifreleri "Secret" olarak işaretleyin +### Adım 3: Environment Variables -6. **Domain Yapılandırması** (İsteğe Bağlı) - - "Domains" sekmesine gidin - - Domain adınızı ekleyin (örn: `erp.yourdomain.com`) - - SSL sertifikası için "Enable HTTPS" seçeneğini işaretleyin - -7. **Deploy** - - "Deploy" butonuna tıklayın - - Deployment loglarını izleyin - - İlk deployment 10-15 dakika sürebilir (image build ve tüm uygulamaların kurulumu) - -8. **Deployment Durumunu Kontrol** - - "Logs" sekmesinden container loglarını izleyin - - "create-site" servisinin başarıyla tamamlandığından emin olun - - Tüm servislerin "healthy" durumunda olmasını bekleyin - -### Yöntem 2: CLI ile Deploy - -1. **Dokploy CLI Kurulumu** - ```bash - npm install -g @dokploy/cli - ``` - -2. **Login** - ```bash - dokploy login https://your-dokploy-instance.com - ``` - -3. **Proje Oluşturma** - ```bash - dokploy project create frappe-erpnext - ``` - -4. **Service Deploy** - ```bash - cd dokploy - dokploy deploy \ - --project frappe-erpnext \ - --service erpnext-complete \ - --compose docker-compose.yml \ - --env .env - ``` - -### Yöntem 3: Manuel Docker Compose - -Dokploy kullanmadan direkt sunucuda: - -```bash -# Repository'yi klonlayın -git clone https://github.com/ubden/frappe_docker.git -cd frappe_docker/dokploy - -# .env dosyasını düzenleyin -nano .env - -# Deploy -chmod +x install.sh -./install.sh +```env +SITE_NAME=erp.yourdomain.com +ADMIN_PASSWORD=YourSecurePass123! +DB_PASSWORD=YourDBPass456! +HTTP_PORT=8088 ``` -## Deployment Sonrası +### Adım 4: Domain + SSL -### İlk Giriş +1. **Domains** → **Add Domain** +2. Domain: `erp.yourdomain.com` +3. Port: `8088` +4. **Enable HTTPS** ✅ +5. **Force HTTPS** ✅ -1. Browser'da site adresinize gidin: `http://your-site-name` veya `https://your-domain.com` -2. Giriş bilgileri: - - **Username**: `Administrator` - - **Password**: `.env` dosyasında belirlediğiniz `ADMIN_PASSWORD` +### Adım 5: Deploy -### Kurulu Uygulamaları Kontrol +**Deploy** butonu → 10-15 dakika → Hazır! 🎉 -1. Sol menüden "App Manager" seçeneğine gidin (veya `/app` URL'sine) -2. Aşağıdaki uygulamaların kurulu olduğunu doğrulayın: - - ✅ ERPNext - - ✅ CRM - - ✅ LMS - - ✅ Builder - - ✅ Print Designer - - ✅ Payments - - ✅ Wiki - - ✅ Twilio Integration - - ✅ ERPNext Shipping +## 🌐 Erişim -### İlk Yapılandırma - -1. **System Settings** - - Setup Wizard'ı tamamlayın (şirket bilgileri, para birimi vb.) - -2. **Email Ayarları** - - Email Account oluşturun (SMTP ayarları) - - Notifications için email göndericisini ayarlayın - -3. **Kullanıcı Oluşturma** - - Ek kullanıcılar oluşturun - - Roller ve izinler atayın - -## Güncelleme - -### Dokploy UI ile - -1. Dokploy dashboard'da service'inize gidin -2. "Redeploy" butonuna tıklayın -3. Yeni image build edilecek ve container'lar güncellenecektir - -### Manuel Güncelleme - -```bash -# Container'a bağlanın -docker exec -it bash - -# Uygulamaları güncelleyin -cd /home/frappe/frappe-bench -bench update --reset - -# Site'ı migrate edin -bench --site migrate - -# Assets'leri build edin -bench build - -# Container'ları yeniden başlatın -exit -docker-compose restart +``` +URL: https://erp.yourdomain.com +Username: Administrator +Password: [ADMIN_PASSWORD] ``` -## Backup ve Restore +## 🔧 İlk Yapılandırma -### Otomatik Backup (Cron ile) +1. **Setup Wizard** tamamlayın +2. **Email ayarları** yapın +3. **Kullanıcılar** ekleyin +4. **Şirket bilgileri** güncelleyin -1. `compose.backup-cron.yaml` dosyasını kullanın: - ```bash - docker-compose -f docker-compose.yml -f ../overrides/compose.backup-cron.yaml up -d - ``` - -### Manuel Backup +## 💾 Backup ```bash # Container'a girin -docker exec -it bash +docker exec -it bash -# Backup oluştur +# Backup oluşturun bench --site backup --with-files -# Backup'ları listele -ls -lh sites//private/backups/ +# Backup'ları görüntüleyin +ls sites//private/backups/ ``` -### Restore +## 🔄 Güncelleme ```bash -# Container'a girin -docker exec -it bash +# Dokploy'da: Redeploy butonu -# Database restore -bench --site --force restore \ - /home/frappe/frappe-bench/sites//private/backups/[database-file].sql.gz - -# Files restore (isteğe bağlı) -bench --site --force restore \ - --with-private-files /path/to/private-files.tar \ - --with-public-files /path/to/public-files.tar +# Veya manuel: +docker exec -it bash +bench update --reset +bench --site migrate +bench build ``` -## Monitoring ve Loglar +## 🐛 Sorun Giderme -### Dokploy Dashboard - -- "Logs" sekmesinden tüm servislerin loglarını görebilirsiniz -- "Metrics" sekmesinden kaynak kullanımını izleyebilirsiniz - -### CLI ile +### Site Açılmıyor ```bash -# Tüm servislerin logları -docker-compose logs -f - -# Belirli bir servisin logları -docker-compose logs -f backend - -# Create-site servisinin logları -docker-compose logs create-site -``` - -## Performans Optimizasyonu - -### Database - -`docker-compose.yml` içinde MariaDB ayarlarını günceleyin: - -```yaml -mariadb: - command: - - --innodb-buffer-pool-size=4G # RAM'in %50-75'i - - --innodb-log-file-size=1G - - --max-connections=1000 -``` - -### Gunicorn Workers - -Backend servisi için worker sayısını artırın: - -```yaml -backend: - command: - - gunicorn - - --workers=4 # CPU core sayısı x 2 - - --threads=8 -``` - -## Troubleshooting - -### Site açılmıyor - -```bash -# Container'ların durumunu kontrol et +# Container durumlarını kontrol edin docker-compose ps -# Backend loglarını kontrol et +# Backend loglarını kontrol edin docker-compose logs backend - -# Database bağlantısını kontrol et -docker-compose exec mariadb mysql -u root -p ``` -### "Site not found" hatası +### "Site not found" ```bash -# Site'ların listesini kontrol et -docker-compose exec backend bench --site all list-apps +# create-site loglarını kontrol edin +docker-compose logs create-site -# Site config'i kontrol et -docker-compose exec backend cat sites//site_config.json +# Site'ı kontrol edin +docker exec bench --site all list-apps ``` -### Yavaş çalışıyor +### SSL Çalışmıyor -1. Redis memory'yi kontrol edin -2. MariaDB buffer pool'u artırın -3. Worker sayısını artırın -4. Server kaynaklarını kontrol edin (CPU, RAM, Disk I/O) +- DNS doğru mu kontrol edin +- Domain Dokploy'da doğru eklenmiş mi? +- Let's Encrypt rate limit kontrolü -### Database bağlantı hatası +## 📚 Dokümantasyon -```bash -# MariaDB healthy mi kontrol et -docker-compose ps mariadb +- [README](README.md) - Genel bilgi +- [QUICKSTART](QUICKSTART.md) - Hızlı başlangıç +- [SSL_SETUP](SSL_SETUP.md) - SSL detayları +- [ENV_VARIABLES](ENV_VARIABLES.md) - Tüm ayarlar -# MariaDB loglarını kontrol et -docker-compose logs mariadb - -# Manuel bağlantı testi -docker-compose exec backend wait-for-it mariadb:3306 -t 30 -``` - -## Güvenlik - -### Şifreleri Güncelleme - -```bash -# Administrator şifresini değiştir -docker-compose exec backend bench --site set-admin-password - -# Database şifresini değiştir (dikkatli olun!) -# Hem database'de hem de site_config.json'da güncelleyin -``` - -### SSL/HTTPS - -Dokploy otomatik olarak Let's Encrypt sertifikası oluşturabilir: -1. Domain'inizi DNS'e ekleyin -2. Dokploy'da domain'i ekleyin -3. "Enable HTTPS" seçeneğini işaretleyin - -### Firewall - -Sadece gerekli portları açın: -- 80 (HTTP) -- 443 (HTTPS) -- 22 (SSH - sadece güvenli IP'lerden) - -## Destek - -- [Frappe Forum](https://discuss.frappe.io) -- [ERPNext Docs](https://docs.erpnext.com) -- [Dokploy Docs](https://dokploy.com/docs) -- GitHub Issues: https://github.com/ubden/frappe_docker/issues - -## Yararlı Komutlar - -```bash -# Container'lara bağlan -docker-compose exec backend bash -docker-compose exec mariadb bash - -# Servisleri yeniden başlat -docker-compose restart - -# Logları temizle -docker-compose logs --tail=100 - -# Volumes'ları temizle (DİKKAT: Tüm veriler silinir!) -docker-compose down -v - -# Resource kullanımını göster -docker stats - -# Container'ları güncelle -docker-compose pull -docker-compose up -d -``` +--- +**Build Time**: 10-15 min +**Apps**: 4 +**Port**: 8088 +**SSL**: Otomatik diff --git a/dokploy/Dockerfile b/dokploy/Dockerfile index c745c275..6281ee5f 100644 --- a/dokploy/Dockerfile +++ b/dokploy/Dockerfile @@ -120,33 +120,27 @@ WORKDIR /home/frappe/frappe-bench # Build context root'tan kopyala (dokploy klasörü altından) COPY dokploy/apps.json /tmp/apps.json -# Install core apps - optimized minimal setup +# Install essential apps only RUN cd /home/frappe/frappe-bench && \ - # ERPNext - version-15 (ERP Core with built-in features) + # ERPNext - version-15 (ERP Core) 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 && \ - 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 v1.53.1) + # CRM - main (Customer Relations) 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 - v1.14.0 (last v15 compatible version) + # Helpdesk - v1.14.0 (Customer Support) bench get-app --branch=v1.14.0 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 && \ - # Payments - main (Payment Gateway Integration) + # Payments - main (Payment Gateways) 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 && \ diff --git a/dokploy/FILES.md b/dokploy/FILES.md deleted file mode 100644 index 1ef194cd..00000000 --- a/dokploy/FILES.md +++ /dev/null @@ -1,284 +0,0 @@ -# Dokploy Klasörü - Dosya Açıklamaları - -Bu dokümanda `dokploy/` klasöründeki tüm dosyalar ve amaçları açıklanmaktadır. - -## 📋 Dosya Listesi - -### Konfigürasyon Dosyaları - -#### `apps.json` -**Amaç**: Frappe bench'e kurulacak uygulamaların listesi -**İçerik**: -- ERPNext, CRM, LMS, Builder, Print Designer, Payments, Wiki, Twilio Integration, ERPNext Shipping -- Her uygulama için GitHub URL ve branch bilgisi -**Kullanım**: Dockerfile build sırasında uygulamaları yüklemek için kullanılır - -#### `Dockerfile` -**Amaç**: Özel ERPNext image'i oluşturmak -**Özellikler**: -- Tüm uygulamaları içeren single image -- Multi-stage build (base, build, builder, final) -- Production-optimized -- Health check desteği -**Build Komutu**: `docker build -f dokploy/Dockerfile -t erpnext-complete .` - -#### `docker-compose.yml` -**Amaç**: Development ve test deployment için -**Servisler**: -- MariaDB, Redis (cache + queue) -- Frontend (Nginx), Backend (Gunicorn) -- WebSocket, Workers, Scheduler -- Configurator, Create-site (one-time) -**Kullanım**: `docker-compose -f dokploy/docker-compose.yml up -d` - -#### `docker-compose.prod.yml` -**Amaç**: Production deployment için optimize edilmiş versiyon -**Farklar**: -- Pre-built image kullanır (GitHub Container Registry) -- Resource limits tanımlı -- Performans optimizasyonları -- Horizontal scaling desteği -**Kullanım**: Production environment'larda - -#### `.env` -**Amaç**: Environment variables (Git'e commit edilmemeli) -**İçerik**: -- SITE_NAME, ADMIN_PASSWORD, DB_PASSWORD -- Port, timeout, size limitleri -- Redis ve database ayarları -**Not**: Bu dosya .gitignore'da, sadece örnek olarak oluşturuldu - -#### `dokploy.json` -**Amaç**: Dokploy platform metadata -**İçerik**: -- Proje açıklaması -- Environment variable tanımları -- Port mapping bilgileri -- Volume tanımları -- Health check ayarları -**Kullanım**: Dokploy UI'da otomatik form oluşturmak için - -### Dokümantasyon Dosyaları - -#### `README.md` -**Amaç**: Ana dokümantasyon -**İçerik**: -- Genel bilgi ve özellikler -- Kurulum yöntemleri -- Konfigürasyon açıklamaları -- Sorun giderme -**Hedef Kitle**: Tüm kullanıcılar - -#### `QUICKSTART.md` -**Amaç**: Hızlı başlangıç kılavuzu (5 dakika) -**İçerik**: -- Adım adım Dokploy deployment -- Minimum konfigürasyon -- İlk giriş bilgileri -- Temel troubleshooting -**Hedef Kitle**: Yeni kullanıcılar, hızlı deploy isteyenler - -#### `DEPLOYMENT.md` -**Amaç**: Detaylı deployment ve maintenance kılavuzu -**İçerik**: -- Tüm deployment yöntemleri (UI, CLI, Manuel) -- İlk yapılandırma adımları -- Güncelleme prosedürleri -- Backup/restore işlemleri -- Performans optimizasyonu -- Güvenlik best practices -- Kapsamlı troubleshooting -**Hedef Kitle**: System adminler, DevOps - -#### `SUMMARY.md` -**Amaç**: Paket özeti ve hızlı referans -**İçerik**: -- Uygulama listesi -- Mimari diyagram -- Servis açıklamaları -- Konfigürasyon referansı -- Sistem gereksinimleri -- Kullanım senaryoları -**Hedef Kitle**: Karar vericiler, teknik liderler - -#### `CHANGELOG.md` -**Amaç**: Versiyon geçmişi ve değişiklikler -**İçerik**: -- Versiyon notları -- Yeni özellikler -- Bug fix'ler -- Breaking changes -- Migration notları -**Format**: Keep a Changelog standardı -**Güncelleme**: Her release'de - -#### `CHECKLIST.md` -**Amaç**: Deployment öncesi/sonrası kontrol listesi -**İçerik**: -- Pre-deployment kontroller -- Deployment adımları -- Post-deployment doğrulamalar -- Production checklist -- Maintenance planı -**Kullanım**: Her deployment için checkbox'ları işaretleyin - -#### `FILES.md` -**Amaç**: Bu dosya - dosya yapısı dokümantasyonu -**İçerik**: -- Tüm dosyaların açıklamaları -- Kullanım amaçları -- İlişkiler ve dependencies -**Hedef Kitle**: Geliştiriciler, contributors - -### Script Dosyaları - -#### `install.sh` -**Amaç**: Otomatik kurulum scripti (Linux/Mac) -**Fonksiyonlar**: -- Gereksinim kontrolü (Docker, Docker Compose) -- .env dosyası oluşturma -- Image build -- Container başlatma -- Kurulum durumu takibi -**Kullanım**: `chmod +x install.sh && ./install.sh` -**Not**: Windows'da WSL veya Git Bash gerekir - -### Yardımcı Dosyalar - -#### `.dockerignore` -**Amaç**: Docker build'den hariç tutulacak dosyalar -**İçerik**: -- Git dosyaları -- Documentation -- Tests -- IDE ayarları -- Log dosyaları -**Fayda**: Build süresini kısaltır, image boyutunu küçültür - -#### `.gitignore` -**Amaç**: Git'e commit edilmeyecek dosyalar -**İçerik**: -- .env dosyası (şifreler!) -- Log dosyaları -- Temporary dosyalar -- OS-specific dosyalar -- Backup dosyaları -**Önemli**: .env asla commit edilmemeli! - -## 📊 Dosya İlişkileri - -``` -Dockerfile - ├─> apps.json (build sırasında uygulamaları yükler) - └─> resources/nginx-* (base image'e kopyalar) - -docker-compose.yml - ├─> Dockerfile (build eder veya registry'den çeker) - ├─> .env (environment variables) - └─> volumes (veri persistence) - -docker-compose.prod.yml - ├─> Pre-built image (GHCR) - └─> .env (production ayarları) - -README.md - ├─> QUICKSTART.md (referans) - ├─> DEPLOYMENT.md (referans) - └─> SUMMARY.md (referans) - -dokploy.json - └─> docker-compose.yml (deployment tanımı) -``` - -## 🔄 Kullanım Akışı - -### Development/Test -``` -1. apps.json → Uygulamaları tanımla -2. Dockerfile → Image build et -3. docker-compose.yml → Container'ları başlat -4. .env → Konfigüre et -5. install.sh → Otomatik kur (opsiyonel) -``` - -### Production (Dokploy) -``` -1. dokploy.json → Dokploy'a metadata ver -2. docker-compose.yml veya .prod.yml → Deploy tanımı -3. .env → Production ayarları -4. DEPLOYMENT.md → Adımları takip et -5. CHECKLIST.md → Kontrolleri yap -``` - -### Dokümantasyon Okuma Sırası -``` -Yeni Kullanıcı: -1. README.md → Genel bakış -2. QUICKSTART.md → Hemen başla -3. DEPLOYMENT.md → Detaylı bilgi (gerekirse) - -Admin/DevOps: -1. SUMMARY.md → Teknik özet -2. DEPLOYMENT.md → Full kılavuz -3. CHECKLIST.md → Kontrol listesi -4. CHANGELOG.md → Versiyon notları - -Developer: -1. FILES.md → Bu dosya -2. Dockerfile → Image yapısı -3. docker-compose.yml → Servis yapısı -4. apps.json → Uygulama listesi -``` - -## 📏 Dosya Boyutları (Tahmini) - -| Dosya | Boyut | Tip | -|-------|-------|-----| -| `apps.json` | ~500 bytes | JSON | -| `Dockerfile` | ~5 KB | Docker | -| `docker-compose.yml` | ~8 KB | YAML | -| `docker-compose.prod.yml` | ~10 KB | YAML | -| `.env` | ~1 KB | Config | -| `dokploy.json` | ~3 KB | JSON | -| `install.sh` | ~5 KB | Shell | -| `README.md` | ~15 KB | Markdown | -| `QUICKSTART.md` | ~20 KB | Markdown | -| `DEPLOYMENT.md` | ~30 KB | Markdown | -| `SUMMARY.md` | ~25 KB | Markdown | -| `CHANGELOG.md` | ~8 KB | Markdown | -| `CHECKLIST.md` | ~15 KB | Markdown | -| `FILES.md` | ~8 KB | Markdown | -| `.dockerignore` | ~500 bytes | Text | -| `.gitignore` | ~400 bytes | Text | -| **TOPLAM** | **~154 KB** | - | - -## 🎯 Önemli Notlar - -### Güvenlik -- ⚠️ `.env` dosyası asla Git'e commit edilmemeli -- ⚠️ Şifreler mutlaka değiştirilmeli (default'lar güvensiz) -- ⚠️ Production'da güçlü şifreler kullanılmalı - -### Bakım -- 📝 `CHANGELOG.md` her release'de güncellenmeli -- 📝 Documentation değişikliklerde sync tutulmalı -- 📝 Version numaraları consistent olmalı - -### Katkı -- Yeni dosya eklendiğinde bu listeye eklenmeli -- Major değişiklikler CHANGELOG'a yazılmalı -- Documentation güncel tutulmalı - -## 🔗 İlgili Kaynaklar - -- Parent repository: [frappe/frappe_docker](https://github.com/frappe/frappe_docker) -- Fork: [ubden/frappe_docker](https://github.com/ubden/frappe_docker) -- Dokploy: [dokploy.com](https://dokploy.com) -- Frappe: [frappeframework.com](https://frappeframework.com) -- ERPNext: [erpnext.com](https://erpnext.com) - ---- - -**Son Güncelleme**: 2025-10-13 -**Versiyon**: 1.0.0 -**Maintainer**: [@ubden](https://github.com/ubden) diff --git a/dokploy/INDEX.md b/dokploy/INDEX.md deleted file mode 100644 index fa0dea65..00000000 --- a/dokploy/INDEX.md +++ /dev/null @@ -1,235 +0,0 @@ -# Dokploy Klasörü - İçerik İndeksi - -Bu dosya, `dokploy/` klasöründeki tüm dosyaları kategorize eder ve hızlı erişim sağlar. - -## 📚 Dosya İndeksi - -### 🔧 Konfigürasyon Dosyaları - -| Dosya | Açıklama | Kullanım | -|-------|----------|----------| -| `apps.json` | Kurulacak Frappe uygulamaları listesi | Dockerfile build | -| `Dockerfile` | Özel ERPNext image tanımı | Image build | -| `docker-compose.yml` | Development/test deployment | `docker-compose up -d` | -| `docker-compose.prod.yml` | Production-optimized deployment | Production deployment | -| `.env.example` | Environment variables template | `.env` oluşturmak için | -| `dokploy.json` | Dokploy platform metadata | Dokploy UI | -| `.dockerignore` | Docker build ignore listesi | Build optimization | -| `.gitignore` | Git ignore listesi | Repository güvenliği | - -### 🚀 Otomasyon - -| Dosya | Açıklama | Çalıştırma | -|-------|----------|------------| -| `install.sh` | Otomatik kurulum scripti | `chmod +x install.sh && ./install.sh` | - -### 📖 Dokümantasyon - Kullanıcı Kılavuzları - -| Dosya | İçerik | Hedef Kitle | Sayfa | -|-------|--------|-------------|-------| -| `README.md` | Ana dokümantasyon | Tüm kullanıcılar | 15+ | -| `QUICKSTART.md` | 5 dakikada deployment | Yeni kullanıcılar | 20+ | -| `DEPLOYMENT.md` | Detaylı deployment ve maintenance | System adminler | 30+ | -| `CHECKLIST.md` | Deployment kontrol listesi | DevOps | 15+ | - -### 📖 Dokümantasyon - Teknik Referans - -| Dosya | İçerik | Hedef Kitle | Sayfa | -|-------|--------|-------------|-------| -| `SUMMARY.md` | Teknik özet ve mimari | Teknik liderler | 25+ | -| `ENV_VARIABLES.md` | Environment variables detayları | Tüm kullanıcılar | 30+ | -| `MODULAR_SETUP.md` | Modüler yapı kılavuzu | Geliştiriciler | 20+ | -| `FILES.md` | Dosya yapısı açıklamaları | Contributors | 15+ | -| `CHANGELOG.md` | Versiyon geçmişi | Herkes | 8+ | -| `INDEX.md` | Bu dosya - içerik indeksi | Herkes | 5+ | - -## 🎯 Hangi Dosyayı Okumalıyım? - -### Yeni Başlıyorum -``` -1. README.md → Genel bakış -2. QUICKSTART.md → Hızlı deployment -3. CHECKLIST.md → Öncesi/sonrası kontroller -``` - -### Production'a Deploy Edeceğim -``` -1. DEPLOYMENT.md → Full kılavuz -2. ENV_VARIABLES.md → Ayarları anlama -3. CHECKLIST.md → Production checklist -4. .env.example → Konfigürasyon -``` - -### Development Yapacağım -``` -1. MODULAR_SETUP.md → Modüler yapı -2. ENV_VARIABLES.md → Variables açıklamaları -3. FILES.md → Dosya yapısı -4. docker-compose.yml → Servis tanımları -5. Dockerfile → Image yapısı -``` - -### Sorun Giderme -``` -1. DEPLOYMENT.md → Troubleshooting bölümü -2. QUICKSTART.md → Common issues -3. ENV_VARIABLES.md → Variable sorunları -``` - -### Katkıda Bulunacağım -``` -1. FILES.md → Dosya yapısı -2. MODULAR_SETUP.md → Modüler yaklaşım -3. CHANGELOG.md → Version notları -4. docker-compose.yml → Servis yapısı -``` - -## 📊 Dosya Kategorileri ve İlişkiler - -### Deployment Akışı -``` -.env.example - ↓ (kopyala) -.env - ↓ (kullan) -docker-compose.yml - ↓ (çalıştır) - ├→ Dockerfile (build) - └→ apps.json (install apps) -``` - -### Dokümantasyon Hiyerarşisi -``` -INDEX.md (bu dosya) - ├→ README.md (ana giriş) - │ ├→ QUICKSTART.md (hızlı başlangıç) - │ ├→ DEPLOYMENT.md (detaylı kılavuz) - │ └→ CHECKLIST.md (kontrol listesi) - │ - ├→ SUMMARY.md (teknik özet) - │ - ├→ ENV_VARIABLES.md (variable referansı) - │ └→ .env.example (template) - │ - ├→ MODULAR_SETUP.md (modüler yapı) - │ - ├→ FILES.md (dosya yapısı) - │ - └→ CHANGELOG.md (versiyon notları) -``` - -## 🔍 Hızlı Arama - -### Konuya Göre - -#### Kurulum -- Hızlı: `QUICKSTART.md` -- Detaylı: `DEPLOYMENT.md` -- Otomatik: `install.sh` - -#### Konfigürasyon -- Template: `.env.example` -- Açıklamalar: `ENV_VARIABLES.md` -- Örnekler: `MODULAR_SETUP.md` - -#### Mimari -- Genel: `SUMMARY.md` -- Docker: `docker-compose.yml`, `Dockerfile` -- Uygulamalar: `apps.json` - -#### Sorun Giderme -- Deployment: `DEPLOYMENT.md` → Troubleshooting -- Quick fixes: `QUICKSTART.md` → Troubleshooting -- Variables: `ENV_VARIABLES.md` → Troubleshooting - -#### Güvenlik -- Best practices: `MODULAR_SETUP.md` → Security -- Checklist: `CHECKLIST.md` → Security -- Variables: `.env.example` → Production Checklist - -#### Performance -- Optimizasyon: `SUMMARY.md` → Performance -- Settings: `ENV_VARIABLES.md` → Performance -- Production: `docker-compose.prod.yml` - -## 📏 Dosya Boyutları - -| Kategori | Dosya Sayısı | Toplam Boyut | -|----------|--------------|--------------| -| Konfigürasyon | 8 | ~50 KB | -| Dokümantasyon | 10 | ~180 KB | -| Otomasyon | 1 | ~5 KB | -| **TOPLAM** | **19** | **~235 KB** | - -## 🎓 Okuma Önerileri - -### Yeni Kullanıcılar İçin (Sırayla) -1. `INDEX.md` (bu dosya) - 5 dakika -2. `README.md` - 10 dakika -3. `QUICKSTART.md` - 15 dakika -4. `.env.example` düzenle - 10 dakika -5. Deploy! - 15 dakika -6. `CHECKLIST.md` kontrol - 10 dakika - -**Toplam Süre**: ~1 saat (deployment dahil) - -### Deneyimli Kullanıcılar İçin -1. `SUMMARY.md` - Teknik özet -2. `.env.example` - Konfigürasyon -3. `docker-compose.yml` - Servis yapısı -4. Deploy! - -**Toplam Süre**: ~30 dakika - -### DevOps Ekip İçin -1. `DEPLOYMENT.md` - Full kılavuz -2. `ENV_VARIABLES.md` - Variable referansı -3. `MODULAR_SETUP.md` - Modüler yapı -4. `CHECKLIST.md` - Production checklist - -**Toplam Süre**: ~2 saat (production deployment dahil) - -## 🔗 Harici Kaynaklar - -### Frappe & ERPNext -- [Frappe Framework Docs](https://frappeframework.com/docs) -- [ERPNext User Manual](https://docs.erpnext.com) -- [Frappe Forum](https://discuss.frappe.io) - -### Docker -- [Docker Documentation](https://docs.docker.com) -- [Docker Compose Reference](https://docs.docker.com/compose/) -- [Dockerfile Best Practices](https://docs.docker.com/develop/dev-best-practices/) - -### Dokploy -- [Dokploy Documentation](https://dokploy.com/docs) -- [Dokploy GitHub](https://github.com/dokploy/dokploy) - -### Parent Repository -- [frappe/frappe_docker](https://github.com/frappe/frappe_docker) -- [Fork: ubden/frappe_docker](https://github.com/ubden/frappe_docker) - -## 📝 Güncelleme Notları - -Bu index dosyası her yeni dosya eklendiğinde veya major değişiklik olduğunda güncellenmektedir. - -### Versiyon 1.0.0 (2025-10-13) -- ✅ İlk dokümantasyon seti tamamlandı -- ✅ 19 dosya oluşturuldu -- ✅ ~235 KB dokümantasyon -- ✅ Modüler yapı kuruldu -- ✅ .env.example ile konfigürasyon yönetimi - -## 🎯 Sonraki Adımlar - -Deployment için: -1. Bu index'i okudunuz ✅ -2. `QUICKSTART.md` dosyasına gidin → -3. Deployment'ı başlatın! 🚀 - ---- - -**Son Güncelleme**: 2025-10-13 -**Versiyon**: 1.0.0 -**Maintainer**: [@ubden](https://github.com/ubden) - diff --git a/dokploy/MINIMAL_VS_FULL.md b/dokploy/MINIMAL_VS_FULL.md deleted file mode 100644 index 7b51771c..00000000 --- a/dokploy/MINIMAL_VS_FULL.md +++ /dev/null @@ -1,257 +0,0 @@ -# Minimal vs Full Setup Karşılaştırması - -## 📊 Setup Karşılaştırması - -| Özellik | Minimal (5 Apps) | Full (9 Apps) | -|---------|-----------------|---------------| -| **Build Süresi** | 15-20 dakika ⚡ | 30-40 dakika | -| **Disk Kullanımı** | 4-5 GB 💾 | 8 GB | -| **Memory Kullanımı** | ~2 GB | ~4 GB | -| **Complexity** | Basit ✅ | Kompleks | -| **Maintenance** | Kolay | Zor | - -## 📦 Uygulama Karşılaştırması - -### Minimal Setup (Mevcut) - -``` -✅ ERPNext - ERP Core -✅ HRMS - HR Management -✅ CRM - Customer Relations -✅ Helpdesk - Customer Support -✅ Payments - Payment Gateways -``` - -**Toplam**: 5 App - -### Full Setup - -``` -✅ ERPNext - ERP Core -✅ HRMS - HR Management -✅ CRM - Customer Relations -✅ Helpdesk - Customer Support -✅ Payments - Payment Gateways -➕ LMS - E-Learning -➕ Builder - Website Builder -➕ Print Designer - Custom Prints -➕ Wiki - Knowledge Base -``` - -**Toplam**: 9 App - -## 🎯 Hangi Setup Size Uygun? - -### Minimal Setup İçin İdeal (Önerilen) - -✅ **Küçük-Orta İşletmeler** -- ERP + HR + CRM ihtiyacı var -- Basit başlamak istiyorlar -- Hızlı deployment gerekli - -✅ **E-Ticaret** -- Ürün/stok yönetimi -- Müşteri takibi -- Ödeme entegrasyonu -- Destek sistemi - -✅ **Hizmet Şirketleri** -- Proje yönetimi -- HR takibi -- Müşteri CRM -- Ticket sistemi - -✅ **Yeni Başlayanlar** -- Frappe'ye yeni başlayanlar -- Test/POC aşamasında -- Sonra eklemek isteyenler - -### Full Setup İçin İdeal - -✅ **Eğitim Kurumları** -- LMS gerekli -- Online kurslar -- Öğrenci yönetimi - -✅ **Ajanslar/Danışmanlık** -- Builder (müşteri siteleri) -- Wiki (dokümantasyon) -- Custom print formats - -✅ **Büyük Organizasyonlar** -- Tüm özellikleri kullanacaklar -- Disk/memory sınırlaması yok -- Kompleksliği yönetebilirler - -## 💾 Kaynak Kullanımı - -### Disk Kullanımı - -``` -Minimal Setup: -├─ Base image: 1.5 GB -├─ ERPNext: 1.0 GB -├─ HRMS: 0.5 GB -├─ CRM: 0.8 GB -├─ Helpdesk: 0.7 GB -└─ Payments: 0.5 GB -TOPLAM: ~5 GB - -Full Setup: -├─ Minimal: 5 GB -├─ LMS: 1.2 GB -├─ Builder: 0.8 GB -├─ Print Designer: 0.6 GB -└─ Wiki: 0.4 GB -TOPLAM: ~8 GB -``` - -### Memory Kullanımı (Runtime) - -``` -Minimal Setup: -├─ Backend: 800 MB -├─ Frontend: 200 MB -├─ Workers: 600 MB -├─ Database: 400 MB -└─ Redis: 200 MB -TOPLAM: ~2.2 GB - -Full Setup: -├─ Backend: 1.5 GB (daha fazla app) -├─ Frontend: 300 MB -├─ Workers: 1 GB -├─ Database: 600 MB -└─ Redis: 300 MB -TOPLAM: ~3.7 GB -``` - -## ⏱️ Build Süresi Analizi - -### Minimal Setup (5 apps) - -``` -1. ERPNext: 3 dakika -2. HRMS: 2 dakika -3. CRM: 2 dakika -4. Helpdesk: 1.5 dakika -5. Payments: 1 dakika -6. Cleanup: 0.5 dakika -TOPLAM: ~10 dakika -``` - -### Full Setup (9 apps) - -``` -1-5: Minimal apps: 10 dakika -6. LMS: 3 dakika -7. Builder: 2.5 dakika -8. Print Designer: 2 dakika -9. Wiki: 1.5 dakika -10. Cleanup: 1 dakika -TOPLAM: ~20 dakika -``` - -## 🔄 Migration (Minimal ↔ Full) - -### Minimal'e Geçiş (Full'den) - -```bash -# Backup alın -bench --site backup --with-files - -# Kullanmadığınız app'leri kaldırın -bench --site uninstall-app lms -bench --site uninstall-app builder -bench --site uninstall-app print_designer -bench --site uninstall-app wiki - -# Apps klasöründen silin -cd apps -rm -rf lms builder print_designer wiki - -# Restart -bench restart -``` - -### Full'e Geçiş (Minimal'den) - -```bash -# Uygulamaları ekleyin (yukarıdaki manuel kurulum bölümüne bakın) -bench get-app lms -bench get-app builder -bench get-app print_designer -bench get-app wiki - -# Build edin -bench build - -# Site'a kurun -bench --site install-app lms -bench --site install-app builder -bench --site install-app print_designer -bench --site install-app wiki - -# Restart -bench restart -``` - -## 📈 Sistem Gereksinimleri - -### Minimal Setup - -**Minimum**: -- CPU: 2 cores -- RAM: 4 GB -- Disk: 15 GB - -**Önerilen**: -- CPU: 4 cores -- RAM: 8 GB -- Disk: 30 GB SSD - -### Full Setup - -**Minimum**: -- CPU: 4 cores -- RAM: 8 GB -- Disk: 25 GB - -**Önerilen**: -- CPU: 8 cores -- RAM: 16 GB -- Disk: 50 GB SSD - -## 🎓 Öneri - -### Çoğu Kullanıcı İçin: **Minimal Setup** ✨ - -**Sebep**: -1. Hızlı başlayın -2. İhtiyaç oldukça ekleyin -3. Kaynakları verimli kullanın -4. Bakımı kolay - -### Özel İhtiyaçlar: **Full Setup** - -Sadece şu durumlarda: -- LMS kesinlikle gerekli -- Çok sayıda website oluşturulacak -- Kompleks print formatları var -- Geniş wiki/dokümantasyon gerekli - -## 📝 Özet - -**Minimal Setup = Önerilen! ⭐** - -- ✅ 5 core app -- ✅ Hızlı ve verimli -- ✅ Production-ready -- ✅ İhtiyaca göre genişleyebilir - ---- - -**Son Güncelleme**: 2025-10-13 -**Önerilen**: Minimal Setup -**Toplam App**: 5 - diff --git a/dokploy/MODULAR_SETUP.md b/dokploy/MODULAR_SETUP.md deleted file mode 100644 index 3353d03d..00000000 --- a/dokploy/MODULAR_SETUP.md +++ /dev/null @@ -1,405 +0,0 @@ -# Modüler Yapı Kılavuzu - -Bu doküman, Frappe ERPNext Dokploy deployment'ının modüler yapısını ve environment variable yönetimini açıklar. - -## 🎯 Modüler Yapının Avantajları - -1. **Esneklik**: Her environment için farklı konfigürasyon -2. **Güvenlik**: Hassas bilgiler .env dosyasında, Git'te değil -3. **Tekrar Kullanılabilirlik**: Aynı setup, farklı ayarlar -4. **Versiyonlama**: .env.example Git'te, gerçek .env dışında -5. **Dokümantasyon**: Her değişken açıklamalı -6. **Bakım Kolaylığı**: Merkezi konfigürasyon yönetimi - -## 📁 Dosya Yapısı - -``` -dokploy/ -├── .env.example # Tüm değişkenler + açıklamalar + örnekler -├── .env # Gerçek ayarlar (Git'e commit edilmez!) -├── docker-compose.yml # Ana deployment (environment variables kullanır) -├── docker-compose.prod.yml # Production optimized (environment variables kullanır) -├── Dockerfile # Image definition -├── ENV_VARIABLES.md # Detaylı değişken dokümantasyonu -└── MODULAR_SETUP.md # Bu dosya -``` - -## 🔄 Environment Variable Akışı - -``` -┌──────────────────┐ -│ .env.example │ Template (Git'te) -│ (Template) │ - Tüm değişkenler -└────────┬─────────┘ - Varsayılan değerler - │ - Açıklamalar - │ Kopyala - Örnekler - ▼ -┌──────────────────┐ -│ .env │ Gerçek Konfigürasyon (Git'te DEĞİL!) -│ (Actual Config) │ - Özelleştirilmiş değerler -└────────┬─────────┘ - Production şifreleri - │ - Gerçek domain'ler - │ Okunur - ▼ -┌──────────────────┐ -│ docker-compose │ Deployment -│ .yml │ - ${VARIABLE:-default} formatı -└────────┬─────────┘ - Fallback değerler - │ - Tüm servisler - │ Deploy - ▼ -┌──────────────────┐ -│ Containers │ Çalışan Sistem -│ (Running) │ - Konfigüre edilmiş -└──────────────────┘ - Production ready -``` - -## 🛠️ Kurulum Adımları - -### 1. Template'i Kopyalama - -```bash -# Dokploy klasörüne gidin -cd dokploy - -# .env.example'ı .env olarak kopyalayın -cp .env.example .env -``` - -### 2. Konfigürasyon Düzenleme - -```bash -# .env dosyasını açın -nano .env - -# Veya -vim .env - -# Veya favorite editörünüz -code .env -``` - -### 3. Zorunlu Değerleri Güncelleme - -Minimum olarak şunları değiştirin: - -```env -# Site bilgisi -SITE_NAME=erp.yourdomain.com - -# Güçlü şifreler (ÖNEMLİ!) -ADMIN_PASSWORD=YourSecurePassword123! -DB_PASSWORD=YourDatabasePassword456! -``` - -### 4. İsteğe Bağlı Optimizasyonlar - -İhtiyaca göre şunları da ayarlayın: - -```env -# Performance -PROXY_READ_TIMEOUT=300 -CLIENT_MAX_BODY_SIZE=100m - -# Deployment stratejisi -PULL_POLICY=always -RESTART_POLICY=unless-stopped - -# Versions -MARIADB_VERSION=10.6 -REDIS_VERSION=7 -``` - -### 5. Deployment - -```bash -# Docker Compose ile deploy -docker-compose up -d - -# Veya production config ile -docker-compose -f docker-compose.prod.yml up -d -``` - -## 📊 Environment Variable Kategorileri - -### 1. Zorunlu Değişkenler -```env -SITE_NAME= # Site domain -ADMIN_PASSWORD= # Admin şifresi -DB_PASSWORD= # DB şifresi -``` - -### 2. Network & Port -```env -HTTP_PORT=80 -UPSTREAM_REAL_IP_ADDRESS=127.0.0.1 -UPSTREAM_REAL_IP_HEADER=X-Forwarded-For -``` - -### 3. Frappe Framework -```env -FRAPPE_SITE_NAME_HEADER=$$host -FRAPPE_BRANCH=version-15 -``` - -### 4. Nginx -```env -PROXY_READ_TIMEOUT=120 -CLIENT_MAX_BODY_SIZE=50m -``` - -### 5. Docker -```env -CUSTOM_IMAGE=erpnext-complete -CUSTOM_TAG=latest -PULL_POLICY=build -RESTART_POLICY=unless-stopped -``` - -### 6. Database -```env -DB_HOST=mariadb -DB_PORT=3306 -MARIADB_VERSION=10.6 -``` - -### 7. Redis -```env -REDIS_CACHE=redis-cache:6379 -REDIS_QUEUE=redis-queue:6379 -REDIS_VERSION=7 -``` - -## 🔐 Güvenlik Best Practices - -### .env Dosyası Yönetimi - -1. **Asla Git'e Commit Etmeyin** - ```bash - # .gitignore kontrol - cat .gitignore | grep .env - - # Output: .env (olmalı!) - ``` - -2. **Güvenli Depolama** - - Password manager kullanın - - Encrypted backup alın - - Team'le güvenli paylaşın (1Password, LastPass vb.) - -3. **Şifre Güvenliği** - ```bash - # Güçlü şifre oluşturma - openssl rand -base64 32 - - # Veya - pwgen -s 20 1 - ``` - -### Environment Separation - -**Development (.env.dev)** -```env -SITE_NAME=dev.localhost -ADMIN_PASSWORD=DevPassword123 -PULL_POLICY=build -DEVELOPER_MODE=1 -``` - -**Staging (.env.staging)** -```env -SITE_NAME=staging.yourdomain.com -ADMIN_PASSWORD=StagingSecure456! -PULL_POLICY=always -CUSTOM_TAG=develop -``` - -**Production (.env.prod)** -```env -SITE_NAME=erp.yourdomain.com -ADMIN_PASSWORD=ProdVerySecure789! -PULL_POLICY=always -CUSTOM_TAG=v1.0.0 -RESTART_POLICY=unless-stopped -``` - -## 🔄 Değişken Güncellemeleri - -### Değişiklik Yapma - -```bash -# 1. .env dosyasını düzenleyin -nano .env - -# 2. Değişiklikleri uygulayın -docker-compose down -docker-compose up -d - -# Veya sadece yeniden başlatma -docker-compose restart -``` - -### Runtime'da Değişiklik - -Bazı değişiklikler container yeniden oluşturma gerektirir: - -```bash -# Image değişikliği -docker-compose up -d --build - -# Volume değişikliği -docker-compose down -v -docker-compose up -d - -# Tüm yeniden oluşturma -docker-compose up -d --force-recreate -``` - -## 📝 Dokümantasyon - -### Değişken Ekleme - -Yeni bir environment variable eklerken: - -1. **.env.example'a ekleyin** - ```env - # Yeni Özellik - # Açıklama: Ne işe yarar - # Varsayılan: default_value - # Örnek: example_value - NEW_VARIABLE=default_value - ``` - -2. **docker-compose.yml'e ekleyin** - ```yaml - environment: - NEW_VARIABLE: ${NEW_VARIABLE:-default_value} - ``` - -3. **ENV_VARIABLES.md'yi güncelleyin** - - Detaylı açıklama - - Kullanım örnekleri - - Best practices - -4. **CHANGELOG.md'ye not düşün** - - Yeni özellik olarak işaretleyin - - Migration notları ekleyin - -## 🎯 Kullanım Senaryoları - -### Senaryo 1: Multi-Environment Setup - -```bash -# Development -cp .env.example .env.dev -nano .env.dev -docker-compose --env-file .env.dev up -d - -# Production -cp .env.example .env.prod -nano .env.prod -docker-compose --env-file .env.prod -f docker-compose.prod.yml up -d -``` - -### Senaryo 2: Team Collaboration - -```bash -# Her developer kendi .env'ini oluşturur -cp .env.example .env.local -nano .env.local - -# Ortak ayarlar .env.example'da -git add .env.example -git commit -m "Update environment template" -``` - -### Senaryo 3: CI/CD Integration - -```yaml -# .github/workflows/deploy.yml -- name: Create .env - run: | - echo "SITE_NAME=${{ secrets.SITE_NAME }}" >> .env - echo "ADMIN_PASSWORD=${{ secrets.ADMIN_PASSWORD }}" >> .env - echo "DB_PASSWORD=${{ secrets.DB_PASSWORD }}" >> .env - -- name: Deploy - run: docker-compose up -d -``` - -### Senaryo 4: Dokploy Deployment - -Dokploy UI'da environment variables: -- `.env.example` dosyasından kopyalayın -- Her değeri Dokploy'a yapıştırın -- Secret olanları "Secret" olarak işaretleyin - -## 🔍 Troubleshooting - -### Variable Tanınmıyor - -```bash -# .env dosyası var mı? -ls -la .env - -# Doğru formatta mı? -cat .env | grep SITE_NAME - -# Docker Compose'a belirtin -docker-compose --env-file .env config -``` - -### Değişiklikler Uygulanmıyor - -```bash -# Container'ları yeniden oluşturun -docker-compose up -d --force-recreate - -# Image'i yeniden build edin -docker-compose build --no-cache - -# Volume'ları temizleyin (DİKKAT: Veri kaybı!) -docker-compose down -v -``` - -### Özel Karakter Sorunları - -```bash -# Tırnak kullanın -ADMIN_PASSWORD="MyPass@123!" - -# Veya escape edin -ADMIN_PASSWORD=MyPass\@123\! -``` - -## 📚 İlgili Dokümantasyon - -- `.env.example` - Tüm değişkenler ve örnekler -- `ENV_VARIABLES.md` - Detaylı değişken açıklamaları -- `DEPLOYMENT.md` - Deployment kılavuzu -- `QUICKSTART.md` - Hızlı başlangıç -- `docker-compose.yml` - Servis tanımları - -## 🎓 Best Practices Özeti - -✅ **DO (YAPIN)** -- `.env.example` kullanın template olarak -- Güçlü şifreler kullanın -- Her environment için ayrı .env -- Hassas bilgileri şifreleyin -- Dokümantasyonu güncel tutun -- Versiyonları pin'leyin (production) - -❌ **DON'T (YAPMAYIN)** -- .env'i Git'e commit etmeyin -- Weak passwords kullanmayın -- Production'da default değerler bırakmayın -- .env dosyasını paylaşmayın (şifresiz) -- Dokümantasyonu skip etmeyin -- Test etmeden deploy etmeyin - ---- - -**Son Güncelleme**: 2025-10-13 -**Versiyon**: 1.0.0 - diff --git a/dokploy/QUICKSTART.md b/dokploy/QUICKSTART.md index 8e8e4221..52e2bdcf 100644 --- a/dokploy/QUICKSTART.md +++ b/dokploy/QUICKSTART.md @@ -1,311 +1,98 @@ -# 🚀 Dokploy Hızlı Başlangıç +# 🚀 Hızlı Başlangıç Kılavuzu -Frappe ERPNext'i Dokploy'da 5 dakikada deploy edin! +Frappe ERPNext'i 4 temel uygulama ile 5 dakikada deploy edin! -## ⚡ Hızlı Deploy (Önerilen) +## ⚡ 1 Dakikada Deploy -### Adım 1: Dokploy'da Yeni Proje +### Adım 1: Dokploy'da Yeni Service -1. Dokploy dashboard'unuza gidin -2. **Projects** → **Create Project** butonuna tıklayın -3. Proje adı: `frappe-erpnext` +1. Dokploy dashboard → **Projects** → **Create Project** +2. Proje adı: `frappe-erp` -### Adım 2: Service Ekleyin +### Adım 2: Docker Compose Service -1. **Add Service** → **Docker Compose** seçin -2. Aşağıdaki bilgileri girin: - - **Name**: `erpnext-complete` +1. **Add Service** → **Docker Compose** +2. Bilgileri girin: + - **Name**: `erpnext` - **Repository**: `https://github.com/ubden/frappe_docker` - **Branch**: `main` - **Compose Path**: `dokploy/docker-compose.yml` ### Adım 3: Environment Variables -Aşağıdaki değişkenleri ekleyin (hepsini **Secret** olarak işaretleyin): - | Variable | Değer | Açıklama | |----------|-------|----------| | `SITE_NAME` | `erp.yourdomain.com` | Site domain adı | -| `ADMIN_PASSWORD` | `YourSecurePass123!` | Admin şifresi | -| `DB_PASSWORD` | `DBSecurePass456!` | Database şifresi | -| `HTTP_PORT` | `80` | HTTP port | +| `ADMIN_PASSWORD` | `YourPass123!` | Admin şifresi (güçlü) | +| `DB_PASSWORD` | `DBPass456!` | Database şifresi (güçlü) | +| `HTTP_PORT` | `8088` | Frontend port | -**⚠️ ÖNEMLİ**: -- Güçlü şifreler kullanın! -- Production için `SITE_NAME`'i gerçek domain adınızla değiştirin +**⚠️ ÖNEMLİ**: Şifreleri "Secret" olarak işaretleyin! -### Adım 4: Deploy! +### Adım 4: Domain + SSL -1. **Deploy** butonuna tıklayın -2. ☕ Deployment 10-15 dakika sürer (kahve molası zamanı!) -3. Logları izleyin: `create-site` servisi "Exit 0" göstermeli +1. **Domains** sekmesi → **Add Domain** +2. Domain: `erp.yourdomain.com` +3. Port: `8088` +4. **Enable HTTPS** ✅ +5. **Force HTTPS** ✅ -### Adım 5: Domain Yapılandırması (İsteğe Bağlı) +### Adım 5: Deploy! -1. **Domains** sekmesine gidin -2. Domain adınızı ekleyin: `erp.yourdomain.com` -3. **Enable HTTPS** işaretleyin (otomatik SSL sertifikası) +**Deploy** butonuna tıklayın → 10-15 dakika bekleyin → Hazır! 🎉 -### Adım 6: Giriş Yapın! +## ✅ Kurulu Uygulamalar -1. Browser'da sitenize gidin: `https://erp.yourdomain.com` -2. Giriş bilgileri: - - 👤 **Username**: `Administrator` - - 🔑 **Password**: `ADMIN_PASSWORD` değeriniz +- ✅ **ERPNext** - ERP Core +- ✅ **CRM** - Müşteri Yönetimi +- ✅ **Helpdesk** - Destek Sistemi +- ✅ **Payments** - Ödeme Entegrasyonları -## ✅ Kurulu Uygulamalar (Minimal Setup) +## 🌐 İlk Giriş -Deploy sonrası otomatik olarak şu uygulamalar kurulu gelir: - -- ✅ **ERPNext** - ERP Core (Accounting, Inventory, Sales, Purchase, Manufacturing) -- ✅ **HRMS** - İnsan Kaynakları (Payroll, Leave, Attendance, Performance) -- ✅ **CRM** - Müşteri İlişkileri (Lead, Deal, Contact Management) -- ✅ **Helpdesk** - Destek Sistemi (Ticket, SLA, Knowledge Base) -- ✅ **Payments** - Ödeme Entegrasyonları (Stripe, PayPal, Razorpay) - -**Toplam**: 5 Uygulama (Minimal ve hızlı kurulum) - -### 🔧 Manuel Eklenebilir - -İhtiyaç halinde sonradan ekleyebilirsiniz: -- LMS (E-Learning) -- Builder (Website Builder) -- Print Designer (Custom Print Formats) -- Wiki (Knowledge Base) +``` +URL: https://erp.yourdomain.com +Username: Administrator +Password: [ADMIN_PASSWORD değeriniz] +``` ## 📊 Sistem Gereksinimleri -### Minimum -- **CPU**: 2 cores -- **RAM**: 4GB -- **Disk**: 20GB +**Minimum**: +- CPU: 2 cores +- RAM: 4 GB +- Disk: 15 GB -### Önerilen (Production) -- **CPU**: 4+ cores -- **RAM**: 8GB+ -- **Disk**: 50GB+ SSD +**Önerilen**: +- CPU: 4 cores +- RAM: 8 GB +- Disk: 30 GB SSD ## 🔧 İlk Yapılandırma -### 1. Setup Wizard -İlk girişte Setup Wizard otomatik açılır: -- Şirket bilgilerini girin -- Para birimi seçin -- Sektör bilgisi -- Chart of Accounts - -### 2. Email Ayarları -**Settings** → **Email Account**: -- SMTP server bilgileri -- Gönderen email adresi -- Notifications için email - -### 3. Kullanıcı Ekleyin -**User Management** → **Add User**: -- Email adresi -- Rol atamaları -- İzinler - -## 🔄 Güncellemeler - -### Otomatik Güncelleme -Dokploy'da: -1. Service'inize gidin -2. **Redeploy** butonuna tıklayın -3. Yeni image build edilir ve deploy edilir - -### Manuel Güncelleme -```bash -docker exec -it bash -bench update --reset -bench --site migrate -bench build -``` +1. Setup Wizard'ı tamamlayın +2. Şirket bilgilerini girin +3. Email ayarlarını yapın +4. İlk kullanıcıları ekleyin ## 💾 Backup -### Otomatik Backup Kurulumu - -1. Dokploy service ayarlarında **Cron Job** ekleyin: - ```bash - 0 2 * * * docker exec bench --site backup --with-files - ``` - -2. Backup dosyaları: `/home/frappe/frappe-bench/sites//private/backups/` - -### Manuel Backup - ```bash -# Container'a girin -docker exec -it bash - -# Backup oluştur -bench --site backup --with-files - -# Backup'ları görüntüle -ls -lh sites//private/backups/ +docker exec -it bench --site backup --with-files ``` -### Backup'ları İndirme +## 🐛 Sorun Giderme -```bash -# Docker volume'dan local'e kopyala -docker cp :/home/frappe/frappe-bench/sites//private/backups/. ./backups/ -``` +**Site açılmıyor**: +- Browser cache temizleyin +- Container loglarını kontrol edin -## 📈 Monitoring - -### Dokploy Dashboard -- **Logs**: Tüm servislerin logları -- **Metrics**: CPU, RAM, Disk kullanımı -- **Health**: Container durumları - -### Manuel Kontrol - -```bash -# Container durumları -docker-compose ps - -# Logları görüntüle -docker-compose logs -f - -# Resource kullanımı -docker stats -``` - -## 🛠️ Sorun Giderme - -### Site Açılmıyor - -**Çözüm 1**: Container'ları kontrol edin -```bash -docker-compose ps -# Tüm servisler "healthy" olmalı -``` - -**Çözüm 2**: Logları kontrol edin -```bash -docker-compose logs backend -docker-compose logs create-site -``` - -**Çözüm 3**: Browser cache'i temizleyin -- Ctrl+Shift+Delete (Chrome/Edge) -- Cmd+Shift+Delete (Safari) - -### "Site not found" Hatası - -```bash -# Site'ı kontrol et -docker exec bench --site all list-apps - -# Eğer site yoksa, yeniden oluştur -docker-compose up create-site -``` - -### Database Bağlantı Hatası - -```bash -# MariaDB çalışıyor mu? -docker-compose ps mariadb - -# MariaDB logları -docker-compose logs mariadb - -# Manuel bağlantı testi -docker exec wait-for-it mariadb:3306 -``` - -### Yavaş Çalışıyor - -1. **Server kaynaklarını kontrol edin**: - ```bash - docker stats - ``` - -2. **MariaDB buffer pool artırın** (docker-compose.yml): - ```yaml - mariadb: - command: - - --innodb-buffer-pool-size=4G - ``` - -3. **Worker sayısını artırın**: - ```yaml - backend: - command: - - --workers=4 - - --threads=8 - ``` - -## 🔐 Güvenlik İpuçları - -1. **Güçlü Şifreler Kullanın** - - En az 12 karakter - - Büyük/küçük harf, sayı, özel karakter karışımı - -2. **HTTPS Aktif Edin** - - Dokploy otomatik Let's Encrypt sertifikası oluşturur - - Domain'i ekleyin ve "Enable HTTPS" işaretleyin - -3. **Firewall Kuralları** - - Sadece 80 (HTTP) ve 443 (HTTPS) portlarını açın - - SSH (22) sadece güvenli IP'lerden erişilebilir olmalı - -4. **Düzenli Backup** - - Günlük otomatik backup kurun - - Backup'ları farklı lokasyonda saklayın - -5. **2FA Aktif Edin** - - **User** → **Two Factor Authentication** - - TOTP app ile (Google Authenticator, Authy vb.) - -## 📚 Yararlı Linkler - -- 📖 [Detaylı Deployment Kılavuzu](DEPLOYMENT.md) -- 🌐 [Frappe Docs](https://frappeframework.com/docs) -- 📘 [ERPNext Docs](https://docs.erpnext.com) -- 💬 [Frappe Forum](https://discuss.frappe.io) -- 🐛 [GitHub Issues](https://github.com/ubden/frappe_docker/issues) - -## 🎯 Sonraki Adımlar - -1. ✅ Setup Wizard'ı tamamlayın -2. ✅ Email ayarlarını yapın -3. ✅ Ek kullanıcılar oluşturun -4. ✅ Şirket bilgilerini güncelleyin -5. ✅ İlk ürün/hizmetinizi ekleyin -6. ✅ İlk müşterinizi ekleyin -7. ✅ Otomatik backup kurun - -## 💡 Pro İpuçları - -1. **Bench Console**: Gelişmiş Python komutları çalıştırın - ```bash - docker exec -it bench console - ``` - -2. **Clear Cache**: Site yavaşladıysa - ```bash - bench --site clear-cache - bench --site clear-website-cache - ``` - -3. **Rebuild Search Index**: Arama çalışmıyorsa - ```bash - bench --site rebuild-global-search - ``` - -4. **Migrate**: Update sonrası - ```bash - bench --site migrate - ``` +**"Site not found"**: +- create-site container loglarını kontrol edin +- Site oluşturuldu mu? --- -## 🎉 Tebrikler! - -Frappe ERPNext artık hazır! İyi çalışmalar! 🚀 - -Sorularınız için: [GitHub Discussions](https://github.com/ubden/frappe_docker/discussions) - +**Toplam Süre**: 15 dakika (deployment dahil) +**Uygulama Sayısı**: 4 +**SSL**: Otomatik diff --git a/dokploy/README.md b/dokploy/README.md index 5ff88a86..d42b0ac6 100644 --- a/dokploy/README.md +++ b/dokploy/README.md @@ -1,210 +1,85 @@ -# Frappe ERPNext - Dokploy için Hazır Kurulum +# Frappe ERPNext - Dokploy Deployment -Bu klasör, Frappe ERPNext'i tüm popüler uygulamalarıyla birlikte Dokploy'da kolayca deploy etmek için hazırlanmıştır. +Frappe ERPNext'i 4 temel uygulama ile Dokploy'da kolayca deploy edin. -## İçerilen Uygulamalar (Core + 3 Önemli App) +## 📦 İçerilen Uygulamalar -1. **ERPNext** - Tam özellikli ERP sistemi (Accounting, Inventory, Manufacturing, vb.) -2. **HRMS** - İnsan Kaynakları Yönetim Sistemi (Payroll, Leave, Attendance) -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 ([v1.14.0](https://github.com/frappe/helpdesk/releases/tag/v1.14.0)) -5. **Payments** - Ödeme Gateway Entegrasyonları (Stripe, PayPal, Razorpay) +1. **ERPNext** - Tam özellikli ERP (Accounting, Inventory, Sales, Manufacturing) +2. **CRM** - Müşteri İlişkileri Yönetimi +3. **Helpdesk** - Müşteri Destek Sistemi +4. **Payments** - Ödeme Gateway Entegrasyonları -### 🎯 Neden Bu Uygulamalar? +## 🚀 Hızlı Başlangıç -**Minimal ve Production-Ready Kurulum**: -- ✅ **Hızlı build** (~15-20 dakika) -- ✅ **Az disk kullanımı** (~4-5 GB) -- ✅ **Tüm core özellikler** mevcut -- ✅ **Frappe v15 tam uyumlu** - -**İhtiyaç halinde eklenebilir**: LMS, Builder, Print Designer, Wiki (manuel kurulum) - -**Not**: Frontend port **8088** kullanılır. SSL/HTTPS Dokploy tarafından otomatik yönetilir. - -## Dokploy'da Kurulum - -### Yöntem 1: GitHub'dan Direkt Deploy (Önerilen) - -1. Dokploy dashboard'unuza giriş yapın -2. "New Project" veya "New Service" butonuna tıklayın -3. "Docker Compose" seçeneğini seçin -4. Repository URL olarak GitHub fork'unuzu girin: `https://github.com/ubden/frappe_docker` -5. Branch: `main` -6. Docker Compose Path: `dokploy/docker-compose.yml` -7. Environment variables'ı ekleyin (`.env.example` dosyasına bakın) -8. Deploy butonuna tıklayın - -**💡 İpucu**: Tüm environment variables listesi ve detaylı açıklamaları için: -- `.env.example` dosyasına bakın (örneklerle birlikte) -- `ENV_VARIABLES.md` dosyasında detaylı açıklamalar bulunur - -### Yöntem 2: Manuel Kurulum - -1. Repository'yi klonlayın: - ```bash - git clone https://github.com/ubden/frappe_docker.git - cd frappe_docker/dokploy - ``` - -2. `.env.example` dosyasını `.env` olarak kopyalayın: - ```bash - cp .env.example .env - ``` - -3. `.env` dosyasını düzenleyin: - ```bash - nano .env - ``` - - Aşağıdaki zorunlu değerleri güncelleyin: - - `SITE_NAME`: Domain adınız (örn: erp.yourdomain.com) - - `ADMIN_PASSWORD`: Güçlü bir şifre - - `DB_PASSWORD`: Güçlü bir database şifresi - -4. Docker Compose ile başlatın: - ```bash - docker-compose up -d - ``` - -**📚 Detaylı Bilgi**: `.env.example` dosyasındaki tüm ayarların açıklamaları ve örnekleri için `ENV_VARIABLES.md` dosyasına bakın. - -## Environment Variables - -### Hızlı Başlangıç (Minimum Ayarlar) - -Dokploy'da aşağıdaki zorunlu environment variables'ları ayarlayın: - -```env -SITE_NAME=erp.yourdomain.com -ADMIN_PASSWORD=YourSecure@Pass123! -DB_PASSWORD=YourDB@Pass456! -``` - -### Tüm Ayarlar - -`.env.example` dosyasında **50+ environment variable** ve detaylı açıklamaları bulunur: - -- ✅ **Zorunlu Ayarlar**: Site name, passwords -- 🌐 **Network Ayarları**: Ports, timeouts -- 🔧 **Frappe Ayarları**: Site resolution, real IP -- 📦 **Docker Ayarları**: Image, tags, pull policy -- 💾 **Database Ayarları**: MariaDB configuration -- 🔴 **Redis Ayarları**: Cache & Queue -- 🚀 **Performance Ayarları**: Timeouts, limits -- 🔐 **Güvenlik Ayarları**: SSL, secrets - -**📖 Detaylı Dokümantasyon**: -- Tüm değişkenler: `.env.example` -- Açıklamalar ve örnekler: `ENV_VARIABLES.md` -- Konfigürasyon örnekleri: Development, Staging, Production - -### Örnek Konfigürasyonlar - -#### Development -```env -SITE_NAME=dev.localhost -HTTP_PORT=8080 -PULL_POLICY=build -DEVELOPER_MODE=1 -``` - -#### Production -```env -SITE_NAME=erp.yourdomain.com -ADMIN_PASSWORD=Prod@SecurePass789! -DB_PASSWORD=Prod@DBSecure012! -PROXY_READ_TIMEOUT=300 -CLIENT_MAX_BODY_SIZE=100m -PULL_POLICY=always -RESTART_POLICY=unless-stopped -``` - -Daha fazla örnek için `.env.example` dosyasına bakın. - -## İlk Kurulumdan Sonra - -1. Site'a erişim için domain adınızı Dokploy'da yapılandırın -2. İlk giriş bilgileri: - - **Kullanıcı Adı**: `Administrator` - - **Şifre**: `.env` dosyasında belirlediğiniz `ADMIN_PASSWORD` - -3. Tüm uygulamalar otomatik olarak kurulur ve kullanıma hazırdır - -## Önemli Notlar - -### Volumes (Veri Saklama) - -Aşağıdaki volumes sistem tarafından oluşturulur ve verilerinizi saklar: -- `mariadb-data`: Veritabanı verileri -- `redis-cache-data`: Redis cache verileri -- `redis-queue-data`: Redis queue verileri -- `sites`: Frappe site dosyaları -- `logs`: Uygulama logları - -### Performans Ayarları - -MariaDB için optimize edilmiş ayarlar: -- Max connections: 500 -- InnoDB buffer pool: 2GB -- InnoDB log file: 512MB - -Gerekirse `docker-compose.yml` dosyasındaki bu değerleri sunucu kapasitesine göre ayarlayabilirsiniz. - -### Backup - -Site verilerinizi yedeklemek için: +### Dokploy'da Deploy ```bash -# Container'a bağlanın -docker exec -it bash +Repository: https://github.com/ubden/frappe_docker +Branch: main +Compose Path: dokploy/docker-compose.yml +``` + +**Environment Variables**: +```env +SITE_NAME=erp.yourdomain.com +ADMIN_PASSWORD=your_secure_password +DB_PASSWORD=your_db_password +HTTP_PORT=8088 +``` + +**Domain + SSL**: +- Domain ekleyin: `erp.yourdomain.com` +- Enable HTTPS ✅ (Let's Encrypt otomatik) +- Force HTTPS ✅ + +**Deploy** butonuna tıklayın → 10-15 dakikada hazır! ✨ + +## 🔧 Teknik Detaylar + +- **Frontend Port**: 8088 +- **SSL**: Dokploy otomatik (Let's Encrypt) +- **Build Süresi**: 10-15 dakika +- **Disk Kullanımı**: 3-4 GB +- **Frappe**: v15 +- **ERPNext**: v15 + +## 📚 Dokümantasyon + +- [Hızlı Başlangıç](QUICKSTART.md) - 5 dakikada deploy +- [SSL Kurulumu](SSL_SETUP.md) - HTTPS konfigürasyonu +- [Environment Variables](ENV_VARIABLES.md) - Tüm ayarlar +- [Deployment Kılavuzu](DEPLOYMENT.md) - Detaylı adımlar + +## 💡 İlk Giriş + +``` +URL: https://erp.yourdomain.com +Username: Administrator +Password: [ADMIN_PASSWORD değeriniz] +``` + +## 🔄 Backup + +```bash +# Container'a girin +docker exec -it bash # Backup oluşturun bench --site backup --with-files -# Backup dosyaları şu dizinde bulunur: -# /home/frappe/frappe-bench/sites//private/backups/ +# Backup dosyaları +ls sites//private/backups/ ``` -### Güncelleme +## 🆘 Destek -Uygulamaları güncellemek için: - -```bash -# Container'a bağlanın -docker exec -it bash - -# Uygulamaları güncelleyin -bench --site migrate - -# Frontend assets'leri derleyin -bench build -``` - -## Sorun Giderme - -### Site açılmıyor -- Browser cache'i temizleyin -- Backend container loglarını kontrol edin: `docker logs ` -- Database bağlantısını kontrol edin - -### Yavaş çalışıyor -- MariaDB buffer pool ayarlarını artırın -- Worker sayısını artırın (docker-compose.yml'de gunicorn workers) -- Redis memory limit'i kontrol edin - -### Kurulum başarısız -- Database şifresinin doğru olduğundan emin olun -- Container'ların healthy olup olmadığını kontrol edin: `docker ps` -- Configurator container loglarını inceleyin - -## Destek ve Dokümantasyon - -- [Frappe Docs](https://frappeframework.com/docs) +- [GitHub Issues](https://github.com/ubden/frappe_docker/issues) +- [Frappe Forum](https://discuss.frappe.io) - [ERPNext Docs](https://docs.erpnext.com) -- [Frappe Docker GitHub](https://github.com/frappe/frappe_docker) -## Lisans - -Bu proje Frappe ERPNext'in lisans koşullarına tabidir. +--- +**Versiyon**: 1.0.0 +**Apps**: 4 (ERPNext, CRM, Helpdesk, Payments) +**Port**: 8088 +**SSL**: Auto diff --git a/dokploy/RUNTIME_FIX.md b/dokploy/RUNTIME_FIX.md deleted file mode 100644 index 157ffbfd..00000000 --- a/dokploy/RUNTIME_FIX.md +++ /dev/null @@ -1,236 +0,0 @@ -# ✅ 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) - diff --git a/dokploy/SUMMARY.md b/dokploy/SUMMARY.md index 5cac1637..01841e2e 100644 --- a/dokploy/SUMMARY.md +++ b/dokploy/SUMMARY.md @@ -1,361 +1,76 @@ -# Frappe ERPNext - Dokploy Kurulum Özeti +# Frappe ERPNext - Dokploy Paketi Özeti ## 📦 Paket İçeriği -Bu Dokploy paketi, Frappe ERPNext'i ve 8 ek uygulamayı tek seferde deploy etmenizi sağlar. +Frappe ERPNext ve 3 ek uygulama ile production-ready deployment paketi. -### İçerilen Uygulamalar (Minimal Setup) +### İçerilen Uygulamalar | Uygulama | Açıklama | Branch/Tag | |----------|----------|-----------| -| **ERPNext** | Tam özellikli ERP (Accounting, Inventory, Sales, Manufacturing) | version-15 | -| **HRMS** | İnsan Kaynakları Yönetimi (Payroll, Leave, Attendance) | version-15 | -| **CRM** | Müşteri İlişkileri Yönetimi (Lead, Deal, Contact) | main (v1.53.1) | -| **Helpdesk** | Müşteri Destek Sistemi (Ticket, SLA, Knowledge Base) | v1.14.0 | -| **Payments** | Ödeme Gateway Entegrasyonları (Stripe, PayPal, Razorpay) | main | +| **ERPNext** | ERP Core (Accounting, Inventory, Sales) | version-15 | +| **CRM** | Müşteri İlişkileri Yönetimi | main (v1.53.1) | +| **Helpdesk** | Destek Sistemi (Ticket, SLA) | v1.14.0 | +| **Payments** | Ödeme Entegrasyonları | main | -**Toplam**: 5 Production-Ready Uygulama +**Toplam**: 4 Uygulama -**Avantajlar**: -- 🚀 Hızlı build (~15-20 dakika) -- 💾 Az disk kullanımı (~4-5 GB) -- ✅ Tüm core özellikler dahil -- ✅ Frappe v15 tam uyumlu +## 🎯 Özellikler + +- ⚡ Hızlı deployment (10-15 dakika) +- 💾 Az disk kullanımı (3-4 GB) +- 🔒 Otomatik SSL (Let's Encrypt) +- 🚀 Production-ready konfigürasyon +- 📱 Port 8088 ## 🏗️ Mimari ``` -┌─────────────────────────────────────────┐ -│ Dokploy Platform │ -└─────────────────┬───────────────────────┘ - │ - ┌─────────────┴─────────────┐ - │ Docker Compose │ - └─────────────┬─────────────┘ - │ - ┌─────────────┴─────────────────────────┐ - │ │ - ▼ ▼ -┌───────────┐ ┌────────────┐ -│ Frontend │ │ Backend │ -│ (Nginx) │◄─────────────────────┤ (Gunicorn) │ -└─────┬─────┘ └──────┬─────┘ - │ │ - │ ┌─────────────────────────┤ - │ │ │ - ▼ ▼ ▼ -┌──────────┐ ┌──────────┐ ┌─────────────┐ -│WebSocket │ │ Workers │ │ Scheduler │ -│ (Node) │ │ (Short) │ │ (Cron) │ -└────┬─────┘ └────┬─────┘ └──────┬──────┘ - │ │ │ - │ └──────────┬───────────┘ - │ │ - ▼ ▼ -┌─────────────┐ ┌──────────────┐ -│ Redis │ │ MariaDB │ -│ Cache │ │ Database │ -└─────────────┘ └──────────────┘ +Browser (HTTPS:443) + ↓ +Dokploy Proxy (SSL) + ↓ +Frontend (Port 8088 → 8080) + ↓ +Backend (Port 8000) + ↓ +MariaDB + Redis ``` -## 📋 Dosya Yapısı +## 📊 Performans -``` -dokploy/ -├── apps.json # Kurulacak uygulamaların listesi -├── Dockerfile # Özel Frappe ERPNext image tanımı -├── docker-compose.yml # Development/local kullanım için -├── docker-compose.prod.yml # Production için optimize edilmiş -├── .env # Environment variables (kopyalanacak) -├── .dockerignore # Docker build için ignore dosyası -├── dokploy.json # Dokploy metadata -├── install.sh # Otomatik kurulum scripti -├── README.md # Ana dokümantasyon -├── QUICKSTART.md # Hızlı başlangıç kılavuzu -├── DEPLOYMENT.md # Detaylı deployment kılavuzu -└── SUMMARY.md # Bu dosya -``` +- **Build Süresi**: 10-15 dakika +- **Memory**: 2 GB +- **Disk**: 3-4 GB +- **CPU**: 2+ cores -## 🚀 Hızlı Başlangıç +## 🔧 Konfigürasyon -### 1 Dakikada Deploy +### Environment Variables -```bash -# Dokploy Dashboard → New Project → Docker Compose -Repository: https://github.com/ubden/frappe_docker -Branch: main -Compose Path: dokploy/docker-compose.yml - -# Environment Variables ekle: +```env SITE_NAME=erp.yourdomain.com -ADMIN_PASSWORD=your_secure_password -DB_PASSWORD=your_db_password - -# Deploy butonuna tıkla! +ADMIN_PASSWORD=your_password +DB_PASSWORD=db_password +HTTP_PORT=8088 ``` -Detaylı bilgi: [QUICKSTART.md](QUICKSTART.md) +### SSL -## ⚙️ Konfigürasyon - -### Temel Ayarlar - -| Variable | Varsayılan | Açıklama | -|----------|-----------|----------| -| `SITE_NAME` | `site1.localhost` | Site domain adı | -| `ADMIN_PASSWORD` | `admin` | Administrator şifresi | -| `DB_PASSWORD` | `changeit` | MariaDB root şifresi | -| `HTTP_PORT` | `80` | HTTP port | - -### Gelişmiş Ayarlar - -| Variable | Varsayılan | Açıklama | -|----------|-----------|----------| -| `CLIENT_MAX_BODY_SIZE` | `50m` | Maksimum upload boyutu | -| `PROXY_READ_TIMEOUT` | `120` | Proxy timeout (saniye) | -| `FRAPPE_SITE_NAME_HEADER` | `$$host` | Site resolution header | - -## 🔧 Servisler - -### Core Services -- **frontend**: Nginx reverse proxy (Port 8080) -- **backend**: Gunicorn application server -- **websocket**: Socket.IO server (real-time) - -### Data Services -- **mariadb**: MariaDB 10.6 (utf8mb4) -- **redis-cache**: Redis cache layer -- **redis-queue**: Redis job queue - -### Worker Services -- **queue-short**: Kısa süreli işler -- **queue-long**: Uzun süreli işler -- **scheduler**: Zamanlanmış görevler - -### Setup Services (One-time) -- **configurator**: İlk konfigürasyon -- **create-site**: Site oluşturma - -## 💾 Volumes (Veri Depolama) - -```yaml -volumes: - mariadb-data: # Database verileri - redis-cache-data: # Redis cache - redis-queue-data: # Redis queue - sites: # Frappe sites ve dosyalar - logs: # Application logs -``` - -**⚠️ ÖNEMLİ**: Bu volume'ları silmeden önce mutlaka backup alın! - -## 🔒 Güvenlik - -### Önerilen Güvenlik Ayarları - -1. **Güçlü Şifreler** - ``` - Min 12 karakter - Büyük/küçük harf + sayı + özel karakter - ``` - -2. **HTTPS/SSL** - - Dokploy otomatik Let's Encrypt - - Domain ekle + "Enable HTTPS" - -3. **Firewall** - ```bash - Açık portlar: 80, 443 - SSH: Sadece güvenli IP'ler - ``` - -4. **2FA (Two-Factor Authentication)** - - User ayarlarından aktif edin - - TOTP app kullanın (Google Authenticator vb.) - -5. **Düzenli Backup** - - Günlük otomatik backup - - Off-site backup storage - -## 📊 Sistem Gereksinimleri - -### Minimum (Test/Development) -``` -CPU: 2 cores -RAM: 4GB -Disk: 20GB -``` - -### Önerilen (Production) -``` -CPU: 4+ cores -RAM: 8GB+ -Disk: 50GB+ SSD -``` - -### Optimal (Enterprise) -``` -CPU: 8+ cores -RAM: 16GB+ -Disk: 100GB+ NVMe SSD -``` - -## 📈 Performans Ayarları - -### MariaDB Optimizasyonu -```yaml -innodb-buffer-pool-size: 4G # RAM'in %50-75'i -max-connections: 1000 -innodb-log-file-size: 1G -``` - -### Gunicorn Workers -```python -workers = CPU_count × 2 -threads = 8 -timeout = 300 -``` - -### Redis Memory -``` -redis-cache: 2GB (LRU eviction) -redis-queue: 1GB (No eviction) -``` - -## 🛠️ Maintenance - -### Güncellemeler - -```bash -# Dokploy'da: Redeploy butonu - -# Manuel: -docker exec bench update --reset -docker exec bench migrate -docker exec bench build -``` - -### Backup - -```bash -# Otomatik (Cron) -0 2 * * * docker exec bench --site backup --with-files - -# Manuel -docker exec bench --site backup --with-files -``` - -### Monitoring - -```bash -# Container durumu -docker-compose ps - -# Loglar -docker-compose logs -f [service-name] - -# Resource kullanımı -docker stats -``` - -## 🐛 Yaygın Sorunlar - -| Sorun | Çözüm | -|-------|-------| -| Site açılmıyor | Browser cache temizle, container loglarını kontrol et | -| "Site not found" | `docker-compose up create-site` çalıştır | -| Yavaş çalışıyor | Worker/buffer pool ayarlarını artır | -| DB bağlantı hatası | MariaDB container'ın healthy olduğunu kontrol et | - -Detaylı sorun giderme: [DEPLOYMENT.md#troubleshooting](DEPLOYMENT.md) +- Dokploy otomatik Let's Encrypt +- HTTPS force redirect +- Auto renewal ## 📚 Dokümantasyon -- 🚀 [Hızlı Başlangıç](QUICKSTART.md) - 5 dakikada deploy -- 📖 [Deployment Kılavuzu](DEPLOYMENT.md) - Detaylı adımlar -- 📝 [Ana README](README.md) - Genel bilgiler -- 🌐 [Frappe Docs](https://frappeframework.com/docs) - Framework dokümantasyonu -- 📘 [ERPNext Docs](https://docs.erpnext.com) - Uygulama dokümantasyonu - -## 🎯 Kullanım Senaryoları - -### 1. Küçük İşletme -``` -✓ Muhasebe ve Finans (ERPNext) -✓ Müşteri Yönetimi (CRM) -✓ Web Sitesi (Builder) -✓ Bilgi Tabanı (Wiki) -``` - -### 2. E-Ticaret -``` -✓ Ürün/Stok Yönetimi (ERPNext) -✓ Kargo Entegrasyonu (Shipping) -✓ Ödeme İşlemleri (Payments) -✓ Müşteri İletişimi (CRM + Twilio) -``` - -### 3. Eğitim Kurumu -``` -✓ Online Kurslar (LMS) -✓ Öğrenci Yönetimi (ERPNext) -✓ Dökümanlar (Wiki) -✓ Web Sitesi (Builder) -``` - -### 4. Hizmet Şirketi -``` -✓ Proje Yönetimi (ERPNext) -✓ CRM (Müşteri Takibi) -✓ Faturalandırma (ERPNext) -✓ SMS Bildirimleri (Twilio) -``` - -## 🔄 Versiyon Bilgisi - -- **Frappe Framework**: v15 -- **ERPNext**: v15 -- **Python**: 3.11.6 -- **Node.js**: 20.19.2 -- **MariaDB**: 10.6 -- **Redis**: 7 -- **Nginx**: Latest (Debian Bookworm) - -## 🤝 Destek - -### Community Support -- 💬 [Frappe Forum](https://discuss.frappe.io) -- 💭 [GitHub Discussions](https://github.com/ubden/frappe_docker/discussions) - -### Issues & Bugs -- 🐛 [GitHub Issues](https://github.com/ubden/frappe_docker/issues) - -### Commercial Support -- 📧 [Frappe Cloud](https://frappecloud.com) - Managed hosting -- 🏢 [Frappe Technologies](https://frappe.io/support) - Enterprise support - -## 📄 Lisans - -Bu proje ve içerdiği uygulamalar çeşitli açık kaynak lisansları altında sunulmaktadır: - -- **Frappe Framework**: MIT License -- **ERPNext**: GNU GPLv3 -- **Diğer Uygulamalar**: İlgili repository'lerindeki lisanslar - -Detaylar için: [LICENSE](../LICENSE) - -## 🙏 Teşekkürler - -Bu proje şu harika açık kaynak projelere dayanmaktadır: - -- [Frappe](https://github.com/frappe/frappe) -- [ERPNext](https://github.com/frappe/erpnext) -- [Frappe Docker](https://github.com/frappe/frappe_docker) -- [Dokploy](https://dokploy.com) +- [README](README.md) - Genel bilgi +- [QUICKSTART](QUICKSTART.md) - Hızlı başlangıç +- [SSL_SETUP](SSL_SETUP.md) - SSL konfigürasyonu +- [ENV_VARIABLES](ENV_VARIABLES.md) - Environment variables --- -**Son Güncelleme**: 2025-10-13 -**Versiyon**: 1.0.0 -**Maintainer**: [@ubden](https://github.com/ubden) - +**Apps**: 4 +**Port**: 8088 +**SSL**: Auto +**Build**: 10-15 min diff --git a/dokploy/apps.json b/dokploy/apps.json index 3d4b0140..37702016 100644 --- a/dokploy/apps.json +++ b/dokploy/apps.json @@ -3,10 +3,6 @@ "url": "https://github.com/frappe/erpnext.git", "branch": "version-15" }, - { - "url": "https://github.com/frappe/hrms.git", - "branch": "version-15" - }, { "url": "https://github.com/frappe/crm.git", "branch": "main" diff --git a/dokploy/docker-compose.yml b/dokploy/docker-compose.yml index b2f7e1d9..649636c9 100644 --- a/dokploy/docker-compose.yml +++ b/dokploy/docker-compose.yml @@ -123,7 +123,7 @@ services: wait-for-it -t 120 redis-cache:6379; wait-for-it -t 120 redis-queue:6379; if [ ! -f /home/frappe/frappe-bench/sites/${SITE_NAME:-site1.localhost}/site_config.json ]; then - bench new-site ${SITE_NAME:-site1.localhost} --admin-password=${ADMIN_PASSWORD:-admin} --db-root-password=${DB_PASSWORD:-changeit} --install-app erpnext --install-app hrms --install-app crm --install-app helpdesk --install-app payments --no-mariadb-socket; + bench new-site ${SITE_NAME:-site1.localhost} --admin-password=${ADMIN_PASSWORD:-admin} --db-root-password=${DB_PASSWORD:-changeit} --install-app erpnext --install-app crm --install-app helpdesk --install-app payments --no-mariadb-socket; else echo "Site already exists, skipping site creation"; fi