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

Zastąpienie Docker

Użyj pliku docker-compose.override.yml, aby dostosować konfigurację Docker dla LibreChat bez edytowania głównego pliku docker-compose.yml.

Plik override Docker Compose pozwala na zmianę domyślnej konfiguracji w docker-compose.yml bez konieczności jej edytowania lub powielania. Pliki override służą głównie do lokalnych dostosowań. Kiedy uruchamiasz docker compose up, Compose automatycznie scala docker-compose.yml z docker-compose.override.yml.

Więcej przykładów

Zobacz docker-compose.override.yml.example w repozytorium, aby uzyskać pełniejszy zestaw fragmentów nadpisań, które możesz skopiować.

Skonfiguruj zastąpienie (Override)

Utwórz plik override. Jeśli jeszcze go nie masz, skopiuj przykład. Docker Compose automatycznie go wykryje podczas uruchamiania poleceń docker compose.

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

Edytuj plik override. Otwórz docker-compose.override.yml w swoim edytorze, a następnie odkomentuj i dostosuj sekcje, których potrzebujesz.

Jeden wpis na usługę

Każda nazwa usługi (api, mongodb, meilisearch, ...) może wystąpić tylko raz. Aby nadpisać wiele ustawień dla jednej usługi, należy połączyć je w ramach tego jednego wpisu.

Zastosuj zmiany. Uruchom Docker Compose w zwykły sposób. Automatycznie scali on docker-compose.yml oraz docker-compose.override.yml.

docker compose up -d

Zweryfikuj zmiany. Wyświetl listę uruchomionych kontenerów oraz ich właściwości, takie jak porty, aby potwierdzić, że Twoje nadpisania zostały zastosowane.

docker ps

Przykłady

Aby zamontować plik konfiguracyjny librechat.yaml, aby Docker mógł go używać do Custom Endpoints & Configuration:

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

Aby zbudować obraz api lokalnie, zamontować plik konfiguracyjny i użyć starszej wersji MongoDB, która nie wymaga obsługi AVX:

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

  mongodb:
    image: mongo:4.4.18

Monitoruj otwarte porty

Udostępnianie portów MongoDB lub Meilisearch publicznie może narazić Twoje dane na niebezpieczeństwo. Unikaj używania domyślnych portów w środowiskach produkcyjnych lub wrażliwych.

Używanie deploy-compose.yml

W przypadku użycia innego niż domyślny pliku Compose, takiego jak deploy-compose.yml, nadpisanie nie jest ładowane automatycznie. Należy przekazać oba pliki jawnie za pomocą -f (lub --file); ustawienia w późniejszych plikach nadpisują lub uzupełniają te z wcześniejszych.

Plik nadpisujący może mieć dowolną nazwę, chociaż być może masz już w użyciu docker-compose.override.yml. Uruchamiaj polecenia w następujący sposób:

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

Referencje

  • Kolejność pierwszeństwa: wartości w pliku nadpisującym mają pierwszeństwo przed tymi samymi wartościami w docker-compose.yml.
  • Bezpieczeństwo: podczas dostosowywania portów i publicznego udostępniania usług należy mieć świadomość konsekwencji dla bezpieczeństwa i unikać ustawień domyślnych w środowisku produkcyjnym.

Aby uzyskać więcej szczegółów, zobacz oficjalną dokumentację Docker:

Jaka jest ta instrukcja?