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

Substituição do Docker

Use um arquivo docker-compose.override.yml para personalizar a configuração Docker do LibreChat sem editar o docker-compose.yml principal.

Um arquivo de override do Docker Compose permite que você altere a configuração padrão no docker-compose.yml sem editá-lo ou duplicá-lo. Arquivos de override são destinados principalmente a personalizações locais. Quando você executa docker compose up, o Compose mescla o docker-compose.yml com o docker-compose.override.yml automaticamente.

Mais exemplos

Veja docker-compose.override.yml.example no repositório para um conjunto mais completo de snippets de substituição que você pode copiar.

Configure o Override

Crie o arquivo de override. Se você ainda não tiver um, copie o exemplo. O Docker Compose o detecta automaticamente quando você executa comandos docker compose.

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

Edite o arquivo de override. Abra o docker-compose.override.yml no seu editor, então descomente e personalize as seções que você precisa.

Uma entrada por serviço

Cada nome de serviço (api, mongodb, meilisearch, ...) pode aparecer apenas uma vez. Para substituir múltiplas configurações em um único serviço, combine-as sob essa mesma entrada.

Aplique as alterações. Execute o Docker Compose como de costume. Ele mescla o docker-compose.yml e o docker-compose.override.yml para você.

docker compose up -d

Verifique as alterações. Liste os containers em execução e suas propriedades, como portas, para confirmar que suas substituições entraram em vigor.

docker ps

Exemplos

Para montar seu arquivo de configuração librechat.yaml para que o Docker possa usá-lo para Custom Endpoints & Configuration:

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

Para criar a imagem api localmente, montar o arquivo de configuração e usar um MongoDB mais antigo que não exija suporte a AVX:

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

  mongodb:
    image: mongo:4.4.18

Monitorar portas expostas

Expor as portas do MongoDB ou Meilisearch publicamente pode deixar seus dados vulneráveis. Evite portas padrão para ambientes de produção ou sensíveis.

Usando deploy-compose.yml

Com um arquivo Compose não padrão, como deploy-compose.yml, a substituição não é carregada automaticamente. Passe ambos os arquivos explicitamente com -f (ou --file); as configurações nos arquivos posteriores substituem ou adicionam às dos anteriores.

O arquivo de substituição (override) pode ter qualquer nome, embora você já possa ter o docker-compose.override.yml em vigor. Execute os comandos da seguinte forma:

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

Referência

  • Ordem de precedência: os valores no arquivo de substituição (override) têm precedência sobre os mesmos valores no docker-compose.yml.
  • Segurança: ao personalizar portas e expor serviços publicamente, esteja ciente das implicações de segurança e evite padrões para produção.

Para mais detalhes, consulte a documentação oficial do Docker:

Como está este guia?