Skip to content

🚢 docs: Correct the Deployment and Development Guides - #866

Merged
berry-13 merged 3 commits into
mainfrom
berry-13/docs-deploy-dev-audit
Oct 23, 2026
Merged

berry-13 merged 3 commits into
mainfrom
berry-13/docs-deploy-dev-audit

Conversation

@berry-13

Copy link
Copy Markdown
Collaborator

Summary

Checks the Docker, npm, Helm, remote hosting, development, toolkit and translation guides against the LibreChat repository, and fixes commands, scripts, ports and file paths that no longer match.

Stacked on #865; review only this PR's diff.

Change Type

  • Documentation update

Testing

  • Commands and scripts checked against package.json, the compose files and the Helm chart on LibreChat dev, then rechecked by a second independent pass
  • Internal links and anchors: no broken links
  • Frontmatter parses

Checklist

  • No dash punctuation added

@vercel

vercel Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
librechat-ai Ready Ready Preview Oct 23, 2026 9:43pm UTC

Request Review

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-23T21:31:19.517148Z 24befd9 New commits
🔒 Security Review ✅ Completed 2026-10-23T15:22:41.647362Z 617482b PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 617482bf1d

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread content/docs/remote/nginx.mdx Outdated
5. Rebase the deployed instance: `npm run rebase:deployed`

<Callout type="info" title="Admin panel server block">
`client/nginx.conf` also contains a second `server` block that serves the bundled [admin panel](/docs/features/admin_panel) on `admin.localhost` and proxies it to the `admin-panel` container. For a public domain, change that `server_name` to the hostname you use for the panel (and mirror the commented SSL variant if you terminate HTTPS in this container). The panel needs `ADMIN_PANEL_SESSION_SECRET` set in `.env`.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Set ADMIN_PANEL_URL when changing the panel hostname

For the public-domain scenario described here, changing only NGINX's server_name leaves deploy-compose.yml's API environment at its default ADMIN_PANEL_URL=http://admin.localhost, so the Admin Panel link and completed OAuth/SSO flows redirect users back to the unusable localhost address. The existing Admin Panel guide already requires setting ADMIN_PANEL_URL to the public hostname (content/docs/features/admin_panel.mdx:99), and the default is visible in the upstream deploy-compose.yml; include that .env change in this callout.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 7d0432e: the callout now says to set ADMIN_PANEL_URL to the public panel URL.

Comment thread content/docs/translation.mdx
Comment thread content/docs/remote/docker_linux.mdx Outdated
ADMIN_PANEL_SESSION_SECRET=<output of openssl rand -hex 32>
```

The panel is served through NGINX at `http://admin.localhost`; see [NGINX](/docs/remote/nginx) for the server block.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Clarify that admin.localhost is not a remote panel URL

In this remote-server guide, a browser opened on the administrator's workstation resolves admin.localhost to that workstation's own 127.0.0.1, not to the Droplet, so the newly advertised URL cannot reach the deployed panel. The repository's Admin Panel guide confirms this behavior at content/docs/features/admin_panel.mdx:96-100; this section should instead direct remote users to configure a real panel hostname and the corresponding DNS/NGINX/environment settings.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 7d0432e: the section now says admin.localhost only resolves on the server and gives the DNS, server_name and ADMIN_PANEL_URL steps.


```js
/* api\app\langchain\tools\handleTools.js */
/* api/app/clients/tools/util/handleTools.js */

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Fix the import after moving handleTools into util

After changing the documented file to api/app/clients/tools/util/handleTools.js, the following require('./StableDiffusion') resolves inside the util directory, while the walkthrough tells readers to create the plugin in api/app/clients/tools. Following these updated paths therefore produces a module-not-found error; the relative import must go up one directory or use the tools index.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 7d0432e: the import is require('../StableDiffusion') from tools/util.

Comment thread content/docs/local/helm_chart.mdx Outdated

Chart 3.0.0 enables authentication on the bundled MongoDB and Redis by default. Their generated passwords stay in the subchart Secrets and reach LibreChat through `secretKeyRef` (`MONGODB_ROOT_PASSWORD`, `REDIS_PASSWORD`), and `MONGO_URI` is assembled in the Deployment. To use your own database, set `librechat.configEnv.MONGO_URI` (or `REDIS_URI`). Set `mongodb.auth.enabled=false` or `redis.auth.enabled=false` only to restore the old unauthenticated behavior. Custom root passwords must be URL-safe because they are placed in `MONGO_URI`.

If `MONGO_URI`, `REDIS_URI` or `REDIS_PASSWORD` comes from the Secret named by `global.librechat.existingSecretName`, set `librechat.injectBundledCredentials.mongodb=false` (for `MONGO_URI`) or `librechat.injectBundledCredentials.redis=false` (for `REDIS_URI` or `REDIS_PASSWORD`). The chart cannot see inside that Secret, and the generated values would otherwise override it. The two settings are independent. The credentials are read when a pod starts, so after rotating a database password, restart every Deployment that reads it with `kubectl rollout restart deployment/<release>-librechat`.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Synchronize a Secret-provided password with bundled Redis

When redis.enabled=true and the global Secret supplies only REDIS_PASSWORD, following this instruction disables the LibreChat Deployment's bundled secretKeyRef, but it never configures the Redis subchart with the same value. Redis therefore retains its independently generated redis-password, while LibreChat attempts to authenticate with the password from the global Secret, causing authentication failures. Require a matching redis.auth.password/redis.auth.existingSecret, or scope this advice to external Redis.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 7d0432e: the paragraph now says a kept bundled MongoDB or Redis must use the same password, via auth.existingSecret or the matching auth password.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 7d0432ee1b

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread content/docs/development/get_started.mdx
Comment thread content/docs/local/docker.mdx Outdated

<Callout type="info" title="Update script">

From the LibreChat directory, `npm run update:docker` runs the repository's update script for Docker installs. Use the manual steps below if you prefer to control each step.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Do not recommend update:docker before it pulls images

For default Compose installations, choosing this newly advertised shortcut does not perform the update promised by this section: the current updater runs compose build but never compose pull, while the api service is image-only, so its cached prebuilt image remains unchanged, as documented in upstream issue #16185. Users can therefore be told that LibreChat is up to date while still running the old image; omit this shortcut or retain the manual pull flow until the updater is fixed.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in b36d157: the callout now says update:docker does not pull the prebuilt images and points default installs to the manual steps.

services:
api:
ports:
ports: !override

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Require Compose 2.24.4 before using !override

On hosts running an earlier Docker Compose v2 release, this troubleshooting alternative fails while parsing the override file instead of freeing port 3080. Docker's merge-file reference explicitly marks !override as requiring Compose 2.24.4 or later, while this guide accepts Compose without specifying that minimum; add a version check or limit this alternative to supported releases.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in b36d157: the alternative now states Docker Compose 2.24.4 or later.

@berry-13
berry-13 added this pull request to stack #869 October 23, 2026 16:25
@berry-13
berry-13 force-pushed the berry-13/docs-deploy-dev-audit branch 3 times, most recently from ff8fabb to 3e1fe77 Compare October 23, 2026 19:39
@berry-13
berry-13 force-pushed the berry-13/docs-deploy-dev-audit branch from 3e1fe77 to e702d81 Compare October 23, 2026 20:34
@berry-13
berry-13 force-pushed the berry-13/docs-deploy-dev-audit branch from e702d81 to b637f5c Compare October 23, 2026 20:56
@berry-13
berry-13 force-pushed the berry-13/docs-deploy-dev-audit branch from b637f5c to 8ed2fb3 Compare October 23, 2026 21:28
Base automatically changed from berry-13/docs-features-audit to main October 23, 2026 21:29
Check the Docker, npm, Helm, remote hosting, development, toolkit and
translation guides against the LibreChat repository: fix commands,
scripts, ports and file paths that no longer match.
…ssword

A public admin panel needs ADMIN_PANEL_URL as well as the NGINX
server_name, and admin.localhost only resolves on the server itself.
handleTools.js lives in tools/util, so the plugin import goes up one
level. A Secret-provided password must also reach the bundled database.
update:docker builds but never pulls, so it does not update the prebuilt
images of a default install. The !override tag needs Compose 2.24.4.
@berry-13
berry-13 force-pushed the berry-13/docs-deploy-dev-audit branch 2 times, most recently from 8ed2fb3 to 24befd9 Compare October 23, 2026 21:29
@github-actions

Copy link
Copy Markdown
Contributor

📦 Next.js Bundle Analysis for librechat.ai

This analysis was generated by the Next.js Bundle Analysis action. 🤖

This PR introduced no changes to the JavaScript bundle! 🙌

2 similar comments
@github-actions

Copy link
Copy Markdown
Contributor

📦 Next.js Bundle Analysis for librechat.ai

This analysis was generated by the Next.js Bundle Analysis action. 🤖

This PR introduced no changes to the JavaScript bundle! 🙌

@github-actions

Copy link
Copy Markdown
Contributor

📦 Next.js Bundle Analysis for librechat.ai

This analysis was generated by the Next.js Bundle Analysis action. 🤖

This PR introduced no changes to the JavaScript bundle! 🙌

@berry-13
berry-13 merged commit be62e27 into main Oct 23, 2026
6 checks passed
@berry-13
berry-13 deleted the berry-13/docs-deploy-dev-audit branch October 23, 2026 21:45

This branch was successfully deployed

1 active deployment
Preview — 24befd91 Deployed Oct 23, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant