mirror of
https://github.com/frappe/frappe_docker.git
synced 2026-06-24 08:45:10 +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.
8 KiB
8 KiB
Dokploy Deployment Kılavuzu
Bu kılavuz, Frappe ERPNext'i Dokploy'da deploy etmek için adım adım talimatları içerir.
Ön Gereksinimler
- Dokploy kurulu bir sunucu
- En az 4GB RAM ve 20GB disk alanı
- Domain adı (isteğe bağlı, localhost ile de çalışır)
Deployment Yöntemleri
Yöntem 1: Dokploy UI ile GitHub'dan Deploy (En Kolay)
-
Dokploy Dashboard'a Giriş
- Dokploy panel adresinize gidin (örn:
https://dokploy.example.com) - Giriş yapın
- Dokploy panel adresinize gidin (örn:
-
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
-
Yeni Service Oluşturma
- Oluşturduğunuz projenin içinde "Add Service" butonuna tıklayın
- Service Type:
Docker Compose - Service Name:
erpnext-complete
-
Git Repository Bağlama
- Repository Type:
GitHub - Repository URL:
https://github.com/ubden/frappe_docker - Branch:
main - Compose File Path:
dokploy/docker-compose.yml
- Repository Type:
-
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_NAMEdeğerini domain adınız veya IP adresiniz ile değiştirinADMIN_PASSWORDveDB_PASSWORDiçin güçlü şifreler kullanın- Şifreleri "Secret" olarak işaretleyin
-
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
-
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)
-
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
-
Dokploy CLI Kurulumu
npm install -g @dokploy/cli -
Login
dokploy login https://your-dokploy-instance.com -
Proje Oluşturma
dokploy project create frappe-erpnext -
Service Deploy
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:
# 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
Deployment Sonrası
İlk Giriş
- Browser'da site adresinize gidin:
http://your-site-nameveyahttps://your-domain.com - Giriş bilgileri:
- Username:
Administrator - Password:
.envdosyasında belirlediğinizADMIN_PASSWORD
- Username:
Kurulu Uygulamaları Kontrol
- Sol menüden "App Manager" seçeneğine gidin (veya
/appURL'sine) - Aşağıdaki uygulamaların kurulu olduğunu doğrulayın:
- ✅ ERPNext
- ✅ CRM
- ✅ LMS
- ✅ Builder
- ✅ Print Designer
- ✅ Payments
- ✅ Wiki
- ✅ Twilio Integration
- ✅ ERPNext Shipping
İlk Yapılandırma
-
System Settings
- Setup Wizard'ı tamamlayın (şirket bilgileri, para birimi vb.)
-
Email Ayarları
- Email Account oluşturun (SMTP ayarları)
- Notifications için email göndericisini ayarlayın
-
Kullanıcı Oluşturma
- Ek kullanıcılar oluşturun
- Roller ve izinler atayın
Güncelleme
Dokploy UI ile
- Dokploy dashboard'da service'inize gidin
- "Redeploy" butonuna tıklayın
- Yeni image build edilecek ve container'lar güncellenecektir
Manuel Güncelleme
# Container'a bağlanın
docker exec -it <backend-container-name> bash
# Uygulamaları güncelleyin
cd /home/frappe/frappe-bench
bench update --reset
# Site'ı migrate edin
bench --site <site-name> migrate
# Assets'leri build edin
bench build
# Container'ları yeniden başlatın
exit
docker-compose restart
Backup ve Restore
Otomatik Backup (Cron ile)
compose.backup-cron.yamldosyasını kullanın:docker-compose -f docker-compose.yml -f ../overrides/compose.backup-cron.yaml up -d
Manuel Backup
# Container'a girin
docker exec -it <backend-container-name> bash
# Backup oluştur
bench --site <site-name> backup --with-files
# Backup'ları listele
ls -lh sites/<site-name>/private/backups/
Restore
# Container'a girin
docker exec -it <backend-container-name> bash
# Database restore
bench --site <site-name> --force restore \
/home/frappe/frappe-bench/sites/<site-name>/private/backups/[database-file].sql.gz
# Files restore (isteğe bağlı)
bench --site <site-name> --force restore \
--with-private-files /path/to/private-files.tar \
--with-public-files /path/to/public-files.tar
Monitoring ve Loglar
Dokploy Dashboard
- "Logs" sekmesinden tüm servislerin loglarını görebilirsiniz
- "Metrics" sekmesinden kaynak kullanımını izleyebilirsiniz
CLI ile
# 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:
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:
backend:
command:
- gunicorn
- --workers=4 # CPU core sayısı x 2
- --threads=8
Troubleshooting
Site açılmıyor
# Container'ların durumunu kontrol et
docker-compose ps
# Backend loglarını kontrol et
docker-compose logs backend
# Database bağlantısını kontrol et
docker-compose exec mariadb mysql -u root -p
"Site not found" hatası
# Site'ların listesini kontrol et
docker-compose exec backend bench --site all list-apps
# Site config'i kontrol et
docker-compose exec backend cat sites/<site-name>/site_config.json
Yavaş çalışıyor
- Redis memory'yi kontrol edin
- MariaDB buffer pool'u artırın
- Worker sayısını artırın
- Server kaynaklarını kontrol edin (CPU, RAM, Disk I/O)
Database bağlantı hatası
# MariaDB healthy mi kontrol et
docker-compose ps mariadb
# 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
# Administrator şifresini değiştir
docker-compose exec backend bench --site <site-name> set-admin-password <new-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:
- Domain'inizi DNS'e ekleyin
- Dokploy'da domain'i ekleyin
- "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
Yararlı Komutlar
# 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