frappe_docker/dokploy/FILES.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

7.7 KiB
Raw Blame History

Dokploy Klasörü - Dosya Açıklamaları

Bu dokümanda dokploy/ klasöründeki tüm dosyalar ve amaçlarıı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


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