Skip to content

Blog

deputyOS vs Ollama: how they're different and when to use which

Both run AI locally. They solve different problems. Here's a real comparison so you can pick the right one for your use case.

6 min read deputyOS team

New to deputyOS? The fastest path to see the difference is to run deputyOS on your laptop first — no Pi, no commitment. This post is the conceptual comparison; the laptop walkthrough is where you get hands-on.

“deputyOS or Ollama?” is a question that comes up a lot. The short answer is they solve different problems. The longer answer is below.

What Ollama is

Ollama is a local LLM runtime + model manager. You install Ollama on a Mac/Linux/Windows machine, run ollama pull llama3.1, then ollama run llama3.1, and you’ve got a model serving an HTTP API on localhost:11434. It handles GGUF download, quantization choice, GPU/CPU detection, memory management. It’s the cleanest “I just want a local model” experience that exists.

If your question is “how do I run an LLM on my machine,” Ollama is excellent. It does that one job extremely well.

What deputyOS is

deputyOS is a complete personal AI assistant appliance. You flash an image, boot a Pi/NUC/cloud VPS, the wizard publishes itself on the LAN, you pick a profile (OpenClaw / Hermes / Khoj), wire up channels (Telegram, Slack, Discord, Matrix, IRC, Email, Signal…), and you have an always-on AI assistant. The model — local or cloud — is one component among many.

deputyOS includes:

  • A first-boot wizard with QR-on-HDMI for headless setups.
  • AppArmor enforce, ufw default-deny, fail2ban, hardened sysctls, ClamAV signatures, key-only SSH — by default.
  • A choice of agent profiles, each with persistent memory and a multi-channel architecture.
  • Cost guardrails with auto-pause.
  • A/B image updates with watchdog rollback.
  • A signed-manifest update chain (minisign + cosign + SLSA).
  • A drive-mounting subsystem with policy file.
  • A PWA at /app with cards for status, logs, keys, cost.
  • A built-in /chat for talking to the agent in your browser without any external channel.

The local LLM is just one of the providers the wizard offers. We bake LFM2 via llama.cpp in the air-gapped tier, and yes, you can wire Ollama in too as a model provider — deputyOS ships local-ollama as a first-class option.

Side-by-side

AspectOllamadeputyOS
Primary unitA model runtime on your dev machineAn appliance image you flash and boot
Setupcurl -fsSL https://ollama.com/install.sh | shPick the image from the picker, flash, run wizard
Telegram / Slack / Discord etc.Not includedBuilt-in — pick channels in the wizard
Persistent agent memoryNot the focusYes — under /var/lib/<profile>/
Security defaultsOS defaultsAppArmor / ufw / fail2ban / hardened sysctls / ClamAV — all on
Signed updatesYes (Ollama-distributed binary)Yes (signed image manifest; A/B swap; watchdog rollback)
Air-gappedYes, after manual model pullYes, single-flag image build with model baked + nftables egress-deny
Cost guardrailsn/aPer-day/month caps with auto-pause
First-boot installsPulls the binary on installZero — everything baked
Hardware focusMac / Linux / Windows desktop or serverPi 5/4, NUC, mini-PC, cloud VPS, WSL2, UTM
Bring-your-own-key cloud LLMn/a (Ollama is local)Yes — OpenAI / Anthropic / OpenRouter / Bedrock / etc.

”Can I use them together?”

Yes. The wizard’s provider list includes a local-ollama entry. Point it at http://your-ollama-host:11434. deputyOS uses Ollama as the inference layer; everything else (channels, memory, hooks, cost tracking, security baseline) is deputyOS.

This is genuinely the best combination if you:

  • Already have a beefy desktop running Ollama with a good GPU.
  • Want a Pi 5 running deputyOS to handle the channels and memory.
  • Want the Pi to call your desktop for inference over your LAN.

The Pi handles all the always-on “boring” work (mDNS, channels, memory, scheduling), and the desktop only spins up its GPU when there’s actually a query to answer.

”Why not just use Ollama with a Python script?”

You absolutely can. People do, and it works fine for a single channel and a single user. The reason deputyOS exists is that the moment you scale that up — second channel, persistent memory, security defaults, backups, updates, cost caps — you’re building deputyOS yourself badly. We did it once, properly, so individual users don’t have to.

It’s the same reason you don’t write your own SMTP daemon when you want to host email. Possible; not worth your time.

When Ollama is the right answer alone

  • You’re a developer who wants a local LLM for code experiments.
  • You want maximum flexibility over which exact model file to run.
  • Your “AI assistant” needs are met by a chat window in your terminal.
  • You don’t need Telegram / Slack / Discord / etc.

Ollama is the right answer, and you don’t need deputyOS.

When deputyOS is the right answer

  • You want an actual AI assistant that’s online for your friends/family/team.
  • You want persistent conversation memory you control.
  • You want messages in Telegram/Slack/Discord/Signal/Matrix/etc. to route to the same agent.
  • You want security defaults on without thinking about them.
  • You want an air-gapped option for sensitive use.
  • You want an always-on appliance on hardware you own.

deputyOS is the right answer.

When deputyOS + Ollama together is the right answer

  • You have a powerful desktop with a GPU.
  • You want a low-power Pi to be the always-on entry point.
  • You want all the deputyOS chrome (channels, memory, security) plus full control over your model.

This is a great setup, especially if you have a 24/7 desktop you’re already paying for in electricity.

What we’re not

We’re not trying to replace Ollama. Ollama is fantastic at being a local model runtime. We don’t ship our own model runtime; we ship llama.cpp configured properly for each target. (You could call llama.cpp directly via deputyctl model register too, but most users don’t.)

We’re trying to be the missing piece between “a local model runs on my machine” and “I have a personal AI assistant that’s online and useful for me and the people I share it with.” That piece is appliance-shaped, not library-shaped.

TL;DR for picking

  • “I want to chat with a local LLM” → Ollama.
  • “I want my Telegram and Slack to have a useful AI assistant that I own” → deputyOS.
  • Both → deputyOS with local-ollama as the provider.

If the second or third bullet is you, the picker has the right image. Or read why we built deputyOS for the deeper rationale.

Related posts

Search

Search index isn't built yet. Run npm run build to generate it (Pagefind writes to dist/pagefind/).