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

Anulación de Docker

Utilice un archivo docker-compose.override.yml para personalizar la configuración de Docker de LibreChat sin editar el docker-compose.yml principal.

Un archivo de anulación (override) de Docker Compose le permite cambiar la configuración predeterminada en docker-compose.yml sin editarla ni duplicarla. Los archivos de anulación son principalmente para personalizaciones locales. Cuando ejecuta docker compose up, Compose combina docker-compose.yml con docker-compose.override.yml automáticamente.

Más ejemplos

Consulta docker-compose.override.yml.example en el repositorio para obtener un conjunto más completo de fragmentos de anulación que puedes copiar.

Configurar la anulación

Cree el archivo de anulación (override). Si aún no tiene uno, copie el ejemplo. Docker Compose lo detecta automáticamente cuando ejecuta comandos de docker compose.

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

Edite el archivo de anulación. Abra docker-compose.override.yml en su editor, luego quite los comentarios y personalice las secciones que necesite.

Una entrada por servicio

Cada nombre de servicio (api, mongodb, meilisearch, ...) solo puede aparecer una vez. Para sobrescribir múltiples configuraciones en un mismo servicio, combínelas bajo esa única entrada.

Aplica los cambios. Ejecuta Docker Compose como de costumbre. Este fusiona docker-compose.yml y docker-compose.override.yml por ti.

docker compose up -d

Verifique los cambios. Liste los contenedores en ejecución y sus propiedades, tales como los puertos, para confirmar que sus anulaciones (overrides) surtieron efecto.

docker ps

Ejemplos

Para montar tu archivo de configuración librechat.yaml de modo que Docker pueda usarlo para Custom Endpoints & Configuration:

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

Para construir la imagen api localmente, montar el archivo de configuración y utilizar una versión anterior de MongoDB que no requiera soporte AVX:

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

Vigilar puertos expuestos

Exponer los puertos de MongoDB o Meilisearch al público puede dejar sus datos vulnerables. Evite los puertos predeterminados para entornos de producción o sensibles.

Uso de deploy-compose.yml

Con un archivo Compose que no sea el predeterminado, como deploy-compose.yml, la anulación no se carga automáticamente. Pase ambos archivos explícitamente con -f (o --file); los ajustes en los archivos posteriores anulan o se añaden a los anteriores.

El archivo de anulación puede tener cualquier nombre, aunque es posible que ya tenga docker-compose.override.yml en su lugar. Ejecute los comandos de la siguiente manera:

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

Referencia

  • Orden de precedencia: los valores en el archivo de anulación tienen prioridad sobre los mismos valores en docker-compose.yml.
  • Seguridad: al personalizar puertos y exponer servicios públicamente, sea consciente de las implicaciones de seguridad y evite los valores predeterminados para producción.

Para más detalles, consulta la documentación oficial de Docker:

¿Qué te parece esta guía?