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

Remplacement Docker

Utilisez un fichier docker-compose.override.yml pour personnaliser la configuration Docker de LibreChat sans modifier le fichier docker-compose.yml principal.

Un fichier de remplacement Docker Compose vous permet de modifier la configuration par défaut dans docker-compose.yml sans avoir à l'éditer ou à le dupliquer. Les fichiers de remplacement sont principalement destinés aux personnalisations locales. Lorsque vous exécutez docker compose up, Compose fusionne automatiquement docker-compose.yml avec docker-compose.override.yml.

Plus d'exemples

Consultez docker-compose.override.yml.example dans le dépÎt pour obtenir un ensemble plus complet d'extraits de remplacement que vous pouvez copier.

Configurer le remplacement

Créez le fichier de remplacement. Si vous n'en avez pas déjà un, copiez l'exemple. Docker Compose le détecte automatiquement lorsque vous exécutez des commandes docker compose.

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

Modifiez le fichier de remplacement. Ouvrez docker-compose.override.yml dans votre éditeur, puis décommentez et personnalisez les sections dont vous avez besoin.

Une entrée par service

Chaque nom de service (api, mongodb, meilisearch, ...) ne peut apparaĂźtre qu'une seule fois. Pour remplacer plusieurs paramĂštres sur un mĂȘme service, combinez-les sous cette unique entrĂ©e.

Appliquez les changements. Exécutez Docker Compose comme d'habitude. Il fusionne docker-compose.yml et docker-compose.override.yml pour vous.

docker compose up -d

Vérifiez les changements. Listez les conteneurs en cours d'exécution et leurs propriétés, telles que les ports, pour confirmer que vos remplacements ont bien été pris en compte.

docker ps

Exemples

Pour monter votre fichier de configuration librechat.yaml afin que Docker puisse l'utiliser pour les Custom Endpoints & Configuration :

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

Pour construire l'image api localement, monter le fichier de configuration et utiliser une version plus ancienne de MongoDB qui ne nécessite pas la prise en charge AVX :

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

  mongodb:
    image: mongo:4.4.18

Surveiller les ports exposés

Exposer les ports de MongoDB ou Meilisearch au public peut rendre vos donnĂ©es vulnĂ©rables. Évitez les ports par dĂ©faut pour la production ou les environnements sensibles.

Utilisation de deploy-compose.yml

Avec un fichier Compose non par défaut tel que deploy-compose.yml, la surcharge n'est pas chargée automatiquement. Passez les deux fichiers explicitement avec -f (ou --file) ; les paramÚtres des fichiers ultérieurs remplacent ou s'ajoutent aux précédents.

Le fichier de remplacement peut porter n'importe quel nom, bien que vous ayez peut-ĂȘtre dĂ©jĂ  docker-compose.override.yml en place. ExĂ©cutez les commandes comme suit :

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

Référence

  • Ordre de prioritĂ© : les valeurs dans le fichier de remplacement (override) prĂ©valent sur les mĂȘmes valeurs dans docker-compose.yml.
  • SĂ©curitĂ© : lors de la personnalisation des ports et de l'exposition publique de services, soyez conscient des implications en matiĂšre de sĂ©curitĂ© et Ă©vitez les valeurs par dĂ©faut pour la production.

Pour plus de détails, consultez la documentation officielle de Docker :

Que pensez-vous de ce guide ?