frappe_docker/dokploy/SUMMARY.md
ubden 3e9c8bbd4e feat: Complete Dokploy setup with modular structure and extensive documentation
- Added Dokploy setup documentation including Dockerfile, Docker Compose configurations, and automation scripts.
- Integrated 9 applications (ERPNext, CRM, LMS, Builder, Print Designer, Payments, Wiki, Twilio Integration, ERPNext Shipping) into a single image.
- Implemented health checks, production optimizations, and CI/CD workflows with GitHub Actions.
- Created comprehensive guides for environment variables, deployment, and modular setup.
- Introduced a checklist for deployment and a changelog for tracking changes.
2025-10-13 22:51:01 +03:00

10 KiB
Raw Blame History

Frappe ERPNext - Dokploy Kurulum Özeti

📦 Paket İçeriği

Bu Dokploy paketi, Frappe ERPNext'i ve 8 ek uygulamayı tek seferde deploy etmenizi sağlar.

İçerilen Uygulamalar

Uygulama ıklama Branch
ERPNext Tam özellikli açık kaynak ERP sistemi version-15
CRM Müşteri İlişkileri Yönetimi main
LMS Öğrenme Yönetim Sistemi (e-Learning) main
Builder Drag & Drop Web Sitesi Oluşturucu main
Print Designer Özel Yazdırma Şablonu Tasarımcısı main
Payments Ödeme Gateway Entegrasyonları develop
Wiki Bilgi Tabanı ve Dokümantasyon Sistemi main
Twilio Integration SMS ve Telefon Araması Entegrasyonu master
ERPNext Shipping Kargo Firmalarıyla Entegrasyon main

🏗️ Mimari

┌─────────────────────────────────────────┐
│           Dokploy Platform              │
└─────────────────┬───────────────────────┘
                  │
    ┌─────────────┴─────────────┐
    │    Docker Compose         │
    └─────────────┬─────────────┘
                  │
    ┌─────────────┴─────────────────────────┐
    │                                       │
    ▼                                       ▼
┌───────────┐                      ┌────────────┐
│  Frontend │                      │   Backend  │
│  (Nginx)  │◄─────────────────────┤ (Gunicorn) │
└─────┬─────┘                      └──────┬─────┘
      │                                   │
      │         ┌─────────────────────────┤
      │         │                         │
      ▼         ▼                         ▼
┌──────────┐ ┌──────────┐         ┌─────────────┐
│WebSocket │ │  Workers │         │  Scheduler  │
│  (Node)  │ │ (Short)  │         │   (Cron)    │
└────┬─────┘ └────┬─────┘         └──────┬──────┘
     │            │                      │
     │            └──────────┬───────────┘
     │                       │
     ▼                       ▼
┌─────────────┐      ┌──────────────┐
│   Redis     │      │   MariaDB    │
│   Cache     │      │  Database    │
└─────────────┘      └──────────────┘

📋 Dosya Yapısı

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

🚀 Hızlı Başlangıç

1 Dakikada Deploy

# Dokploy Dashboard → New Project → Docker Compose
Repository: https://github.com/ubden/frappe_docker
Branch: main
Compose Path: dokploy/docker-compose.yml

# Environment Variables ekle:
SITE_NAME=erp.yourdomain.com
ADMIN_PASSWORD=your_secure_password
DB_PASSWORD=your_db_password

# Deploy butonuna tıkla!

Detaylı bilgi: QUICKSTART.md

⚙️ Konfigürasyon

Temel Ayarlar

Variable Varsayılan ı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 ı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)

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

    ı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

innodb-buffer-pool-size: 4G  # RAM'in %50-75'i
max-connections: 1000
innodb-log-file-size: 1G

Gunicorn Workers

workers = CPU_count × 2
threads = 8
timeout = 300

Redis Memory

redis-cache:  2GB (LRU eviction)
redis-queue:  1GB (No eviction)

🛠️ Maintenance

Güncellemeler

# Dokploy'da: Redeploy butonu

# Manuel:
docker exec <backend> bench update --reset
docker exec <backend> bench migrate
docker exec <backend> bench build

Backup

# Otomatik (Cron)
0 2 * * * docker exec <backend> bench --site <site> backup --with-files

# Manuel
docker exec <backend> bench --site <site> backup --with-files

Monitoring

# 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

📚 Dokümantasyon

🎯 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

Issues & Bugs

Commercial 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

🙏 Teşekkürler

Bu proje şu harika açık kaynak projelere dayanmaktadır:


Son Güncelleme: 2025-10-13
Versiyon: 1.0.0
Maintainer: @ubden