Traefik
Scopri come utilizzare Traefik come reverse proxy e load balancer per esporre la tua istanza LibreChat in modo sicuro tramite HTTPS con la gestione automatica dei certificati SSL/TLS.
Traefik è un moderno reverse proxy HTTP e bilanciatore di carico che semplifica la distribuzione e la gestione dei tuoi servizi. Se stai eseguendo LibreChat su Docker, puoi utilizzare Traefik per esporre la tua istanza in modo sicuro tramite HTTPS con la gestione automatica dei certificati SSL.
Prerequisiti
- Docker e Docker Compose installati sul tuo sistema
- Un nome di dominio che punta all'indirizzo IP del tuo server
Configurazione
Configurare Traefik e LibreChat
Nel tuo file docker-compose.override.yml, aggiungi la seguente configurazione:
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: trueSostituisci [email protected] con il tuo indirizzo email per le notifiche del certificato Let's Encrypt.
vedi: Docker Override per maggiori informazioni.
Avvia i container
docker compose up -dQuesto avvierà i container di Traefik e LibreChat. Traefik otterrà automaticamente un certificato SSL/TLS da Let's Encrypt ed esporrà la tua istanza LibreChat in modo sicuro tramite HTTPS.
Ora puoi accedere alla tua istanza LibreChat all'indirizzo https://your.domain.name. Traefik gestirà la terminazione SSL/TLS e inoltrerà le richieste al tuo container LibreChat.
Note aggiuntive
- La configurazione di Traefik rimane in ascolto sulle porte 80 e 443 rispettivamente per il traffico HTTP e HTTPS. Assicurati che queste porte siano aperte nel firewall del tuo server.
- Traefik archivia i certificati SSL/TLS nella directory
./letsencryptsulla tua macchina host. Potresti voler eseguire periodicamente il backup di questa directory. - Per opzioni di configurazione più avanzate, fare riferimento alla documentazione ufficiale di Traefik: https://doc.traefik.io/
Caching e compressione dei file statici
LibreChat ora supporta nativamente la memorizzazione nella cache e la compressione dei file statici. Se utilizzi Traefik per gestire la compressione, dovresti disabilitare la compressione in LibreChat per evitare elaborazioni ridondanti. Puoi farlo impostando la variabile d'ambiente DISABLE_COMPRESSION su true nella tua configurazione di LibreChat.
# .env file
DISABLE_COMPRESSION=trueCiò impedirà a LibreChat di comprimere i file statici, consentendo a Traefik di gestire la compressione in modo più efficiente.
Per ulteriori informazioni sulla gestione dei file statici in LibreChat, incluse le opzioni di caching, fare riferimento alla documentazione Static File Handling.
Com’è questa guida?