Solutions · Multi-model chat
A VPS for LibreChat
LibreChat is the open-source chat interface for many models at once: OpenAI, Anthropic, Google, and local models through an OpenAI-compatible endpoint, with agents, file search and accounts for a whole team. Its docs publish no RAM or CPU figure, and the official Docker Compose file starts six containers, so we size from that. BD-8 at $12.90 a month is the cheapest machine with real room; C2-4-80 at $37.90 is the smaller shape for one user or a small group.
What it needs
Software from the docs, sizes labelled by source
The software and the security posture come from the project's own documentation. Where the project publishes no hardware figure, the sizes say whose they are.
From the LibreChat docs and its compose file
- Git and Docker, on Linux. The Docker guide on librechat.ai lists nothing else, and states no RAM, CPU or disk requirement.
- Install: clone the repository, then
cp .env.example .env && docker compose up -d. The app answers on port 3080; a second container, the admin panel, answers on port 3000. - The official compose file starts six containers: the LibreChat app, its admin panel, MongoDB for conversations and accounts, Meilisearch for conversation search, a pgvector database and the RAG API for file search.
- Models are keys, not hardware. OpenAI, Anthropic and Google keys go in .env, or each user enters their own in the interface. A local model is a separate Ollama or other OpenAI-compatible endpoint that you add in librechat.yaml, so this machine needs no GPU.
Sizes (ours, from the six containers the compose file starts)
| Workload | vCPU | RAM |
|---|---|---|
| One user or a small group, a few chats, no heavy file searchOurs. Six containers idle in memory of their own; this is the least we would run them on. | 2 | 4 GB |
| A team, file search on, search index growingOurs. MongoDB, Meilisearch and the vector database each want headroom, and embedding uploads is CPU work. | 4 | 8 GB |
| Many users, large document sets, conversations kept for yearsOurs. The conversation store, the search index and the vectors all grow with use. | 8 | 16 GB |
The plans that fit
5 machines, priced live
Cheapest fitting machine first. Prices are today's, per month, read from the catalogue.
- BD-8$12.90/mo
4 vCPU · 8 GB · 100 GB disk · 32 TB
Cheapest with room for the whole stack. Comfortable for a team: the six containers, uploads, and the search index, with memory to spare.
- BD-12$17.90/mo
6 vCPU · 12 GB · 200 GB disk · 32 TB
More disk for uploads and vectors. For a real document library behind file search and years of saved conversations.
- BD-24$31.90/mo
8 vCPU · 24 GB · 300 GB disk · 32 TB
A large team or several heavy users. Plenty of memory for MongoDB, Meilisearch and the vector database to grow into.
- C2-4-80$37.90/mo
2 vCPU · 4 GB · 80 GB disk · 3 TB
The smaller shape, for one user or a few. Runs the stack; do not also run a local model or builds on it. Pick it for the city, not the size.
- C4-8-160$75.90/mo
4 vCPU · 8 GB · 160 GB disk · 3 TB
The comfortable size where the cheapest row's cities do not suit you. The same shape as the cheapest row, for a team that needs a different city.
There is no start-up preset for LibreChat yet: the install is the steps below, typed by you. They are the commands from LibreChat's own docs, plus the secrets its compose file asks for.
The install
Four steps, from LibreChat's docs
Docker, the compose stack, the first account, then your models. Register your own account the minute the stack is up: the first account created becomes the admin.
- Docker.
curl -fsSL https://get.docker.com | shThen check thatdocker compose versionanswers. - Clone and configure.
git clone https://github.com/LibreChat-AI/LibreChat.git cd LibreChat && cp .env.example .envIn .env, setMEILI_MASTER_KEY(at least 16 characters) andADMIN_PANEL_SESSION_SECRET, which the admin panel will not start without. If the containers report permission errors, setUIDandGIDto the user running compose. - Start it and register first.
docker compose up -ddocker compose psshould show all six containers up. Open http://your-ip:3080 and press Register: there is no default user. Until HTTPS is in front, keep 3080 and 3000 behind the firewall and reach the app over SSH:ssh -N -L 3080:127.0.0.1:3080 root@your-server - Add models, then a domain. Put
OPENAI_API_KEY,ANTHROPIC_API_KEYandGOOGLE_KEYin .env, or leave them as user_provided so each user enters their own key. For a local model, add an Ollama endpoint in librechat.yaml; from inside the container the address is host.docker.internal, not localhost. For HTTPS, point an A record at the server, put a reverse proxy in front, and setDOMAIN_CLIENTandDOMAIN_SERVERin .env to the public address. Once your people have registered, setALLOW_REGISTRATIONto false.
Honestly
What we would actually buy
LibreChat states no floor, and it starts six containers. Buy the 8 GB machine.
For LibreChat and a team
BD-8 · $12.90/mo
4 vCPU, 8 GB and 100 GB at $12.90: the whole official stack with memory left for MongoDB, Meilisearch and the vector database to grow, disk for uploads and CPU for embedding documents without the chat stalling. The models live elsewhere, behind an API key, so this machine never needs a GPU. If you need a city the cheapest row does not have, C4-8-160 at $75.90 is the same shape elsewhere.
Questions