Ollama + Open WebUI + Caddy, running in Docker on a Hostinger KVM2 (2 vCPU, 8 GB RAM, 100 GB NVMe, Ubuntu 24.04).
Video: [https://youtu.be/-OlX98vV8Sg](https://youtu.be/-OlX98vV8Sg)
VPS: [https://hostinger.com/daniellaera](https://hostinger.com/daniellaera) — code `DANIELLAERA`
for 10% off
| Model | Tokens/sec |
|---|---|
| llama3.2:1b | ~16 |
| llama3.2:3b | ~13 |
| qwen2.5:7b | fits in 8 GB, but very tight — not recommended |
Short prompts (a commit message, a quick explanation) come back in a few seconds. Long generations take a minute or more. There is no GPU on this plan — everything runs on CPU.
01-harden.sh
— do this first, before anything else02-docker.sh
compose.yml
+Caddyfile
docker compose up -d
-
Pull a model, create your admin account, then disable signups
-
Set a system prompt like "Answer directly, no preamble, be brief"— a short answer is a fast answer. - In Open WebUI, Admin Panel → Settings → Interface: turn off Title Auto-Generation, Follow-Up Generation, Tags Generation and Autocomplete. Each one fires an extra hidden generation on every message and they all compete for the same two cores.
OLLAMA_KEEP_ALIVE
keeps the model resident in RAM. Longer means no cold-load delay; shorter frees the memory when idle.