Noah writes practical guides for Next.js deploys, AI self-hosting (Ollama, n8n), and PaaS panels like Coolify and Dokploy. His focus is getting apps from git clone to HTTPS with the fewest moving parts.
What “AI on a VPS” usually means
Most builders mean: local LLM inference (Ollama), embedding indexes, agent runtimes, and automation (n8n) that call models. That mix is CPU/RAM/disk bound on non-GPU VPS.
OrbitHost’s Ryzen NVMe fleet in FRA/AMS is a practical EU home for this class of workload — especially when your apps and data should stay in Europe.
Sizing CPU, RAM, and NVMe
vCPU count helps parallel tokenize/batch jobs; RAM determines which model quantizations fit; NVMe determines how painful model pulls and vector DB writes feel.
Start with 4 vCPU / 16 GB for a personal Ollama + small app. Drop to 8 GB only for tiny models or remote-API-only agents.
- API-only agents (OpenAI/Anthropic remote): 2–4 GB fine
- 7B Q4 local: ~8–16 GB
- 13B+ local: 24 GB+ or dedicated
- Always leave RAM for embed DB + OS
Reference stack
A common EU lab stack: Docker Compose with Ollama, a lightweight web UI, Postgres/pgvector or Qdrant, and n8n for workflows. Keep ports internal except the reverse proxy.
services:
ollama:
image: ollama/ollama:latest
volumes:
- ollama:/root/.ollama
restart: unless-stopped
n8n:
image: n8nio/n8n:latest
ports:
- "5678:5678"
environment:
- N8N_HOST=n8n.example.com
- N8N_PROTOCOL=https
volumes:
- n8n_data:/home/node/.n8n
restart: unless-stopped
volumes:
ollama:
n8n_data:Network and privacy
If you self-host models to keep prompts off third-party APIs, put TLS on the UI and restrict admin ports by VPN (WireGuard) when possible.
Hosting in Frankfurt/Amsterdam keeps RTT low for EU staff and can simplify data residency conversations versus US-only clouds.
When to leave VPS for dedicated/GPU
Move up when tokens/sec are product-critical, when many concurrent users hit local models, or when you need GPU VRAM the VPS lineup does not offer.
Compare `/vps` against `/dedicated` using real load tests — `ollama run` interactive feel plus sustained concurrent requests.
# crude concurrency smoke test once Ollama is up
curl http://127.0.0.1:11434/api/generate -d '{
"model": "llama3.2",
"prompt": "ping",
"stream": false
}'Related OrbitHost entry points
Use `/vps-for-ollama` for model hosts, `/vps-for-openclaw` for agent-focused boxes, and the n8n guide for automation. Cheap VPS works for orchestration-only; inference wants RAM.
Operational habits that matter more than brand
Pin model tags, monitor disk (models are huge), back up vector stores, and separate “experimental model junk drawer” from production agents.
Unattended `ollama pull` of every new GGUF will fill NVMe faster than any marketing page warns you about.
Related products
FAQ
Can a CPU VPS run LLMs?
Yes for small/quantized models via Ollama or llama.cpp. Expect slower tokens/sec than a GPU box. Fine for private assistants and light RAG.
How much RAM for 7B–8B models?
Plan roughly 8–16 GB RAM for comfortable 7B/8B quantized inference plus OS overhead. Larger context and parallel requests need more.
Do I need Frankfurt specifically?
Pick the PoP closest to your users and data sources. Frankfurt and Amsterdam both work for EU latency; GDPR-minded teams often prefer EU regions anyway.
What about training?
Serious training wants GPUs and fast interconnects. A general Ryzen VPS is for inference, agents, and orchestration — not multi-GPU training runs.
