Traefik
Dowiedz się, jak używać Traefik jako reverse proxy i load balancera, aby bezpiecznie udostępnić instancję LibreChat przez HTTPS z automatycznym zarządzaniem certyfikatami SSL/TLS.
Traefik to nowoczesny zwrotny serwer proxy HTTP i moduł równoważenia obciążenia, który ułatwia wdrażanie i zarządzanie usługami. Jeśli uruchamiasz LibreChat na Docker, możesz użyć Traefik, aby bezpiecznie udostępnić swoją instancję przez HTTPS z automatycznym zarządzaniem certyfikatami SSL.
Wymagania wstępne
- Docker oraz Docker Compose zainstalowane w twoim systemie
- Nazwa domeny wskazująca na adres IP Twojego serwera
Konfiguracja
Konfiguracja Traefik i LibreChat
W pliku docker-compose.override.yml dodaj następującą konfigurację:
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: trueZastąp [email protected] swoim adresem e-mail, aby otrzymywać powiadomienia dotyczące certyfikatów Let's Encrypt.
zobacz: Docker Override aby uzyskać więcej informacji.
Uruchom kontenery
docker compose up -dTo uruchomi kontenery Traefik oraz LibreChat. Traefik automatycznie uzyska certyfikat SSL/TLS z Let's Encrypt i bezpiecznie udostępni Twoją instancję LibreChat przez HTTPS.
Możesz teraz uzyskać dostęp do swojej instancji LibreChat pod adresem https://your.domain.name. Traefik zajmie się zakończeniem SSL/TLS oraz przekierowaniem żądań (reverse proxy) do Twojego kontenera LibreChat.
Dodatkowe uwagi
- Konfiguracja Traefik nasłuchuje na portach 80 i 443 odpowiednio dla ruchu HTTP i HTTPS. Upewnij się, że te porty są otwarte w zaporze sieciowej (firewall) Twojego serwera.
- Traefik przechowuje certyfikaty SSL/TLS w katalogu
./letsencryptna maszynie hosta. Warto okresowo tworzyć kopię zapasową tego katalogu. - Aby uzyskać bardziej zaawansowane opcje konfiguracji, zapoznaj się z oficjalną dokumentacją Traefik: https://doc.traefik.io/
Buforowanie i kompresja plików statycznych
LibreChat obsługuje teraz natywnie buforowanie i kompresję plików statycznych. Jeśli używasz Traefik do obsługi kompresji, powinieneś wyłączyć kompresję w LibreChat, aby uniknąć zbędnego przetwarzania. Możesz to zrobić, ustawiając zmienną środowiskową DISABLE_COMPRESSION na true w swojej konfiguracji LibreChat.
# .env file
DISABLE_COMPRESSION=trueZapobiegnie to kompresji plików statycznych przez LibreChat, co pozwoli Traefik na wydajniejszą obsługę kompresji.
Aby uzyskać więcej informacji na temat obsługi plików statycznych w LibreChat, w tym opcji buforowania, zapoznaj się z dokumentacją Static File Handling.
Jaka jest ta instrukcja?