Gereksinimler
FlowDesk üç konteynerin (API, Dashboard, Tracker) bir Kubernetes kümesinde çalışmasıyla kurulur. Hangi bulut sağlayıcısını veya deployment aracını kullandığınız kurumunuzun tercihidir; burada anlatılan gereksinimler karşılandığı sürece uygulama beklenen biçimde çalışır.
Mimari
Bölüm başlığı “Mimari”tarayıcı ──HTTPS──▶ [sizin ingress'iniz] ──┬──▶ flowdesk-web :3000 ──┐ ├──▶ flowdesk-tracker :3001 ──┤ (HTTP, sunucu tarafı) └──▶ flowdesk-api :8080 ◀─┘ │ PostgreSQL veya SQL Server · Redis · RabbitMQ veya Kafka │ dışarı ──▶ lisans sunucusu · Keycloak (varsa) · SMTP/IMAP (varsa)Üç konteyner de düz HTTP dinler ve TLS beklemez: sertifikayı önlerindeki ingress sonlandırır. Loglar stdout’a yazılır.
Kubernetes kümesi
Bölüm başlığı “Kubernetes kümesi”shftco/flowdesk-kuberneteschart’ıapps/v1Deployment venetworking.k8s.io/v1Ingress kaynaklarını kullanır: bu, pratikte Kubernetes 1.19 ve üzeri her sürümle çalışır demektir. SHFT tarafından ayrıca belgelenmiş bir alt sınır yoktur; k3s dahil herhangi bir uyumlu küme olur.- ingress-nginx: chart’ın ürettiği Ingress kaynağı
ingressClassName: nginxbekler. - cert-manager: bir
ClusterIssuerile (ör. Let’s Encrypt) TLS sertifikalarını yönetir. cert-manager kurulu değilse veya bir issuer belirtmezseniz TLS’i kendiniz yönetmeniz gerekir. - Varsayılan bir
StorageClass: veritabanı ve ek dosyaları (attachments) için kalıcı disk ayırmak üzere gerekir (k3s’telocal-pathyeterlidir).
Veritabanı
Bölüm başlığı “Veritabanı”PostgreSQL 14+ veya SQL Server 2019+: hangisini kullanacağınızı kurulum sırasında
Database:Provider ile seçersiniz (bkz. Yapılandırma). İkisi de aynı
imajla çalışır; sonradan değiştirmek veri taşımayı gerektirir, o yüzden önceden karar verin.
Chart, demo/tek-replika kalitesinde bir in-cluster PostgreSQL ile birlikte gelir
(postgres.enabled: true); üretimde yönetilen bir veritabanı (RDS, Cloud SQL, Azure Database vb.)
kullanmak isterseniz bunu kapatıp kendi bağlantı dizenizi verirsiniz.
Redis 7+. Oturum/refresh jetonları ve genel cache için kullanılır. Chart demo/tek-replika
kalitesinde bir in-cluster Redis içerir (redis.enabled: true); kapatıp kendi Redis’inizi
gösterebilirsiniz. Üretimde Redis’i devre dışı bırakmayın.
Mesaj kuyruğu: RabbitMQ veya Kafka
Bölüm başlığı “Mesaj kuyruğu: RabbitMQ veya Kafka”Arka plan işleri (bildirimler, otomasyon, gelen e-posta işleme) bir mesaj kuyruğu üzerinden
yürür. Seçim Messaging:Provider ile yapılır:
- RabbitMQ (varsayılan): chart demo/tek-replika kalitesinde bir in-cluster RabbitMQ 3.x içerir, ya da kendi RabbitMQ’nuzu gösterebilirsiniz.
- Kafka: kendi Kafka kümenizi gösterebilir, ya da chart’ın demo amaçlı tek-node in-cluster
Kafka’sını (
messaging.kafka.inCluster.enabled) açabilirsiniz.Productionortamında, yerel olmayan bir broker şifrelenmemiş protokolle (plaintext) çalışamaz. API açılışı reddeder.
Kimlik doğrulama
Bölüm başlığı “Kimlik doğrulama”FlowDesk API’si e-posta/parola, LDAP ve Keycloak (OIDC) login sağlayıcılarını destekler
(Auth:Providers). Keycloak kullanacaksanız kurumunuzun kendi Keycloak sunucusu (26+ önerilir)
gerekir: realm, client ve kullanıcı yönetimi tamamen sizde kalır. Ayrıntı için
Yapılandırma sayfasına bakın.
E-posta (opsiyonel ama önerilir)
Bölüm başlığı “E-posta (opsiyonel ama önerilir)”Giden bildirimler (karşılama e-postası, tek kullanımlık şifreler) için bir SMTP hesabı; gelen postadan otomatik talep açmak istiyorsanız ayrıca IMAP erişimi olan bir posta kutusu gerekir. Bu ayarlar panelden girilir, ortam değişkeni gerekmez; bkz. E-posta ayarları.
Kaynak beklentileri
Bölüm başlığı “Kaynak beklentileri”Chart’ın values.yaml içindeki varsayılan requests/limits değerleri, tek replikalı,
demo/küçük ölçek bir kurulum için düşünülmüştür; üretim yükünüze göre values.yaml’da
ayarlayın.
| Bileşen | CPU (istek / limit) | Bellek (istek / limit) |
|---|---|---|
| API | 250m / 1 | 256Mi / 1Gi |
| Dashboard (web) | 100m / 500m | 128Mi / 512Mi |
| Tracker | 100m / 500m | 128Mi / 512Mi |
| PostgreSQL (in-cluster ise) | 250m / 1 | 256Mi / 1Gi |
| Redis (in-cluster ise) | 50m / 250m | 64Mi / 256Mi |
| RabbitMQ (in-cluster ise) | 100m / 500m | 256Mi / 512Mi |
Tamamı in-cluster çalıştırılırsa toplam istek yaklaşık 0,85 vCPU / ~1,1Gi bellek, toplam limit yaklaşık 3,75 vCPU / ~3,75Gi bellek’tir.
Kalıcı disk (PVC) ihtiyacı:
| Amaç | Varsayılan boyut | Kayıp durumunda etki |
|---|---|---|
API: dosya ekleri (/app/attachments) |
5Gi (zamanla büyür) | Ekler ve arşivlenmiş gelen e-postalar kaybolur |
API: lisans durumu (/var/lib/flowdesk) |
1Gi | Kritik değil; kurulum yeni bir kimlikle yeniden kaydolur |
| PostgreSQL (in-cluster ise) | 5Gi | Tüm veri kaybolur |
Ağ gereksinimleri
Bölüm başlığı “Ağ gereksinimleri”İçeri (ingress üzerinden): panel adresi, takip adresi ve API adresi için üç ayrı hostname. Proxy’nizde request body size limitini yükseltin (öneri 25 MB): varsayılan 1 MB sınırı dosya eklerini keser.
Dışarı (uygulamadan):
| Hedef | Ne için | Zorunlu mu |
|---|---|---|
ghcr.io |
İmajları çekmek (yalnızca deploy anında) | Evet |
license-api.flowdesk.com.tr |
Lisans kontrolü, HTTPS, ~12 saatte bir | Evet (lisanssız da çalışır, bkz. Yapılandırma) |
| Keycloak sunucunuz | Kimlik doğrulama | Keycloak kullanılıyorsa |
| SMTP/IMAP sunucunuz | Giden/gelen e-posta | E-posta kullanılacaksa |
SHFT’den kurumunuzun sistemlerine yönlendirilen bir bağlantı yoktur; trafik tek yönlüdür ve kurumunuzdan dışarıya doğrudur.
Kuruluma başlamadan önce kararlaştırın
Bölüm başlığı “Kuruluma başlamadan önce kararlaştırın”- Çalıştıracağınız imaj etiketleri (sürümler); bkz. Sürüm Notları
- Panel, API ve takip ekranı için hostname’ler
- Veritabanı: PostgreSQL mi SQL Server mı
- Kimlik doğrulama sağlayıcısı: EmailPassword, LDAP veya Keycloak
- Mesaj kuyruğu: RabbitMQ mu Kafka mı
Hazır olduğunuzda Helm ile kurulum sayfasına geçin.