Ollama VPS
Ollama from its official installer with a small model pulled, and Open WebUI in Docker as the chat interface, its admin account made for you. CPU only, so small models and modest speeds.
Who it suits
Trying open models privately, a small assistant for yourself, or an API for your own scripts, with prompts that never leave the server. Our servers have no GPU, so this won't match ChatGPT or Claude: CPU-only replies are slow and the models that fit are small. For an assistant that calls a hosted model, see OpenClaw.
Which plan
Standard (2 vCPU, 4 GB) is the smallest plan we offer it on and fits 1B to 3B models (llama3.2:3b is 2 GB) next to Open WebUI. Extreme (4 vCPU, 8 GB) fits 7B and 8B models (llama3.1:8b is 4.9 GB), which answer noticeably slower on a CPU. We haven't benchmarked it; expect the 3B model to be usable for short questions and larger ones to be slow.
What we install
Ollama runs open-weight language models behind a local API on 127.0.0.1:11434. We install it with Ollama's script as a systemd service, pull llama3.2:3b (about 2 GB) to start with, and run Open WebUI's image on 127.0.0.1:8080 with sign-ups off and an admin account whose password is in /root/open-webui-admin.txt.
- zstd
- ollama
- docker-ce
- docker-ce-cli
- containerd.io
- docker-buildx-plugin
- docker-compose-plugin
- zstd
- ollama
- docker-ce
- docker-ce-cli
- containerd.io
- docker-buildx-plugin
- docker-compose-plugin
From order to ready
- Server ready. We email you when the server is running, and you can log in with SSH. The installer starts on that same first boot.
- Installer running. It logs to
/var/log/vps9-setup.log;tail -fit to watch. - Application ready.
/var/lib/vps9-setup.exitappears when the installer has finished, holding 0 if it worked. Ollama and Open WebUI are ready whenollama listshows llama3.2:3b andcurl http://127.0.0.1:8080/healthanswers on the server. Open WebUI's first start takes a few minutes.
What you still do
- From your computer, run
ssh -L 8080:127.0.0.1:8080 root@<your IPv4>, openhttp://localhost:8080and log in with the email and password fromcat /root/open-webui-admin.txt. - Change the admin's email and password in Open WebUI's account settings.
- Chat with llama3.2:3b, or download another model that fits your plan with
ollama pull <model>. - For HTTPS on a domain, allow ports 80 and 443 in the panel firewall and run
vps9-https ai.example.com.
Exposure and security
Nothing is public. Ollama's API stays on 127.0.0.1:11434 (it has no authentication, so never open it), and Open WebUI listens on 127.0.0.1:8080. Open WebUI normally makes the first person to sign up its admin; here the admin is created at its first start from a password generated on the server, and sign-ups are off. vps9-https puts Open WebUI on your domain with HTTPS.
Backups and upgrades
Update Ollama by running its install script again, and Open WebUI by pulling ghcr.io/open-webui/open-webui:main and re-creating the container with the same volume and /opt/open-webui/open-webui.env. We turn on the operating system's automatic security updates. Back up the open-webui Docker volume (chats, users and settings); models can be downloaded again. We run the hardware, the network and the first-boot install; after that, Ollama + Open WebUI is yours to run, and we don't manage, update or back it up for you.
Ollama + Open WebUI questions
How fast is Ollama without a GPU?
Slow compared with hosted AI. We haven't benchmarked it, and Ollama publishes no CPU figures. Small models (1B to 3B) are usable for short questions on Standard; 7B and 8B models fit in Extreme's memory but answer noticeably slower. Longer conversations use more memory and time.
Which models fit my plan?
Count the model's download size plus room for its context and Open WebUI. Standard (4 GB): llama3.2:1b (1.3 GB) or llama3.2:3b (2 GB). Extreme (8 GB): those, or 7B and 8B models such as llama3.1:8b (4.9 GB). Ollama's library lists every model's size.
Can my own apps use the models?
Yes, through Ollama's API, but it has no authentication: reach it through an SSH tunnel (ssh -L 11434:127.0.0.1:11434 root@<your IPv4>) rather than opening the port. Open WebUI also offers an API with keys you create in its settings.
Do my prompts leave the server?
Not for models running in Ollama. Open WebUI can also connect to hosted providers if you add their API keys; prompts you send to those models go to that provider.
Order it from your terminal
$ vps9 servers create --plan standard --image ubuntu-24.04 --app ollama --hostname web-1 --key key_8f2c{
"plan": "standard",
"image": "ubuntu-24.04",
"hostname": "web-1",
"app": "ollama"
}