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

Override Docker

Utilizza un file docker-compose.override.yml per personalizzare la configurazione Docker di LibreChat senza modificare il file docker-compose.yml principale.

Un file di override di Docker Compose ti consente di modificare la configurazione predefinita in docker-compose.yml senza doverla modificare o duplicare. I file di override sono pensati principalmente per le personalizzazioni locali. Quando esegui docker compose up, Compose unisce automaticamente docker-compose.yml con docker-compose.override.yml.

Altri esempi

Consulta docker-compose.override.yml.example nel repository per un set più completo di snippet di override da cui puoi copiare.

Configura l'Override

Crea il file di override. Se non ne hai già uno, copia quello di esempio. Docker Compose lo rileva automaticamente quando esegui i comandi docker compose.

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

Modifica il file di override. Apri docker-compose.override.yml nel tuo editor, quindi decommenta e personalizza le sezioni di cui hai bisogno.

Una voce per servizio

Ogni nome di servizio (api, mongodb, meilisearch, ...) può apparire una sola volta. Per sovrascrivere più impostazioni su un singolo servizio, combinale sotto quella stessa voce.

Applica le modifiche. Esegui Docker Compose come di consueto. Esso unirà docker-compose.yml e docker-compose.override.yml per te.

docker compose up -d

Verifica le modifiche. Elenca i container in esecuzione e le loro proprietà, come le porte, per confermare che i tuoi override abbiano avuto effetto.

docker ps

Esempi

Per montare il tuo file di configurazione librechat.yaml in modo che Docker possa utilizzarlo per Custom Endpoints & Configuration:

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

Per compilare l'immagine api localmente, montare il file di configurazione e utilizzare una versione precedente di MongoDB che non richiede il supporto AVX:

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

  mongodb:
    image: mongo:4.4.18

Monitora le porte esposte

L'esposizione delle porte di MongoDB o Meilisearch al pubblico può rendere i tuoi dati vulnerabili. Evita le porte predefinite per ambienti di produzione o sensibili.

Utilizzo di deploy-compose.yml

Con un file Compose non predefinito come deploy-compose.yml, l'override non viene caricato automaticamente. Passa entrambi i file esplicitamente con -f (o --file); le impostazioni nei file successivi sovrascrivono o si aggiungono a quelle precedenti.

Il file di override può avere qualsiasi nome, sebbene tu possa avere già docker-compose.override.yml in uso. Esegui i comandi in questo modo:

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

Riferimento

  • Ordine di precedenza: i valori nel file di override hanno la precedenza sugli stessi valori in docker-compose.yml.
  • Sicurezza: quando si personalizzano le porte e si espongono servizi pubblicamente, essere consapevoli delle implicazioni di sicurezza ed evitare le impostazioni predefinite per la produzione.

Per maggiori dettagli, consulta la documentazione ufficiale di Docker:

Com’è questa guida?