Traefik
Aprenda a utilizar Traefik como proxy inverso y balanceador de carga para exponer su instancia de LibreChat de forma segura mediante HTTPS con gestión automática de certificados SSL/TLS.
Traefik es un proxy inverso HTTP y balanceador de carga moderno que facilita la implementación y gestión de sus servicios. Si está ejecutando LibreChat en Docker, puede utilizar Traefik para exponer su instancia de forma segura a través de HTTPS con gestión automática de certificados SSL.
Requisitos previos
- Docker y Docker Compose instalados en su sistema
- Un nombre de dominio que apunte a la dirección IP de su servidor
Configuración
Configurar Traefik y LibreChat
En su archivo docker-compose.override.yml, añada la siguiente configuración:
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: trueReemplace [email protected] con su dirección de correo electrónico para las notificaciones de certificados de Let's Encrypt.
ver: Docker Override para más información.
Iniciar los contenedores
docker compose up -dEsto iniciará los contenedores de Traefik y LibreChat. Traefik obtendrá automáticamente un certificado SSL/TLS de Let's Encrypt y expondrá su instancia de LibreChat de forma segura a través de HTTPS.
Ahora puede acceder a su instancia de LibreChat en https://your.domain.name. Traefik se encargará de la terminación SSL/TLS y de realizar el proxy inverso de las solicitudes a su contenedor de LibreChat.
Notas adicionales
- La configuración de Traefik escucha en los puertos 80 y 443 para tráfico HTTP y HTTPS, respectivamente. Asegúrese de que estos puertos estén abiertos en el firewall de su servidor.
- Traefik almacena los certificados SSL/TLS en el directorio
./letsencrypten su máquina host. Es posible que desee realizar copias de seguridad de este directorio periódicamente. - Para opciones de configuración más avanzadas, consulte la documentación oficial de Traefik: https://doc.traefik.io/
Almacenamiento en caché y compresión de archivos estáticos
LibreChat ahora admite el almacenamiento en caché y la compresión de archivos estáticos de forma nativa. Si utiliza Traefik para gestionar la compresión, debería desactivar la compresión en LibreChat para evitar un procesamiento redundante. Puede hacerlo configurando la variable de entorno DISABLE_COMPRESSION a true en su configuración de LibreChat.
# .env file
DISABLE_COMPRESSION=trueEsto evitará que LibreChat comprima archivos estáticos, permitiendo que Traefik gestione la compresión de manera más eficiente.
Para obtener más información sobre el manejo de archivos estáticos en LibreChat, incluyendo las opciones de almacenamiento en caché, consulte la documentación de Static File Handling.
¿Qué te parece esta guía?