Repository navigation
🚢 docs: Correct the Deployment and Development Guides - #866
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 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".
| 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`. |
There was a problem hiding this comment.
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 👍 / 👎.
There was a problem hiding this comment.
Fixed in 7d0432e: the callout now says to set ADMIN_PANEL_URL to the public panel URL.
| 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. |
There was a problem hiding this comment.
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 👍 / 👎.
There was a problem hiding this comment.
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 */ |
There was a problem hiding this comment.
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 👍 / 👎.
There was a problem hiding this comment.
Fixed in 7d0432e: the import is require('../StableDiffusion') from tools/util.
|
|
||
| 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`. |
There was a problem hiding this comment.
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 👍 / 👎.
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
💡 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".
|
|
||
| <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. |
There was a problem hiding this comment.
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 👍 / 👎.
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
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 👍 / 👎.
There was a problem hiding this comment.
Fixed in b36d157: the alternative now states Docker Compose 2.24.4 or later.
ff8fabb to
3e1fe77
Compare
3e1fe77 to
e702d81
Compare
e702d81 to
b637f5c
Compare
b637f5c to
8ed2fb3
Compare
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.
8ed2fb3 to
24befd9
Compare
📦 Next.js Bundle Analysis for librechat.aiThis analysis was generated by the Next.js Bundle Analysis action. 🤖 This PR introduced no changes to the JavaScript bundle! 🙌 |
2 similar comments
📦 Next.js Bundle Analysis for librechat.aiThis analysis was generated by the Next.js Bundle Analysis action. 🤖 This PR introduced no changes to the JavaScript bundle! 🙌 |
📦 Next.js Bundle Analysis for librechat.aiThis analysis was generated by the Next.js Bundle Analysis action. 🤖 This PR introduced no changes to the JavaScript bundle! 🙌 |
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
Testing
package.json, the compose files and the Helm chart on LibreChatdev, then rechecked by a second independent passChecklist