LibreChat
A ChatGPT-style chat UI. Add plugboard as a custom endpoint, and optionally as an Anthropic endpoint for the Messages API.
Connect
The LibreChat container reaches plugboard through the host, so plugboard must bind a non-loopback address with keys set (Serving other machines). In librechat.yaml:
yaml
version: 1.3.17
cache: true
endpoints:
custom:
- name: 'Plugboard'
apiKey: '${PLUGBOARD_KEY}'
baseURL: 'http://host.docker.internal:4010/v1'
models:
default: ['fast']
fetch: true
titleConvo: true
titleModel: 'fast'
modelDisplayLabel: 'Plugboard'
- name: 'Plugboard (Claude)'
provider: 'anthropic'
apiKey: '${PLUGBOARD_KEY}'
baseURL: 'http://host.docker.internal:4010'
headers:
anthropic-version: '2023-06-01'
models:
default: ['fast']
fetch: falseThe OpenAI-shaped endpoint's base URL ends in /v1; the Anthropic one is the plugboard origin. Put PLUGBOARD_KEY in .env and mount the file with docker-compose.override.yml:
yml
services:
api:
volumes:
- type: bind
source: ./librechat.yaml
target: /app/librechat.yaml
extra_hosts:
# Linux only. Docker Desktop already provides host.docker.internal.
- "host.docker.internal:host-gateway"extra_hosts is for Linux; Docker Desktop provides host.docker.internal. Restart with docker compose down && docker compose up -d. The files are in examples/librechat/.
What works
Streaming, tool calls, images and the model list on the OpenAI endpoint; streaming and tools on the Anthropic endpoint.
Limits
- LibreChat silently drops a custom endpoint that lacks
name,baseURL,apiKeyormodels(withfetch: trueor a non-emptydefault). Check those first when an endpoint is missing. - An unresolved
${VAR}fails with "Missing API Key" or "Missing Base URL". titleConvo: truecosts one extra request per conversation; keeptitleModela cheap alias.