Connect LibreChat to TrustedRails
LibreChat is an open-source, self-hosted chat UI — a ChatGPT-style interface that talks to many AI providers. It reaches TrustedRails through its custom endpoint mechanism, so you add TrustedRails once in librechat.yaml and its models show up in the model picker for everyone on your instance.
Prerequisites
Section titled “Prerequisites”- A TrustedRails API key (starts with
tr-prx-). See Create a TrustedRails API Key. - A running, self-hosted LibreChat instance. See the LibreChat docs for installation.
- Your instance must actually load
librechat.yaml. The default Docker setup does not mount it — enable it by configuringdocker-compose.override.ymlexactly as described in LibreChat's custom endpoints guide. Without this, the endpoint you add below will not appear.
Add TrustedRails as a custom endpoint
Section titled “Add TrustedRails as a custom endpoint”Open your librechat.yaml and add an entry under endpoints.custom:
version: 1.3.13endpoints: custom: - name: "TrustedRails" apiKey: "${TrustedRails_API_KEY}" baseURL: "https://proxy.trustedrails.com/v1" models: default: ["MiniMaxAI/MiniMax-M2.7"] fetch: true titleConvo: true titleModel: "current_model" modelDisplayLabel: "TrustedRails" iconURL: "https://trustedrails.com/img/trustedrails-icon.svg"With fetch: true, LibreChat loads the live model list from TrustedRails's public /v1/models endpoint, so new models appear automatically — the default array is only the initial selection.
Provide your API key
Section titled “Provide your API key”The config above reads the key from an environment variable. Add it to your .env file:
TrustedRails_API_KEY=tr-prx-your-key-hereTo let each user enter their own key from the LibreChat UI instead of using a shared one, set apiKey: "user_provided" — users then see a key field when they select the endpoint.
Restart and select TrustedRails
Section titled “Restart and select TrustedRails”Restart LibreChat so it reloads librechat.yaml. For Docker, recreate the containers with docker compose down && docker compose up -d — a plain docker compose restart does not apply a newly added librechat.yaml mount. Then open the app: TrustedRails appears in the endpoint selector. Pick it, choose a model, and start chatting.
Verify
Section titled “Verify”Send any message with TrustedRails selected. A streamed reply confirms the connection. If you run LibreChat with logs visible, the request shows the model id that served it (for example MiniMaxAI/MiniMax-M2.7).
Troubleshooting
Section titled “Troubleshooting”- TrustedRails not in the selector —
librechat.yamlwasn't reloaded (restart LibreChat) or theendpoints.customindentation is off. - No models listed — the key env var is unset or misnamed, so
fetch: truecan't read the model list. ConfirmTrustedRails_API_KEYis set and the value starts withtr-prx-. - 401 / invalid API key — wrong or paused key. Create a fresh one from Create a TrustedRails API Key.