mirror of
https://github.com/frappe/frappe_docker.git
synced 2026-06-24 16:55:08 +00:00
- 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.
10 KiB
10 KiB
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 | Açı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 | 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)
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ı
-
Güçlü Şifreler
Min 12 karakter Büyük/küçük harf + sayı + özel karakter -
HTTPS/SSL
- Dokploy otomatik Let's Encrypt
- Domain ekle + "Enable HTTPS"
-
Firewall
Açık portlar: 80, 443 SSH: Sadece güvenli IP'ler -
2FA (Two-Factor Authentication)
- User ayarlarından aktif edin
- TOTP app kullanın (Google Authenticator vb.)
-
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
- 🚀 Hızlı Başlangıç - 5 dakikada deploy
- 📖 Deployment Kılavuzu - Detaylı adımlar
- 📝 Ana README - Genel bilgiler
- 🌐 Frappe Docs - Framework dokümantasyonu
- 📘 ERPNext Docs - 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
Issues & Bugs
Commercial Support
- 📧 Frappe Cloud - Managed hosting
- 🏢 Frappe Technologies - 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
🙏 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