Skip to content

AS213941 · Peering-20% on all VPS with code NVH20 · Delivered in 60 seconds

Linux VPSFrom 2,49 €/monthWindows VPSFrom 3,49 €/monthFiveM serverFrom 0,99 €/monthMinecraft serverFrom 1,99 €/month
VPS & Cloud

Ranges

Linux NVMe VPSRoot access, Debian, Ubuntu, Alma…Windows RDP VPSRemote desktop, licence includedDedicated serversIntel Xeon Gold, exclusive resourcesPterodactyl VPSGame panel preinstalled

Network and hosting

Anti-DDoSWeb hostingColocationIP transitVPN

Professionals

Reseller VPSReseller programme
Solutions

Bots and automation

AI agents VPSA server for your coding assistants and autonomous agentsOllama VPSYour private AI without a GPU, data in FranceTelegram bot VPSPython or Node.js, always reachableDiscord bot VPSMusic, moderation, tickets: no downtimen8n VPSWorkflows with no execution limitVPN VPSAn encrypted tunnel exiting in FranceWeb scraping VPSScheduled data collection, dedicated IP

Trading

Forex VPSYour robots manage positions overnightMetaTrader 4 VPSSeveral MT4 terminals on one machineMetaTrader 5 VPSForex, indices and stocks in MT5NinjaTrader VPSFutures and NinjaScript strategiesProp firm VPSChallenges and funded accounts, terminal always onlineAfrica trading VPSMetaTrader in Paris, from North or West AfricaRDP VPSWindows remote desktop, always onTrading bot VPSOpen-source crypto bots, protected API keys

Windows desktop

Windows 10 VPSFor software that requires Windows 10Windows 11 VPSA modern Windows desktop, reachable anywhereSEO VPSLarge-site crawls without tying up your PCStreaming VPSAn OBS studio streaming from the data centreWordPress VPSFast websites on NVMe disks
Marketplace

AI

OllamaLocal language models, with no external APIOpen WebUIA chat interface for your Ollama modelsAnythingLLMA private AI assistant for your documentsLangflowVisual editor for agents, RAG flows and AI APIsFlowiseBuild AI agents and chatbots visuallyQdrantVector database for RAG and semantic search

Trading

MetaTrader 5Official MT5 terminal, ready for your EAsMetaTrader 4Official MT4 terminal, ready for your EAsForex VPS pack (MT4 + MT5)MT4 and MT5 together, on a VPS tuned for tradingNinjaTrader 8NinjaTrader 8 with its prerequisitesFreqtradeOpen-source crypto trading bot, in simulation modeInteractive Brokers TWS / IB GatewayTWS or IB Gateway, official stable version

Bots and agents

Claude CodeAnthropic's coding agent, in your terminalCodex CLIOpenAI's command-line coding agentTelegram botYour Telegram bot, with automatic restartDiscord botYour Discord bot, with automatic restartOpenClawOpen-source personal AI assistant, active 24/7Hermes AgentAutonomous open-source AI agent

Deployment and automation

DockerThe container engine and Docker Composen8nYour automations, with no execution limitPortainerManage your Docker containers from your browserCoolifyDeploy your applications from Git, on your own serverUptime KumaMonitor your sites and servers, with alerts

Websites and databases

WordPressThe most widely used CMS, on a fast Nginx stackApache + PHP + MySQLApache, PHP and MariaDB, ready for your sitesMySQL (MariaDB)MySQL-compatible database serverPleskPlesk hosting panel, with your own licenceNextcloudYour own cloud for files, calendar and contacts

Network and security

WireGuardYour encrypted VPN, preinstalled as a paid optionVaultwardenA self-hosted password manager

Game servers

FiveMFiveM server with txAdmin and MariaDB, ready to useMinecraftTurnkey Minecraft Java server, plugins and mods includedRustRust server with automatic updates and Oxide or CarbonCounter-Strike 2Dedicated Counter-Strike 2 server, installed for youPalworldDedicated Palworld server, installed for youValheimDedicated Valheim server, installed for you
Gaming

Game servers

FiveM servertxAdmin, ESX, QBCoreMinecraft serverJava, Bedrock, modpacksRust serverOxide, Carbon, wipesNova-Life serverNova-Life: Amboise RP

Protection and tools

FiveM Anti-DDoSFree tools
Resources

Learn

DocumentationBlog

Assistance

ContactSLA commitment
View plans Client area Peering · AS213941

AI · Guide · 10 min

Running an LLM on a VPS without a GPU using Ollama: a realistic guide

By the NVHCloud team · 5 Nov 2026 · 10 min read

Running a language model on your own server has an obvious benefit: the data you send to it never leaves the machine, and the cost no longer depends on the number of requests. But most guides assume you have a graphics card. On a standard VPS without a GPU, what can you really expect?

The short answer: much more than you might think for some uses, much less than you might hope for others. This guide gives concrete orders of magnitude so you can decide before ordering, then shows how to install Ollama and use it from n8n.

⚠️ NVHCloud VPS plans have no graphics card. Everything below concerns CPU-only execution. The speeds are orders of magnitude based on public measurements, and they vary with the model, the quantization and the length of the text.

1. Why an LLM can run without a GPU

Two techniques make CPU execution possible. The first is quantization: model parameters, originally stored on 16 bits, are compressed to about 4 bits. The model then takes nearly four times less memory, with a moderate quality loss on most tasks. The second is the llama.cpp engine behind Ollama, optimized for the vector instructions of modern processors.

On a CPU, the limiting factor is less raw computing power than how fast memory transfers data to the processor. To generate each word, the engine has to go through all the model's parameters. The bigger the model, the longer this takes, and beyond a certain number of cores, adding more changes almost nothing.

2. How much RAM you need

The model must fit entirely in RAM, with room left for the system, the conversation context and other services. With the most common 4-bit quantization, the needs are roughly:

Model sizeMemory used by the modelRecommended server RAMExamples
1 to 3 billion parameters1 to 2.5 GB8 GBLlama 3.2 3B, Qwen 2.5 3B
7 to 8 billion4.5 to 5.5 GB16 GBMistral 7B, Llama 3.1 8B, Qwen 2.5 7B
12 to 14 billion8 to 9 GB32 GBQwen 2.5 14B
30 billion and up18 GB and upNot recommended without a GPUToo slow for everyday use

If n8n and PostgreSQL run on the same server, add 2 to 4 GB. A long context, such as a whole document passed to the model, also uses memory on top of the parameters.

3. What speed to expect

Speed is measured in tokens per second, a token being about three quarters of a word on average. Published CPU measurements give these orders of magnitude:

  • 3-billion-parameter model: around 15 to 30 tokens per second on 6 to 12 vCPUs. The answer appears at a comfortable reading speed.
  • 7 to 8 billion: around 5 to 15 tokens per second on 8 to 12 vCPUs. A 300-token answer takes between 20 seconds and a minute.
  • 14 billion: only a few tokens per second. Usable for overnight processing, not for interaction.

A second delay often surprises people: before producing the first word, the model has to read all the text provided. On a CPU, a document of several pages can take tens of seconds before the answer starts. For long texts, split them or summarize in stages.

Finally, a CPU server efficiently handles one request at a time. Ten simultaneous users will not get ten fast answers, but a queue.

4. What works and what does not

Good uses

  • Classifying and sorting: assigning a category to an email, a support ticket or a customer review. The answer is only a few tokens, so it arrives quickly.
  • Extracting data: turning an email or an invoice into structured JSON.
  • Background summaries: summarizing documents or reports overnight, when nobody is waiting.
  • Generating embeddings: these models are small and fast on CPU, and they are the basis of internal document search.
  • Handling sensitive data: pseudonymizing, analyzing or rewriting content that must not go to an external provider.

Uses to avoid

  • Real-time chat for several users: the queue quickly becomes frustrating.
  • Complex reasoning or advanced code generation: small models are clearly weaker here than large models available through an API.
  • Analyzing long documents on the fly: the initial reading phase becomes too long.

5. Install Ollama on the VPS

With Docker, installation takes one command. Note the 127.0.0.1 address before the port: Ollama has no authentication and must never be exposed directly to the Internet.

docker run -d --name ollama \
  --restart unless-stopped \
  -p 127.0.0.1:11434:11434 \
  -v ollama:/root/.ollama \
  ollama/ollama

Then download a model and check that it responds:

docker exec -it ollama ollama pull llama3.2:3b
curl http://127.0.0.1:11434/api/generate -d '{
  "model": "llama3.2:3b",
  "prompt": "Classify this message as urgent or not urgent: the server is not responding.",
  "stream": false
}'

By default, Ollama unloads the model after a few minutes of inactivity, and reloading adds several seconds to the next request. If the server is dedicated to this use, keep it loaded by adding -e OLLAMA_KEEP_ALIVE=24h to the run command.

⚠️ Ollama instances are often left publicly reachable because their port was opened without protection. Anyone can then use your server, download models or saturate your resources. Keep the port bound to 127.0.0.1 or the internal Docker network. See also SSH hardening and configuring UFW.

6. Connect Ollama to n8n

If you run n8n with Docker Compose, the simplest option is to add Ollama as a service in the same file. Both containers then share a private network, with no open port:

  ollama:
    image: ollama/ollama
    restart: unless-stopped
    environment:
      OLLAMA_KEEP_ALIVE: 24h
    volumes:
      - ollama_data:/root/.ollama

Add ollama_data: to the volumes section at the bottom of the file, restart with docker compose up -d, then download the model with docker compose exec ollama ollama pull llama3.2:3b.

In n8n, create an Ollama credential with the address http://ollama:11434. You can then use the Ollama Chat Model node as the model of an AI Agent node or an LLM chain.

An effective pattern combines both: the local model sorts, extracts and handles anything sensitive or repetitive, and only complex requests go to a model reached through an API.

7. API or local model: how to decide

For raw answer quality, large models available through an API remain far ahead of what a CPU can run, and at moderate volumes their cost per request is often low. A local model is justified for three specific reasons:

  • confidentiality, when data must not leave your infrastructure;
  • volume, when thousands of small repetitive tasks would make the API bill significant;
  • independence, when you do not want to depend on a provider's availability or price changes.

If none of these applies, start with a model through an API: any VPS can run the workflows that call it. If one does, a 16 GB server with a 7 to 8 billion parameter model is the most balanced starting point. See our NVMe VPS plans.

💡 In short: without a GPU, aim for quantized models of 3 to 8 billion parameters, at least 16 GB of RAM for a 7B model, and keep them for background tasks such as sorting, extraction, summaries and embeddings.

Frequently asked questions

Can Ollama run on a VPS without a GPU?

Yes, on the CPU, with quantized models. Models of 3 to 8 billion parameters are the realistic range, and they suit background tasks better than real-time chat.

How much RAM does Ollama need?

Plan for about 8 GB of server RAM for a 3B model and 16 GB for a 7 to 8B model, plus 2 to 4 GB if other services such as n8n run on the same machine.

Is it safe to expose Ollama to the Internet?

No. Ollama has no authentication, so anyone could use your server. Keep its port bound to 127.0.0.1 or an internal Docker network.

n8n and AI agents VPS

Self-host your workflows and agents.