Table13
Ollama on one homelab GPU: three weeks as my local model server
Review · Self-hosted model serving · · 11 min read
- Verdict · use with caveats
- Right for one or two people on one box. When a team shares the GPU, serve with vLLM and keep Ollama for laptops.
- Cost
- FreeYou pay for the GPU and the electricity
- Licence
- MITOpen source; models carry their own licences
- Tested
- 3 weeks, October 2026Daily use: coding help, document Q&A, one agent
- On
- One 24 GB GPU, Ubuntu 24.04Docker, behind a reverse proxy
SampleThis review is sample content written to show the layout. Benchmark figures in the table are illustrative, not measurements.
Why I tried it
I wanted a model server in the house that my editor, a small document-search tool and one long-running agent could all talk to, without sending code or client documents to a hosted API. The box already existed: a tower in the cupboard with a single 24 GB card that had been running a media server and not much else.
Ollama is the default answer people give for this, so I gave it three weeks of normal use before trying the alternatives. The question was not "does it run" (it does, in about five minutes) but whether it stays out of the way once other things depend on it.
What I tested
- Daily coding help from the editor, pointed at the OpenAI-compatible endpoint.
- Document Q&A over a folder of PDFs, through a small retrieval script.
- One agent running scheduled jobs overnight: summarising logs and opening tickets.
- Concurrency: what happens when all three hit the GPU at once, which is the moment a home server turns into a shared server.
Models were a mid-sized coding model and a general instruct model, both quantised to fit the card with room for context. I kept the same models across all three servers in the comparison so the differences come from the server, not the weights.
Setup
Ollama runs in Docker with the GPU passed through. Two environment variables did most of the work: one to keep models loaded between requests, and one to allow parallel requests per model.
services:
ollama:
image: ollama/ollama
ports: ["127.0.0.1:11434:11434"]
volumes: ["ollama:/root/.ollama"]
environment:
OLLAMA_KEEP_ALIVE: "24h"
OLLAMA_NUM_PARALLEL: "4"
deploy:
resources:
reservations:
devices: [{ driver: nvidia, count: 1, capabilities: [gpu] }]
volumes:
ollama: {}
The port is bound to localhost and published through the reverse proxy with authentication in front. Ollama has no user accounts of its own, so anything that can reach the port can use, pull and delete models. Treat it like a database, not a website.
Compared with llama.cpp server and vLLM
Same machine, same models where the formats allow, same three workloads. Hover or tab into the table to follow a row and a column at once.
| Server | Licence | Setup timeto first answer | Model format | OpenAI-style API | 1 usertokens/s | 4 userstokens/s total | 8 userstokens/s total | Model swaps | Best fit |
|---|---|---|---|---|---|---|---|---|---|
| Ollamareviewed here | MIT | 5 min | GGUF | Yes | 38 | 82 | 95 | Automatic, by name | One or two people, many models |
| llama.cpp server | MIT | 30 min | GGUF | Yes | 41 | 96 | 120 | Restart with new flags | Tinkerers who want every knob |
| vLLM | Apache-2.0 | 1 hr | Safetensors | Yes | 36 | 140 | 310 | One model per process | A team sharing one GPU |
The single-user numbers are close enough not to matter. The difference shows up as soon as more than two things ask at once: vLLM batches requests on the GPU and keeps its throughput climbing, while Ollama and llama.cpp mostly take turns.
Where it falls short
- No accounts or keys. Authentication is your reverse proxy's job. Fine at home, a real gap the moment a second team uses it.
- Concurrency flattens out. Parallel requests help, but under load the overnight agent made my editor feel slow the next morning.
- Quiet memory decisions. When two models do not fit, Ollama unloads one without telling the caller. The request just takes longer.
- Defaults hide context length. Check the context window it actually loaded rather than trusting the model card.
Verdict
Ollama is the easiest way I know to put a model behind an API on your own hardware, and for one or two people that ease is the whole point. I still run it on my laptop and recommend it to anyone starting out.
For the shared box I moved the serving to vLLM and kept one model loaded. It took an evening, it needed more care, and it handled the overnight agent and the editor together without the morning slowdown.