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 puissiez déjà avoir docker-compose.override.yml en place. Exécutez les commandes comme ceci :

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 des services, soyez conscient des implications en matière de sécurité et évitez les configurations par défaut pour la production.

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

Que pensez-vous de ce guide ?