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

Docker-Überschreibung

Verwenden Sie eine docker-compose.override.yml Datei, um die Docker-Konfiguration von LibreChat anzupassen, ohne die Hauptdatei docker-compose.yml zu bearbeiten.

Eine Docker Compose Override-Datei ermöglicht es Ihnen, die Standardkonfiguration in docker-compose.yml zu ändern, ohne diese zu bearbeiten oder zu duplizieren. Override-Dateien sind hauptsächlich für lokale Anpassungen gedacht. Wenn Sie docker compose up ausführen, führt Compose docker-compose.yml automatisch mit docker-compose.override.yml zusammen.

Weitere Beispiele

Siehe docker-compose.override.yml.example im Repository für eine vollständigere Sammlung von Override-Snippets, die Sie kopieren können.

Konfigurieren des Override

Erstellen Sie die Override-Datei. Falls Sie noch keine haben, kopieren Sie die Beispiel-Datei. Docker Compose erkennt diese automatisch, wenn Sie docker compose-Befehle ausführen.

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

Bearbeiten Sie die Override-Datei. Öffnen Sie docker-compose.override.yml in Ihrem Editor und kommentieren Sie dann die Abschnitte aus, die Sie benötigen, und passen Sie diese an.

Ein Eintrag pro Dienst

Jeder Dienstname (api, mongodb, meilisearch, ...) darf nur einmal vorkommen. Um mehrere Einstellungen für einen einzelnen Dienst zu überschreiben, kombinieren Sie diese unter diesem einen Eintrag.

Wenden Sie die Änderungen an. Führen Sie Docker Compose wie gewohnt aus. Es führt docker-compose.yml und docker-compose.override.yml automatisch für Sie zusammen.

docker compose up -d

Überprüfen Sie die Änderungen. Listen Sie die laufenden Container und deren Eigenschaften, wie z. B. Ports, auf, um zu bestätigen, dass Ihre Überschreibungen wirksam wurden.

docker ps

Beispiele

Um Ihre librechat.yaml Konfigurationsdatei einzubinden, damit Docker sie für Custom Endpoints & Configuration verwenden kann:

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

Um das api-Image lokal zu bauen, die Konfigurationsdatei einzubinden und eine ältere MongoDB-Version zu verwenden, die keine AVX-Unterstützung erfordert:

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

Exponierte Ports überwachen

Das Freigeben von MongoDB- oder Meilisearch-Ports für die Öffentlichkeit kann Ihre Daten gefährden. Vermeiden Sie Standard-Ports für Produktions- oder sensible Umgebungen.

Verwendung von deploy-compose.yml

Bei einer nicht standardmäßigen Compose-Datei wie deploy-compose.yml wird die Überschreibung nicht automatisch geladen. Übergeben Sie beide Dateien explizit mit -f (oder --file); Einstellungen in späteren Dateien überschreiben oder ergänzen die vorherigen.

Die Override-Datei kann einen beliebigen Namen haben, obwohl Sie möglicherweise bereits eine docker-compose.override.yml verwenden. Führen Sie Befehle wie folgt aus:

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

Referenz

  • Rangfolge: Werte in der Override-Datei haben Vorrang vor denselben Werten in docker-compose.yml.
  • Sicherheit: Seien Sie sich bei der Anpassung von Ports und der öffentlichen Bereitstellung von Diensten der Sicherheitsimplikationen bewusst und vermeiden Sie Standardeinstellungen für die Produktion.

Für weitere Details siehe die offizielle Docker-Dokumentation:

Wie finden Sie diese Anleitung?