Traefik
Pelajari cara menggunakan Traefik sebagai reverse proxy dan load balancer untuk mengekspos instance LibreChat Anda secara aman melalui HTTPS dengan manajemen sertifikat SSL/TLS otomatis.
Traefik adalah reverse proxy HTTP dan load balancer modern yang memudahkan Anda dalam men-deploy dan mengelola layanan Anda. Jika Anda menjalankan LibreChat di Docker, Anda dapat menggunakan Traefik untuk mengekspos instance Anda secara aman melalui HTTPS dengan manajemen sertifikat SSL otomatis.
Prasyarat
- Docker dan Docker Compose terinstal di sistem Anda
- Nama domain yang mengarah ke alamat IP server Anda
Konfigurasi
Konfigurasi Traefik dan LibreChat
Di dalam file docker-compose.override.yml Anda, tambahkan konfigurasi berikut:
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: trueGanti [email protected] dengan alamat email Anda untuk notifikasi sertifikat Let's Encrypt.
lihat: Docker Override untuk info lebih lanjut.
Jalankan container
docker compose up -dIni akan memulai kontainer Traefik dan LibreChat. Traefik akan secara otomatis mendapatkan sertifikat SSL/TLS dari Let's Encrypt dan mengekspos instans LibreChat Anda secara aman melalui HTTPS.
Anda sekarang dapat mengakses instans LibreChat Anda di https://your.domain.name. Traefik akan menangani terminasi SSL/TLS dan permintaan reverse proxy ke kontainer LibreChat Anda.
Catatan Tambahan
- Konfigurasi Traefik mendengarkan pada port 80 dan 443 masing-masing untuk lalu lintas HTTP dan HTTPS. Pastikan port-port ini terbuka pada firewall server Anda.
- Traefik menyimpan sertifikat SSL/TLS di direktori
./letsencryptpada mesin host Anda. Anda mungkin ingin mencadangkan direktori ini secara berkala. - Untuk opsi konfigurasi yang lebih lanjut, silakan merujuk ke dokumentasi resmi Traefik: https://doc.traefik.io/
Penyangga (Caching) dan Kompresi File Statis
LibreChat kini mendukung penembolokan dan kompresi file statis secara native. Jika Anda menggunakan Traefik untuk menangani kompresi, Anda harus menonaktifkan kompresi di LibreChat untuk menghindari pemrosesan yang berlebihan. Anda dapat melakukannya dengan mengatur variabel lingkungan DISABLE_COMPRESSION ke true dalam konfigurasi LibreChat Anda.
# .env file
DISABLE_COMPRESSION=trueIni akan mencegah LibreChat melakukan kompresi pada file statis, sehingga memungkinkan Traefik untuk menangani kompresi dengan lebih efisien.
Untuk informasi lebih lanjut mengenai penanganan file statis di LibreChat, termasuk opsi caching, lihat dokumentasi Static File Handling.
Bagaimana panduan ini?