Best VPS for LangGraph (2026): Self-Hosting the Graph Runtime
LangGraph took over as the default LangChain agent framework in 2025, and most teams using it run on LangSmith Cloud. That works fine until your bill hits 200 USD a month and the data residency questions start. Self-hosting LangGraph is straightforward, but the VPS sizing advice in the docs is conservative to the point of being misleading.
I host two production LangGraph deployments and have load-tested it on four different VPS configs. Here is what actually holds up.
Real LangGraph Footprint
The LangGraph runtime is small, around 200 MB of pure Python state machine code. The bulk comes from the LangChain ecosystem it depends on. Once you import the common integrations (OpenAI, Anthropic, Pinecone, your favorite tools), resident memory hits 400 to 600 MB before a single graph runs.
Each active graph session holds the current state plus checkpoint history. For typical conversational graphs, this is 50 to 150 MB per session. The state can grow surprisingly fast if you accumulate tool call history without trimming. Plan for state to be the dominant memory cost in long-running graphs.
VPS Comparison for LangGraph
| Provider | Plan | vCPU | RAM | Disk | Monthly | Best fit |
|---|---|---|---|---|---|---|
| Hetzner Cloud | CCX23 | 4 | 16 GB | 160 GB NVMe | 29.74 EUR | Production + Postgres |
| Contabo VPS | VPS M | 6 | 16 GB | 200 GB NVMe | 8.49 EUR | Budget production |
| DigitalOcean | Premium AMD 8 GB | 4 | 8 GB | 160 GB NVMe | 56 USD | US ops simplicity |
| Hetzner CCX13 | CCX13 | 2 | 8 GB | 80 GB NVMe | 14.86 EUR | Small production setup |
Hetzner Cloud CCX23: The default for serious deployments
The CCX23 has the room for LangGraph plus a co-located Postgres instance for checkpoints. Postgres for graph state matters because the alternative (SQLite or in-memory) breaks down with concurrent sessions. The 16 GB RAM also handles spike scenarios when a graph branches into multiple parallel paths.
What makes this the sane pick: graph executions can hit short bursts of memory when multiple branches run in parallel. The CCX23โs dedicated CPU keeps these bursts from stretching into latency stalls.
Pros:
- Room for LangGraph plus Postgres plus Redis on one node
- Dedicated CPU stable under burst load
- NVMe matters because Postgres checkpoint writes are constant
The downside: 29.74 EUR is mid-tier pricing, not budget.
Get Hetzner: Hetzner Cloud.
Contabo VPS M: Budget production
For 8.49 EUR a month, the VPS M with 6 vCPU and 16 GB RAM fits LangGraph plus its supporting services comfortably. The shared CPU is fine until you hit concurrent graph execution, at which point you will see latency variance.
For batch agent workloads or sequential graph execution, Contabo is the right call. For interactive multi-user agent applications, the variance becomes user-visible.
Pros:
- 16 GB RAM at unbeatable price
- 200 GB NVMe leaves room for years of checkpoint history
- 6 vCPU absorbs spike load reasonably
Negative: provisioning slowness and occasional outbound rate limits, same as for other agent setups on Contabo.
Try Contabo: Contabo VPS.
DigitalOcean Premium AMD 8 GB: For US-east teams
56 USD a month with 8 GB RAM and managed Postgres available as an add-on is genuinely convenient for ops-light teams. The managed database removes one operational concern from your LangGraph deployment.
Honest take: 8 GB RAM is the floor here, and LangGraph plus Postgres co-located needs more for production. If you use the managed database, 8 GB on the app server is fine.
Get DigitalOcean: DigitalOcean.
Hetzner CCX13: For small deployments
If you run LangGraph for a single application with under 10 concurrent sessions and you use SQLite or hosted Postgres elsewhere, the CCX13 with 8 GB RAM handles it. Around 2 to 3 GB resident memory in steady state leaves headroom.
Pick this for prototypes and small production loads. Move up the moment you need concurrent agent sessions for multiple users.
What I Would Pick
For production LangGraph with co-located services: Hetzner CCX23. For a budget production setup where occasional latency variance is acceptable: Contabo VPS M. Skip LangSmith Cloud once your monthly usage hits 100 USD, the self-hosted cost stays flat from there.
The full self-hosting context sits at the SelfHostVPS comparison. LangGraphโs API has stabilized in 2026, so the hosting recommendations here should hold without major revision for a while.
Frequently asked questions
What VPS specs does LangGraph need for production agents?
LangGraph plus the LangChain dependency tree starts around 400 to 600 MB resident memory before any graph runs. Each active graph session adds 50 to 150 MB depending on state size and checkpoint frequency. For 10 to 20 concurrent agent sessions, 4 vCPU and 8 GB RAM is the realistic floor. Add 4 GB if you use the persistence layer with Postgres on the same box.
Do I need LangSmith for production LangGraph deployments?
No, LangGraph runs fine without LangSmith. You lose the tracing UI and the prompt management features, but the graph runtime is fully self-contained. Many production deployments use open-source alternatives like Langfuse or Arize Phoenix for tracing, both of which self-host on the same VPS as LangGraph for minimal extra cost.
How does LangGraph compare to CrewAI for VPS requirements?
LangGraph is heavier in steady state. The LangChain dependency tree plus the graph state machine adds roughly double the resident memory of an equivalent CrewAI setup. The trade is flexibility, LangGraph handles arbitrary graphs while CrewAI is opinionated about role-based collaboration. Pick LangGraph when your agent needs branching, loops, and conditional state transitions.
Can LangGraph share a VPS with other tools?
Yes, comfortably. LangGraph plays well with Ollama (for local models), Postgres (for checkpoints), and Redis (for queue management) on the same host. A 16 GB Hetzner CCX23 can run LangGraph plus a Postgres instance plus a 7B model via Ollama with reasonable performance. Co-hosting reduces network latency between components, which matters for complex graphs.