Skip to main content
LibreChat is joining ClickHouse to power the open-source Agentic Data Stack ๐ŸŽ‰ Learn more
LibreChat

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: true

Ganti [email protected] dengan alamat email Anda untuk notifikasi sertifikat Let's Encrypt.

lihat: Docker Override untuk info lebih lanjut.

Jalankan container

docker compose up -d

Ini 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 ./letsencrypt pada 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=true

Ini 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?