Local AI on Fedora — Ollama and Obsidian Offline
The point of a local model is not to chat with it in a terminal for sport. It is to take a messy browser conversation, drop it into a vault, and get a short note back — on this machine, with no cloud in the middle.
That needs three pieces. Ollama serves the model. Obsidian holds the Markdown. The Obsidian Web Clipper in Firefox is the missing hose: it is what turns a Grok or Gemini thread into a file the model can read. Ollama never sees the “active note”. It sees text.
A cheap ultrabook without spare RAM will crawl. If that is the box, skip local inference and use a cloud key in a later post. If the machine can keep a 7B model in memory and still leave 15–20 GB free on the NVMe, the rest of this page applies.
Hardware, in brief
Local inference is RAM and disk first, romance later.
- A small 3B model is about 2 GB on disk.
- Qwen 2.5 7B is about 4.7 GB. That is the size used below.
- 14B and 32B models run 10–20 GB and want real headroom.
Keep 15–20 GB free before the first pull. Models accumulate.
Step 1: Ollama on Fedora
Install from the distro, so updates do not fight a random installer script. The weights themselves live in the home directory.
sudo dnf install ollama
sudo systemctl enable --now ollama
Library of models: ollama.com/library. Pull one and leave the daemon up:
ollama run qwen2.5:7b
Useful later:
ollama list
systemctl status ollama
The API is http://localhost:11434. Opening that URL in Firefox only answers “the service is alive”. Prompts do not go there.
Step 2: Obsidian (Flatpak)
flatpak install flathub md.obsidian.Obsidian
Give the sandbox write access to the vault folder. Community plugin: Text Generator (or any local-LLM plugin). Provider URL http://localhost:11434. Model name exactly as in ollama list.
Commands for the model belong in Obsidian: Ctrl+P, then the Text Generator command, with the note open. The Konsole ollama run line is optional, for talking to the model outside the vault.
Step 3: Firefox Web Clipper
Add-on: Obsidian Web Clipper.
Set the vault name to the name Obsidian shows, not the filesystem path. Send clips to an Inbox/ folder. The template must contain {{content}}. A template that only has {{title}} produces an empty note.
On Fedora, Firefox, and Obsidian as Flatpak, the clipper often writes the title and nothing else. Two settings fix most of that:
- Clipper → General → Legacy mode on.
- If a clip still arrives empty, quit Obsidian completely and clip again.
Fedora 45 Beta KDE was kinder than older spins, but legacy mode remains the reliable switch. Without it, the obsidian:// hand-off on Wayland/Flatpak drops the body.
What a chat page is (and is not)
Grok and Gemini are web apps, not articles. Only the turns currently mounted in the page exist in the DOM. Ctrl+A and the clipper both see that window, not the whole history.
For a long thread:
- Scroll to the start, wait, scroll back down so older turns load.
- Clip or copy in two or three chunks into the same Inbox note.
- Do not expect one click to swallow a fifty-turn conversation. Linux also truncates a very large
obsidian://payload — that is why legacy mode still stops after a handful of exchanges on a long Grok chat.
Short page or short chat: clipper in legacy mode. Long Grok/Gemini thread: scroll, piece it, then the model.
You must be signed in. A logged-out Grok page clips the login screen.
Step 4: Let Ollama tidy the file
With the raw .md open, run Text Generator. Put the instruction after the pasted dialogue. If the plugin only receives the instruction, the 7B model writes a tutorial instead of a note.
Turn the dialogue above into a vault note.
Headings: Done / Decisions / Open.
European Portuguese or English — match the dialogue.
No how-to. No jokes. If it is not in the dialogue, omit it.
A system line in the plugin helps: “You are a clerk. You output Markdown. You never explain how to work.”
Two Inbox notes become one by pasting both under headings in a third note, then generating once. Or, from Konsole:
cat "/path/to/vault/Inbox/a.md" "/path/to/vault/Inbox/b.md" \
| ollama run qwen2.5:7b "Vault note. Done / Decisions / Open. No tutorial."
A 7B model will ramble if you feed it a clipped mess and a soft prompt. Shorter chunks, then merge the three Done lists by hand, beat one giant run.
The pipeline, once
Firefox (Web Clipper, legacy mode) → Inbox/*.md → Text Generator + Ollama → a short note in Chats/.
The add-on captures. The model cleans. Neither step replaces the other.
What’s next
If the machine cannot host a 7B model at a usable speed, the follow-up is Google AI Studio as the provider inside the same Obsidian plugin — same vault, no local weights.
Enjoy Reading This Article?
Here are some more articles you might like to read next:
- Local AI on Fedora — Obsidian Online (Google AI Studio)
- Installing Fedora 45 Beta KDE Plasma
- Logitech MX Master 4 on Fedora Linux – My Final Solaar Configuration
- How to Backup and Restore Thunderbird Remote Images Whitelist (Clean Install)
- Installing Fedora 44 KDE Plasma
- Installing Fedora 44 Xfce
- Installing Fedora 44 Beta Xfce
- Installing Fedora 44 Beta KDE Plasma
- XPPen Driver Install on Fedora 42+
- Installing Fedora 43 KDE Plasma