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

Traefik

Erfahren Sie, wie Sie Traefik als Reverse Proxy und Load Balancer verwenden, um Ihre LibreChat-Instanz sicher über HTTPS mit automatischer SSL/TLS-Zertifikatsverwaltung bereitzustellen.

Traefik ist ein moderner HTTP-Reverse-Proxy und Load Balancer, der die Bereitstellung und Verwaltung Ihrer Dienste vereinfacht. Wenn Sie LibreChat unter Docker betreiben, können Sie Traefik verwenden, um Ihre Instanz sicher über HTTPS mit automatischer SSL-Zertifikatsverwaltung bereitzustellen.

Voraussetzungen

  • Docker und Docker Compose auf Ihrem System installiert
  • Ein Domainname, der auf die IP-Adresse Ihres Servers verweist

Konfiguration

Traefik und LibreChat konfigurieren

Fügen Sie in Ihrer docker-compose.override.yml Datei die folgende Konfiguration hinzu:

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

Ersetzen Sie [email protected] durch Ihre E-Mail-Adresse für Benachrichtigungen zu Let's Encrypt-Zertifikaten.

siehe: Docker Override für weitere Informationen.

Starten der Container

docker compose up -d

Dies startet die Traefik- und LibreChat-Container. Traefik wird automatisch ein SSL/TLS-Zertifikat von Let's Encrypt beziehen und Ihre LibreChat-Instanz sicher über HTTPS bereitstellen.

Sie können jetzt unter https://your.domain.name auf Ihre LibreChat-Instanz zugreifen. Traefik übernimmt die SSL/TLS-Terminierung und leitet Anfragen als Reverse Proxy an Ihren LibreChat-Container weiter.

Zusätzliche Hinweise

  • Die Traefik-Konfiguration überwacht die Ports 80 und 443 für HTTP- bzw. HTTPS-Datenverkehr. Stellen Sie sicher, dass diese Ports in der Firewall Ihres Servers geöffnet sind.
  • Traefik speichert SSL/TLS-Zertifikate im Verzeichnis ./letsencrypt auf Ihrem Host-Rechner. Sie sollten dieses Verzeichnis regelmäßig sichern.
  • Für fortgeschrittenere Konfigurationsoptionen siehe die offizielle Traefik-Dokumentation: https://doc.traefik.io/

Statisches Datei-Caching und Komprimierung

LibreChat unterstützt jetzt nativ das Caching und die Komprimierung statischer Dateien. Wenn Sie Traefik zur Handhabung der Komprimierung verwenden, sollten Sie die Komprimierung in LibreChat deaktivieren, um redundante Verarbeitung zu vermeiden. Sie können dies tun, indem Sie die Umgebungsvariable DISABLE_COMPRESSION in Ihrer LibreChat-Konfiguration auf true setzen.

# .env file
DISABLE_COMPRESSION=true

Dies verhindert, dass LibreChat statische Dateien komprimiert, wodurch Traefik die Komprimierung effizienter handhaben kann.

Weitere Informationen zur Handhabung statischer Dateien in LibreChat, einschließlich Caching-Optionen, finden Sie in der Dokumentation zu Static File Handling.

Wie finden Sie diese Anleitung?