Traefik
Aprenda a usar o Traefik como um proxy reverso e balanceador de carga para expor sua instância do LibreChat de forma segura via HTTPS com gerenciamento automático de certificados SSL/TLS.
Traefik é um proxy reverso HTTP moderno e balanceador de carga que facilita a implantação e o gerenciamento de seus serviços. Se você está executando o LibreChat no Docker, pode usar o Traefik para expor sua instância de forma segura via HTTPS com gerenciamento automático de certificados SSL.
Pré-requisitos
- Docker e Docker Compose instalados no seu sistema
- Um nome de domínio apontando para o endereço IP do seu servidor
Configuração
Configurar Traefik e LibreChat
No seu arquivo docker-compose.override.yml, adicione a seguinte configuração:
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: trueSubstitua [email protected] pelo seu endereço de e-mail para notificações de certificado do Let's Encrypt.
veja: Docker Override para mais informações.
Inicie os containers
docker compose up -dIsso iniciará os containers do Traefik e do LibreChat. O Traefik obterá automaticamente um certificado SSL/TLS da Let's Encrypt e exporá sua instância do LibreChat de forma segura via HTTPS.
Agora você pode acessar sua instância do LibreChat em https://your.domain.name. O Traefik cuidará da terminação SSL/TLS e do proxy reverso das solicitações para o seu container do LibreChat.
Notas Adicionais
- A configuração do Traefik escuta nas portas 80 e 443 para tráfego HTTP e HTTPS, respectivamente. Certifique-se de que essas portas estejam abertas no firewall do seu servidor.
- O Traefik armazena certificados SSL/TLS no diretório
./letsencryptna sua máquina host. Você pode querer fazer backup deste diretório periodicamente. - Para opções de configuração mais avançadas, consulte a documentação oficial do Traefik: https://doc.traefik.io/
Cache e Compressão de Arquivos Estáticos
O LibreChat agora oferece suporte nativo a cache e compressão de arquivos estáticos. Se você estiver usando o Traefik para lidar com a compressão, deve desativar a compressão no LibreChat para evitar processamento redundante. Você pode fazer isso definindo a variável de ambiente DISABLE_COMPRESSION como true na sua configuração do LibreChat.
# .env file
DISABLE_COMPRESSION=trueIsso impedirá que o LibreChat comprima arquivos estáticos, permitindo que o Traefik gerencie a compressão de forma mais eficiente.
Para mais informações sobre o tratamento de arquivos estáticos no LibreChat, incluindo opções de cache, consulte a documentação de Static File Handling.
Como está este guia?