Skip to main content
LibreChat is joining ClickHouse to power the open-source Agentic Data Stack 🎉 Learn more
LibreChat

Traefik

LibreChat örneğinizi HTTPS üzerinden güvenli bir şekilde dışa açmak ve otomatik SSL/TLS sertifika yönetimi sağlamak için Traefik'i ters vekil sunucu ve yük dengeleyici olarak nasıl kullanacağınızı öğrenin.

Traefik, servislerinizi dağıtmayı ve yönetmeyi kolaylaştıran modern bir HTTP ters vekil sunucusu (reverse proxy) ve yük dengeleyicidir. LibreChat'i Docker üzerinde çalıştırıyorsanız, örneğinizi otomatik SSL sertifika yönetimi ile HTTPS üzerinden güvenli bir şekilde dışa açmak için Traefik kullanabilirsiniz.

Ön Koşullar

  • Sisteminizde Docker ve Docker Compose yüklü olmalıdır
  • Sunucunuzun IP adresine yönlendirilmiş bir alan adı

Yapılandırma

Traefik ve LibreChat Yapılandırması

docker-compose.override.yml dosyanıza aşağıdaki yapılandırmayı ekleyin:

version: '3'

services:
    api:
      labels:
        - "traefik.enable=true"
        - "traefik.http.routers.librechat.rule=Host(`your.domain.name`)"
        - "traefik.http.routers.librechat.entrypoints=websecure"
        - "traefik.http.routers.librechat.tls.certresolver=leresolver"
        - "traefik.http.services.librechat.loadbalancer.server.port=3080"
      networks:
        - librechat_default
      volumes:
        - ./librechat.yaml:/app/librechat.yaml
  
    traefik:
      image: traefik:v3.6
      ports:
        - "80:80"
        - "443:443"
      volumes:
        - "/var/run/docker.sock:/var/run/docker.sock:ro"
        - "./letsencrypt:/letsencrypt"
      networks:
        - librechat_default
      command:
        - "--log.level=DEBUG"
        - "--api.insecure=true"
        - "--providers.docker=true"
        - "--providers.docker.exposedbydefault=false"
        - "--entrypoints.web.address=:80"
        - "--entrypoints.websecure.address=:443"
        - "--certificatesresolvers.leresolver.acme.tlschallenge=true"
        - "[email protected]"
        - "--certificatesresolvers.leresolver.acme.storage=/letsencrypt/acme.json"

# other configs here #

# NOTE: This needs to be at the bottom of your docker-compose.override.yml
networks:
  librechat_default:
    external: true

Let's Encrypt sertifika bildirimleri için [email protected] kısmını kendi e-posta adresinizle değiştirin.

daha fazla bilgi için bkz: Docker Override.

Konteynerleri başlatın

docker compose up -d

Bu, Traefik ve LibreChat konteynerlerini başlatacaktır. Traefik, Let's Encrypt'ten otomatik olarak bir SSL/TLS sertifikası alacak ve LibreChat örneğinizi HTTPS üzerinden güvenli bir şekilde dışa açacaktır.

Artık LibreChat örneğinize https://your.domain.name adresinden erişebilirsiniz. Traefik, SSL/TLS sonlandırmasını yönetecek ve istekleri LibreChat konteynerinize ters vekil sunucu (reverse proxy) olarak iletecektir.

Ek Notlar

  • Traefik yapılandırması, HTTP ve HTTPS trafiği için sırasıyla 80 ve 443 numaralı portları dinler. Bu portların sunucunuzun güvenlik duvarında açık olduğundan emin olun.
  • Traefik, SSL/TLS sertifikalarını ana makinenizdeki ./letsencrypt dizininde saklar. Bu dizini periyodik olarak yedeklemek isteyebilirsiniz.
  • Daha gelişmiş yapılandırma seçenekleri için resmi Traefik belgelerine başvurun: https://doc.traefik.io/

Statik Dosya Önbelleğe Alma ve Sıkıştırma

LibreChat artık statik dosya önbelleğe almayı ve sıkıştırmayı yerel olarak desteklemektedir. Sıkıştırma işlemlerini yönetmek için Traefik kullanıyorsanız, gereksiz işlem yükünden kaçınmak için LibreChat içindeki sıkıştırmayı devre dışı bırakmalısınız. Bunu, LibreChat yapılandırmanızda DISABLE_COMPRESSION ortam değişkenini true olarak ayarlayarak yapabilirsiniz.

# .env file
DISABLE_COMPRESSION=true

Bu, LibreChat'in statik dosyaları sıkıştırmasını engelleyerek Traefik'in sıkıştırma işlemini daha verimli bir şekilde yönetmesini sağlayacaktır.

LibreChat'te statik dosya işleme ve önbelleğe alma seçenekleri hakkında daha fazla bilgi için Static File Handling belgelerine başvurun.

Bu rehber nasıl?