Docker 覆盖
使用 docker-compose.override.yml 文件来自定义 LibreChat 的 Docker 设置,而无需编辑主 docker-compose.yml 文件。
Docker Compose 覆盖文件允许您更改 docker-compose.yml 中的默认配置,而无需编辑或复制它。覆盖文件主要用于本地自定义。当您运行 docker compose up 时,Compose 会自动将 docker-compose.yml 与 docker-compose.override.yml 合并。
更多示例
请参阅仓库中的 docker-compose.override.yml.example,以获取更多可供复制的覆盖代码片段。
配置覆盖 (Override)
创建覆盖文件。 如果你还没有该文件,请复制示例文件。当你运行 docker compose 命令时,Docker Compose 会自动识别并加载它。
编辑覆盖文件。 在编辑器中打开 docker-compose.override.yml,然后取消注释并自定义您需要的部分。
每个服务对应一个条目
每个服务名称(api、mongodb、meilisearch 等)只能出现一次。若要覆盖单个服务上的多个设置,请将它们合并在该条目下。
应用更改。 像往常一样运行 Docker Compose。它会自动为您合并 docker-compose.yml 和 docker-compose.override.yml。
验证更改。 列出正在运行的容器及其属性(例如端口),以确认您的覆盖配置已生效。
示例
若要挂载您的 librechat.yaml 配置文件,以便 Docker 可以将其用于 Custom Endpoints & Configuration:
要本地构建 api 镜像、挂载配置文件,并使用不需要 AVX 支持的旧版 MongoDB,请执行:
监控暴露的端口
将 MongoDB 或 Meilisearch 端口暴露给公网可能会使您的数据面临风险。在生产环境或敏感环境中,请避免使用默认端口。
使用 deploy-compose.yml
当使用非默认的 Compose 文件(例如 deploy-compose.yml)时,覆盖配置不会自动加载。请使用 -f(或 --file)显式传入这两个文件;后续文件中的设置会覆盖或添加到前面的文件中。
覆盖文件可以取任何名称,尽管您可能已经有了 docker-compose.override.yml。请按如下方式运行命令:
参考
- 优先级顺序: 覆盖文件中的值优先于
docker-compose.yml中的相同值。 - 安全性: 在自定义端口并公开服务时,请注意相关的安全隐患,并避免在生产环境中使用默认设置。
有关更多详细信息,请参阅官方 Docker 文档:
这篇指南怎么样?