Genel Bakış
LibreChat dağıtımına giriş, çeşitli barındırma ve ağ hizmetlerinin karşılaştırmasını sunar
LibreChat dağıtımına yönelik giriş kılavuzuna hoş geldiniz. Bu belge, dağıtım stratejilerinin kapsamlı bir şekilde anlaşılmasını sağlayan, bir karşılaştırma tablosu ve ayrıntılı kılavuzlara referanslar içeren başlangıç düzeyinde bir genel bakış sunmaktadır.
Bu kılavuzda, özel gereksinimlerinizi karşılayacak şekilde özelleştirilmiş, çeşitli ortamlarda LibreChat'i verimli bir şekilde dağıtmak için farklı seçenekleri keşfedeceksiniz.
Minimum Requirements
LibreChat'i çalıştırmak için minimum gereksinimler:
- 1 GiB RAM
- 1 vCPU
Not: Her şey etkinleştirildiğinde, daha sorunsuz bir çalışma için RAM'i 2GB'a yükseltmeyi düşünebilirsiniz.
Karşılaştırma Tablosu
"Recommended" etiketinin, bu hizmetlerin iyi belgelendiğini, topluluk içinde yaygın olarak kullanıldığını veya önemli sayıda kullanıcı tarafından başarıyla dağıtıldığını belirttiğini unutmayın. Sonuç olarak, LibreChat'i bu hizmetler üzerinde dağıtmak için daha iyi destek sunabiliyoruz.
Barındırma Hizmetleri
| Hizmet | Alan | Artıları | Eksileri | Yorumlar | Önerilen |
|---|---|---|---|---|---|
| DigitalOcean | Bulut Altyapısı | Sezgisel arayüz, istikrarlı fiyatlandırma | Daha küçük ağ ayak izi | Meraklılar ve küçük-orta ölçekli işletmeler için ideal | ✅ Bilinen, Güvenilir |
| HuggingFace | AI/ML Çözümleri | ML/NLP uzmanlığı | ML uygulamalarına odaklı | AI/ML girişimleri için mükemmel | ✅ Ücretsiz |
| Railway | Uygulama Dağıtımı | Basitleştirilmiş uygulama dağıtımı | Konteynerlere sınırlı erişim | Başlaması çok kolay | ✅ Kolay |
Ağ Hizmetleri
| Hizmet | Alan | Artıları | Eksileri | Yorumlar |
|---|---|---|---|---|
| Cloudflare | Web Performansı ve Güvenliği | Küresel CDN, DDoS koruması, kullanım kolaylığı | Müşteri desteği yavaş olabilir | Güvenlik iyileştirmeleri için en iyi seçenek |
| Nginx | Web Sunucusu, Ters Vekil Sunucu | Yüksek performans, kararlılık, kaynak verimliliği | Manuel kurulum, sınırlı eklentiler | Performansı nedeniyle barındırma için yaygın olarak kullanılır |
| ngrok | Güvenli Tünelleme | Kullanımı kolay, ücretsiz katman mevcut, güvenli tünelleme | İstemci indirmeyi gerektirir, karmaşık alan adı yönlendirme | Yerel geliştirme testleri için kullanışlıdır |
| Traefik | Ters Vekil Sunucu, Yük Dengeleyici | Otomatik hizmet keşfi, yerel küme desteği | Yapılandırma yeni başlayanlar için karmaşık olabilir | Mikro hizmetler ve dinamik ortamlar için idealdir |
Cloudflare, internet hizmetlerini hızlandıran ve güvenliğini sağlayan geniş ağıyla bilinir; ayrıca premium planlarında sezgisel bir kullanıcı arayüzü ve güçlü güvenlik seçenekleri sunar.
Ngrok, basitliği ve yerel sunucuları hızlı bir şekilde internete açabilme yeteneği ile övülür; bu da onu demolar ve testler için ideal kılar.
Nginx, kaynakları verimli bir şekilde yöneten ve kararlılık sunan yüksek performanslı bir web sunucusudur. Bununla birlikte, manuel kurulum gerektirir ve diğer sunuculara kıyasla daha az modül ve eklentiye sahiptir.
Traefik, otomatik yapılandırma güncellemeleri ve konteyner ortamlarındaki dağıtım kolaylığı ile bilinir; çeşitli arka uçlarla entegrasyonu ve dinamik yeniden yapılandırma yetenekleri sayesinde DevOps ekiplerine hitap eder. Mikro hizmet mimarilerinde oldukça başarılıdır ancak bulut yerel (cloud-native) teknolojilerinde yeni olanlar için zorluklar yaratabilir.
Bulut Sağlayıcı Entegrasyonu ve Yapılandırması
Bulut sağlayıcılarıyla entegrasyon seviyesi değişiklik göstermektedir: Railway gibi tek tıkla LibreChat kurulumuna olanak tanıyan platformlardan, Azure ve Terraform gibi Kod Olarak Altyapı (Infrastructure as Code) araçlarından yararlanan platformlara ve DigitalOcean, Linode ve Hetzner örneklerinde olduğu gibi manuel yapılandırma gerektiren daha geleneksel VM kurulumlarına kadar çeşitlilik sunar.
Temel Güvenlik Hususları
Dijital ortamda gezinmek, çevrimiçi varlıklarınızın güvenliğine ve bütünlüğüne yönelik sayısız tehdidi ortaya çıkarmaktadır. Dijital alanınızı korumak için güçlü güvenlik önlemleri uygulamak hayati önem taşır.
Uygulamaları küresel ölçekte dağıtırken, dijital varlıklarınızın korunmasını sağlamak için aşağıdaki temel faktörleri göz önünde bulundurmak esastır:
- Verilerin iletim sırasında şifrelenmesi: Verilerinizi ele geçirme ve dinleme saldırılarına karşı korumak için SSL sertifikalarıyla HTTPS uygulamak hayati önem taşır.
- Küresel erişilebilirlik etkileri: Uygulamanızı küresel ölçekte dağıtmanın, bölgeye göre değişen yasal ve uyumluluk gereklilikleri de dahil olmak üzere doğuracağı sonuçları anlayın.
- Güvenli yapılandırma: Uygulamanızın, güvenli protokollerin kullanımı, güvenli kimlik doğrulama ve yetkilendirme mekanizmaları dahil olmak üzere güvenli bir şekilde yapılandırıldığından emin olun.
Dağıtımınız için IaaS veya Tünel hizmetlerini kullanmayı seçerseniz, bunlardan birkaçını saymak gerekirse Nginx, Traefik veya Cloudflare gibi bir ters vekil sunucu (reverse proxy) kullanmanız gerekebilir.
Dijital varlıklarınızı korumak ve küresel dağıtımınızın başarısını sağlamak için uygun güvenlik önlemlerine yatırım yapmak çok önemlidir.
Bulut sağlayıcısını (ör. platform) seçme
"Gerçek bir dağıtım" için bir bulut sağlayıcısı seçmek; maliyet, performans, güvenlik ve ölçeklenebilirliği etkilediği için çok önemlidir. Veri merkezi konumları, endüstri standartlarına uyumluluk, mevcut araçlarla uyumluluk ve müşteri desteği gibi faktörleri göz önünde bulundurmalısınız.
Birçok açıdan farklılık gösteren çok sayıda seçenek bulunmaktadır. Bu bölümde, ekibin ve topluluğun kullandığı, ilk dağıtımınızda size yardımcı olabilecek bazı seçenekleri bulabilirsiniz.
Uygulama kullanımınız ve hedef kitleniz hakkında daha fazla bilgi edindiğinizde, uzun vadede sizin için en uygun bulut sağlayıcısının hangisi olduğuna karar verebilecek bir konumda olacaksınız.
Belirtildiği gibi, bulut sağlayıcıları / platformları birçok açıdan farklılık gösterir. Bizim amacımız doğrultusunda, temel endişelerinizin kullanım kolaylığı, güvenlik ve (başlangıç) maliyeti olduğunu varsayabiliriz. Ölçeklendirme, platformlardan herhangi biriyle önceki deneyiminiz veya başka herhangi bir özel özellik gibi daha fazla endişeniz varsa, muhtemelen hangi platformun size uygun olduğunu daha iyi biliyorsunuzdur ve herhangi bir özel kılavuzu takip etmeden doğrudan aradığınız bilgilere geçebilirsiniz.
İhtiyaçlarınız İçin Doğru Dağıtım Seçeneğini Belirleme
Dağıtım seçenekleri, en fazla çaba ve kontrol gerektirenden en az çaba ve kontrol gerektirene doğru sıralanmıştır.
Her dağıtım seçeneğinin kendine göre avantajları ve dezavantajları vardır; seçim, nihayetinde projenizin özel ihtiyaçlarına bağlıdır.
1. IaaS (Hizmet Olarak Altyapı)
Hizmet Olarak Altyapı (IaaS), sanal sunucular, ağ ve depolama gibi temel bilgi işlem kaynaklarını kullandıkça öde esasına göre sağlayan bir bulut bilişim modelini ifade eder. IaaS, kuruluşların fiziksel donanıma yatırım yapma ve bakımını sağlama ihtiyacı duymadan, bu kaynakları internet üzerinden kiralamasına ve bunlara erişmesine olanak tanır. Bu model; ölçeklenebilirlik, esneklik ve maliyet tasarrufunun yanı sıra, değişen iş ihtiyaçlarına yanıt olarak altyapı kaynaklarını hızlı ve kolay bir şekilde dağıtma ve yönetme yeteneği sağlar.
- DigitalOcean: Öngörülebilir fiyatlandırma ile kullanıcı dostu arayüz.
- Linode: Mükemmel müşteri desteği ve anlaşılır fiyatlandırmasıyla tanınır.
IaaS için Docker Compose kullanmanızı öneririz
Neden Docker Compose? Tutarlı dağıtımlar için Docker Compose kullanmanızı öneririz. Bu kılavuz, kolay dağıtım için her adımı net bir şekilde açıklamaktadır: Docker - Linux remote install guide
Not: Depoda iki adet Docker compose dosyası bulunmaktadır
- Geliştirme Odaklı docker compose
docker-compose.yml - Dağıtım Odaklı docker compose
deploy-compose.yml
Temel fark, deploy-compose.yml dosyasının Nginx içermesi ve bu sayede yapılandırmasının Docker içinde dahili olarak gerçekleşmesidir.
Daha fazla bilgi için Nginx Rehberi bölümüne bakın
2. IaC (Infrastructure as Code)
Kod Olarak Altyapı (IaC), fiziksel donanım yapılandırması veya etkileşimli yapılandırma araçlarının aksine, bilgi işlem altyapılarının makine tarafından okunabilir tanım dosyaları aracılığıyla yönetilmesi ve sağlanması uygulamasıdır. Bu yaklaşım, özellikle modern bulut ortamlarında tekrarlanabilirlik, atılabilirlik ve ölçeklenebilirliği destekler. IaC, altyapı dağıtımının, yapılandırmasının ve yönetiminin otomasyonuna olanak tanıyarak kaynakların daha hızlı, daha tutarlı ve daha güvenilir bir şekilde sağlanmasını sağlar.
- Azure: Kurumsal düzeydeki dağıtımlar için uygun kapsamlı hizmetler
Not: Digital Ocean, Linode ve Hetzner de IaC desteği sunmaktadır. Belirli bir rehberimiz olmasa da, Terraform için Azure Rehberi'ni uyarlamayı deneyebilir ve geliştirilmesine katkıda bulunarak bize yardımcı olabilirsiniz.
3. PaaS (Hizmet Olarak Platform)
Hizmet Olarak Platform (PaaS), bulutta bir geliştirme ve dağıtım ortamı sunan bir bulut bilişim modelidir. Geliştiricilere, temel altyapıyı yönetme ihtiyacı duymadan uygulamalar oluşturmaları, test etmeleri ve dağıtmaları için bir platform sağlar. PaaS genellikle veritabanları, ara yazılımlar ve geliştirme araçları gibi bir dizi kaynak içerir ve kullanıcıların basit bulut tabanlı uygulamalardan karmaşık kurumsal uygulamalara kadar her şeyi sunmalarını sağlar. Bu model, hizmet sağlayıcısı altyapının bakımından sorumlu olduğundan ve müşteri uygulamalarını oluşturmaya, dağıtmaya ve yönetmeye odaklanabildiğinden, pazara daha hızlı giriş, daha düşük maliyetler ve daha kolay bakım ve ölçeklendirme imkanı tanır.
- Hugging Face: Makine öğrenimi ve NLP projeleri için özel olarak hazırlanmıştır.
- Render: Entegre CI/CD hatları ile dağıtımları basitleştirir.
- Heroku: Startup'lar ve hızlı dağıtım senaryoları için idealdir.
4. Tek Tıkla Dağıtım (PaaS)
- Railway: Popüler tek tıkla dağıtım çözümü
- Zeabur: Zahmetsiz tek tıkla dağıtım çözümlerine öncülük ediyor.
Diğer / Ağ Hizmetleri
1. Tünelleme
Tünelleme hizmetleri, yerel bir geliştirme sunucusunu internete açmanıza ve genel bir URL üzerinden erişilebilir hale getirmenize olanak tanır. Bu, özellikle çalışmalarınızı paylaşmak, test etmek ve üçüncü taraf hizmetlerle entegrasyon sağlamak için oldukça kullanışlıdır. Geliştirme bilgisayarınızı test amaçlı veya şirket içi (on-prem) kurulum için dağıtmanıza imkan tanır.
- Ngrok: İnternete güvenli yerel tünelleme sağlar.
- Cloudflare: Web performansını ve güvenliğini artırır.
2. DNS Hizmeti
- Cloudflare DNS hizmeti, insanlar tarafından okunabilen alan adlarını makine tarafından okunabilen IP adreslerine dönüştürerek internet trafiğini yönetmek ve doğru hedeflere yönlendirmek için kullanılır. Cloudflare, güvenlik, performans ve güvenilirlik gibi çok çeşitli özellikler sunan bir hizmet sağlayıcıdır. Cloudflare DNS hizmeti, DNS kayıtlarını yönetmek için kullanıcı dostu bir arayüz sağlar ve trafik yönetimi, DNSSEC ve DDoS koruması gibi gelişmiş özellikler sunar.
ayrıca bkz: Cloudflare Rehberi
Sonuç
Sonuç olarak, dağıtım kılavuzumuzun girişi, LibreChat dağıtımı için çeşitli seçeneklere ve hususlara genel bir bakış sunmaktadır. İhtiyaçlarınızı dikkatlice değerlendirmeniz ve kuruluşunuzun amaç ve hedefleriyle en iyi örtüşen yolu seçmeniz önemlidir. İster kullanım kolaylığına, ister güvenliğe veya uygun maliyete öncelik verin, kılavuzumuz LibreChat'i başarıyla dağıtmanıza ve istediğiniz sonuca ulaşmanıza yardımcı olacak gerekli bilgileri sağlamaktadır. Bu kılavuzun, dağıtım yolculuğunuz boyunca sizin için değerli bir kaynak olacağını umuyoruz.
Unutmayın, topluluğumuz size yardımcı olmak için burada. Zorluklarla karşılaşırsanız veya sorularınız olursa, Discord kanalımız ve sorun giderme tartışma sayfamız destek ve tavsiye almak için mükemmel kaynaklardır.
Bu rehber nasıl?