What does self hosting an LLM actually require?
A self hosted LLM is not just a model choice. It is a decision about ownership of the operating work. Someone must own the runtime, data path, resource behavior, failure response, recovery, and exit artifacts. This guide does not claim that one route is faster, cheaper, safer, or more private than another.
Begin with five written decisions:
- Define the representative workload that the setup must handle.
- Draw the data boundary, including where inputs, outputs, logs, and stored files may go.
- Name the operator responsible for the runtime and recovery.
- Define what recovery evidence the pilot must produce.
- Decide how cost will be recorded, including operator time and idle capacity.
Those decisions make the comparison concrete. They also expose missing information before a model name or hosting route becomes the default. If the wider goal is to keep more AI infrastructure under your control, see the overview of self-hosted AI. For a narrower infrastructure view, the AI model hosting guide covers the hosting layer.
Which self hosted LLM route fits the operating job?
Choose the route by workload, data boundary, operator, recovery, and cost model. Treat a managed API as a control route in the same evaluation. It is not self-hosted, but it gives the pilot a reference for deciding whether taking on the operating work serves the stated goal.
| Route | Who operates it | Cost drivers | Evidence to collect | Exit package |
|---|---|---|---|---|
| Local workstation | The workstation owner or named local operator | Fixed compute, storage, operator time, monitoring and backups, recovery or idle capacity | Workflow record, runtime and model version, data path, resource behavior, failure and recovery notes | Configuration, version record, workflow inputs, results, logs, and recovery notes |
| VPS/CPU | The customer-side operator within the chosen server boundary | Fixed compute, storage, transfer, operator time, monitoring and backups, recovery or idle capacity | The same pilot record, with the server boundary and transfer path made explicit | Configuration, version record, workflow inputs, results, logs, and provider-independent recovery notes |
| Rented GPU | The customer-side operator within the rented GPU environment | Compute, storage, transfer, operator time, monitoring and backups, recovery or idle capacity | The same pilot record, plus the selected resource and current pricing evidence | Configuration, version record, workflow inputs, results, logs, data export, and recovery notes |
| Managed API/control | The API provider operates the service; the customer owns the evaluation and integration | Usage, transfer where applicable, operator time, monitoring and backups, and exit work | The same representative workflow, data path, version information available, results, and operator time | Workflow inputs, results, integration configuration, logs, and a migration record |
The table is a decision sheet, not a ranking. A route remains a candidate until the pilot supplies the evidence needed for the stated use. Do not turn an unknown into an assumed benefit. Record it as an unknown and decide whether the pilot can resolve it.
The local workstation route keeps the operating task with the workstation owner. The VPS/CPU route moves that task into a server boundary. The rented GPU route adds a selected cloud resource and a pricing page that must be checked at decision time. The managed API route leaves service operation with the provider and acts as the non-self-hosted control.
How should you calculate self hosted LLM cost?
Use a complete cost equation and leave every unsupported value blank until evidence exists. The framework is:
total operating cost = fixed compute + storage + transfer + operator time + monitoring/backups + recovery/idle capacity
This equation does not make a price prediction. It prevents a hardware or usage line from standing in for the whole operating cost. Apply the same recording period and workload definition to every route under consideration.
For each term, write down:
- the source of the value;
- the boundary covered by that value;
- whether it is fixed, workload-linked, or still unknown;
- the pilot evidence that could replace an assumption;
- the date on which an external price was checked.
Runpod publishes a public page for current GPU cloud pricing and identifies GPU types. We verified the official Runpod page on 21 October 2026. This article freezes no Runpod price, availability, region, service level, or performance figure. Check the official page when gathering evidence for a rented GPU route.
The equation also keeps operator time visible. Record the time used to prepare the workflow, operate it, examine a failure, recover it, and package the exit artifacts. Do not convert that record into a general claim about another team or deployment.
Where do Ollama and vLLM fit?
Ollama and vLLM are documented runtime paths, not a verdict about which route wins. They answer different setup questions in this guide, and neither official page supplies the missing evidence for your workload.
Ollama documents installation and operation on Linux. Its official Linux download page also provides a documented Linux download path. That makes Ollama one runtime path to place inside a Linux pilot. It does not establish hardware requirements, model compatibility, performance, or production results for the planned workload.
vLLM documents an OpenAI-compatible server. That makes vLLM one serving path to consider when an OpenAI-compatible interface belongs in the pilot. The documentation claim does not establish production suitability or benchmark results.
Keep the runtime choice separate from the hosting choice. A runtime record should state its version and configuration. A hosting record should state the route and boundary. This separation makes the evidence easier to compare and the exit package easier to understand. For another server-focused planning view, read the self-hosted AI server guide. If a web interface is part of the proposed workflow, the Open WebUI review explains how that separate layer is assessed.
How do you run a useful seven-step pilot?
A useful pilot records one representative workflow from entry to exit without claiming to prove security or compliance. Keep the workload stable enough that each route is being asked the same question.
- Record a representative workflow. State the input, requested output, completion condition, and any files involved.
- Record the model and runtime version. Save the exact identifiers and the configuration used for this pilot.
- Map the data path. Note where the input enters, where output returns, and where logs or stored files sit inside the chosen boundary.
- Observe resource behavior. Capture what the selected environment reports while the representative workflow runs. Do not turn one observation into a general benchmark.
- Create and record a failure and recovery check. State the chosen check, what happened, and which recovery evidence was produced.
- Record operator time. Include preparation, operation, failure handling, recovery, and packaging of results.
- Assemble the exit artifacts. Keep configuration, version records, workflow inputs, results, logs, data exports where applicable, and recovery notes.
The checklist produces a bounded decision record. It does not promise that the setup is secure, private, compliant, reliable, or ready for production. Those conclusions require evidence beyond what this packet supplies. Our general editorial standard is described in how we test, but this self hosted LLM article and the routes in it remain not tested by us.
What evidence should decide whether you continue?
Continue only when the pilot record answers the decision questions you wrote before choosing the route. The result can be “continue,” “change the route,” or “unknown.” An unknown is useful when it prevents an unsupported commitment.
Use the completed record to ask:
- Did the representative workflow reach its stated completion condition?
- Did the observed data path match the written boundary?
- Are the model, runtime, configuration, and hosting route identifiable?
- Did the failure and recovery check produce usable evidence?
- Is operator time recorded for the full pilot?
- Does the cost sheet contain sources or explicit unknowns for every term?
- Can another operator understand the exit package without relying on an unwritten step?
No single “yes” settles the decision. The workload result does not settle the data boundary. A documented runtime does not settle recovery. A current pricing page does not settle total operating cost. Keep each claim tied to its own evidence.
Where should you host an AI agent after the pilot?
Hosting selection should follow the workload record, not replace it. If the pilot points toward a VPS route, use the recorded resource behavior, data path, recovery evidence, and operator time as inputs to the next comparison.
Where to host it: our tested VPS picks
That CTA leads to a separate tested-host guide. It does not mean this article tested a host, model, runtime, or self hosted LLM deployment.
Frequently asked questions about a self hosted LLM
Can I self-host an LLM?
Yes. A local workstation, VPS/CPU server, or rented GPU can be evaluated as a self-hosted route. This article has not tested any of them. Define the workload, data boundary, operator, recovery evidence, cost model, and exit package before choosing.
What hardware do I need for a self-hosted LLM?
The supplied evidence does not establish a hardware minimum. Record the representative workflow and observe resource behavior in a bounded pilot. Keep hardware requirements unknown until evidence for the chosen model, runtime, and workload supports them.
Is a self-hosted LLM cheaper than an API?
This article cannot make that claim. Compare fixed compute, storage, transfer, operator time, monitoring and backups, and recovery or idle capacity. Use a managed API as a control route, and leave unsupported values marked as unknown.
What is the difference between Ollama and vLLM?
Ollama documents installing and running Ollama on Linux. vLLM documents an OpenAI-compatible server. This article does not provide a performance or production-suitability verdict between them.
How do I test a self-hosted LLM setup?
Run one representative workflow and record the model and runtime version, data path, resource behavior, failure and recovery check, operator time, and exit artifacts. This pilot record does not by itself prove security or compliance.
Written by Loïc Guyon (Tileo), who runs the AI Jungle fleet these tools are tested on.
