Skip to main content
LibreChat is joining ClickHouse to power the open-source Agentic Data Stack 🎉 Learn more
LibreChat

Penggantian Docker

Gunakan file docker-compose.override.yml untuk menyesuaikan pengaturan Docker LibreChat tanpa mengubah docker-compose.yml utama.

File override Docker Compose memungkinkan Anda mengubah konfigurasi default di docker-compose.yml tanpa perlu mengedit atau menduplikasinya. File override terutama ditujukan untuk kustomisasi lokal. Saat Anda menjalankan docker compose up, Compose akan menggabungkan docker-compose.yml dengan docker-compose.override.yml secara otomatis.

Contoh lainnya

Lihat docker-compose.override.yml.example di repositori untuk kumpulan cuplikan override yang lebih lengkap yang dapat Anda salin.

Mengonfigurasi Override

Buat file override. Jika Anda belum memilikinya, salin contohnya. Docker Compose akan mengambilnya secara otomatis saat Anda menjalankan perintah docker compose.

cp docker-compose.override.yml.example docker-compose.override.yml

Edit file override. Buka docker-compose.override.yml di editor Anda, lalu hapus tanda komentar dan sesuaikan bagian yang Anda perlukan.

Satu entri per layanan

Setiap nama layanan (api, mongodb, meilisearch, ...) hanya boleh muncul satu kali. Untuk menimpa beberapa pengaturan pada satu layanan, gabungkan pengaturan tersebut di bawah satu entri tersebut.

Terapkan perubahan. Jalankan Docker Compose seperti biasa. Perintah ini akan menggabungkan docker-compose.yml dan docker-compose.override.yml untuk Anda.

docker compose up -d

Verifikasi perubahan tersebut. Cantumkan kontainer yang sedang berjalan beserta propertinya, seperti port, untuk memastikan bahwa penggantian (override) Anda telah diterapkan.

docker ps

Contoh

Untuk me-mount file konfigurasi librechat.yaml Anda agar Docker dapat menggunakannya untuk Custom Endpoints & Configuration:

services:
  api:
    volumes:
      - ./librechat.yaml:/app/librechat.yaml

Untuk membangun image api secara lokal, mount file konfigurasi, dan gunakan MongoDB versi lama yang tidak memerlukan dukungan AVX:

services:
  api:
    volumes:
      - ./librechat.yaml:/app/librechat.yaml
    image: librechat
    build:
      context: .
      target: node

  mongodb:
    image: mongo:4.4.18

Pantau port yang terbuka

Mengekspos port MongoDB atau Meilisearch ke publik dapat membuat data Anda rentan. Hindari penggunaan port default untuk lingkungan produksi atau lingkungan yang sensitif.

Menggunakan deploy-compose.yml

Dengan file Compose non-default seperti deploy-compose.yml, override tidak dimuat secara otomatis. Teruskan kedua file tersebut secara eksplisit dengan -f (atau --file); pengaturan pada file yang disebutkan belakangan akan menimpa atau menambah pengaturan pada file sebelumnya.

File pengganti (override) dapat memiliki nama apa pun, meskipun Anda mungkin sudah memiliki docker-compose.override.yml. Jalankan perintah seperti berikut:

docker compose -f deploy-compose.yml -f docker-compose.override.yml pull
docker compose -f deploy-compose.yml -f docker-compose.override.yml up

Referensi

  • Urutan prioritas: nilai dalam file override lebih diutamakan daripada nilai yang sama di dalam docker-compose.yml.
  • Keamanan: saat menyesuaikan port dan mengekspos layanan ke publik, sadarilah implikasi keamanannya dan hindari penggunaan pengaturan default untuk produksi.

Untuk detail lebih lanjut, lihat dokumentasi resmi Docker:

Bagaimana panduan ini?