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

Traefik

Leer hoe je Traefik gebruikt als reverse proxy en load balancer om je LibreChat-instantie veilig via HTTPS bloot te stellen met automatisch SSL/TLS-certificaatbeheer.

Traefik is een moderne HTTP reverse proxy en load balancer die het eenvoudig maakt om je services te implementeren en te beheren. Als je LibreChat op Docker draait, kun je Traefik gebruiken om je instantie veilig via HTTPS bloot te stellen met automatisch SSL-certificaatbeheer.

Vereisten

  • Docker en Docker Compose geïnstalleerd op uw systeem
  • Een domeinnaam die verwijst naar het IP-adres van je server

Configuratie

Configureer Traefik en LibreChat

Voeg de volgende configuratie toe aan je docker-compose.override.yml bestand:

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

Vervang [email protected] door je e-mailadres voor meldingen over Let's Encrypt-certificaten.

zie: Docker Override voor meer informatie.

Start de containers

docker compose up -d

Dit zal de Traefik en LibreChat containers starten. Traefik zal automatisch een SSL/TLS-certificaat verkrijgen van Let's Encrypt en je LibreChat-instantie veilig beschikbaar stellen via HTTPS.

Je hebt nu toegang tot je LibreChat-instantie via https://your.domain.name. Traefik zal de SSL/TLS-beëindiging afhandelen en verzoeken als reverse proxy doorsturen naar je LibreChat-container.

Aanvullende opmerkingen

  • De Traefik-configuratie luistert op poorten 80 en 443 voor respectievelijk HTTP- en HTTPS-verkeer. Zorg ervoor dat deze poorten openstaan in de firewall van je server.
  • Traefik slaat SSL/TLS-certificaten op in de ./letsencrypt map op uw hostmachine. Het is raadzaam om periodiek een back-up van deze map te maken.
  • Voor meer geavanceerde configuratieopties, raadpleeg de officiële Traefik-documentatie: https://doc.traefik.io/

Statische bestands-caching en compressie

LibreChat ondersteunt nu standaard statische bestandscaching en compressie. Als je Traefik gebruikt om compressie af te handelen, moet je compressie in LibreChat uitschakelen om redundante verwerking te voorkomen. Je kunt dit doen door de omgevingsvariabele DISABLE_COMPRESSION in te stellen op true in je LibreChat-configuratie.

# .env file
DISABLE_COMPRESSION=true

Dit voorkomt dat LibreChat statische bestanden comprimeert, waardoor Traefik compressie efficiënter kan afhandelen.

Voor meer informatie over het afhandelen van statische bestanden in LibreChat, inclusief cache-opties, raadpleeg de Static File Handling documentatie.

Hoe is deze gids?