Deployment guide

Self-host Karakeep on a VPS: AI bookmark manager with Ollama

Deploy on a VPS Cloud →

Tutorial

Self-host Karakeep on a VPS: AI bookmark manager with Ollama

Self-hosting6 min read7 steps

Every developer accumulates links they mean to read later. Most end up in a browser tab graveyard, a Slack thread, or a cloud bookmark service that profiles your reading habits. Karakeep fixes this: a self-hosted bookmark manager that crawls, screenshots and indexes everything you save — and lets a local LLM tag and summarise it automatically, so you can actually find what you saved two months later.

Contents· The problem with cloud bookmark managers1/6
  1. 01The problem with cloud bookmark managers
  2. 02What Karakeep does that cloud managers don't
  3. 03Architecture: three containers on one VPS
  4. 04Self-hosting Karakeep on a VPS: step by step
  5. 05Pair Karakeep with n8n for automated saving
  6. 06Karakeep as an AI knowledge base

The problem with cloud bookmark managers

Pocket, Raindrop.io, Instapaper — they're convenient, but every link you save teaches an ad network about your interests. More practically: if the service shuts down (Pocket was acquired, Instapaper was briefly EU-blocked), your archive goes with it. And none of them give you full-text search across the actual page content — only the title and tags you manually added.

Karakeep (formerly Hoarder) is the self-hosted answer: open-source under AGPL-3.0, 26 k+ GitHub stars, and deployable as three Docker containers on a 2 GB VPS in under ten minutes.

What Karakeep does that cloud managers don't

  • Crawls and archives the full page content at save time — find articles by their body text, not just their title, even after the original page disappears.
  • Headless Chrome screenshots every URL — visual archive of what the page looked like when you saved it.
  • AI auto-tagging via local Ollama or OpenAI — drop a URL and get relevant tags generated automatically; no manual tagging required.
  • Full-text search via Meilisearch — millisecond queries across all saved content, including PDF text and image OCR.
  • PWA for mobile — add bookmarks from your phone's native share sheet directly to your self-hosted instance.
  • REST API — push and pull bookmarks programmatically; connect n8n, browser extensions or custom pipelines.

Architecture: three containers on one VPS

Karakeep runs three Docker containers:

1. The Karakeep application (Node.js) — handles the web interface, REST API, and orchestrates crawling and AI calls. Port 3000, ~300 MB RAM at idle.
2. Meilisearch — full-text search engine, indexes all saved content. Internal only (port 7700). ~200 MB RAM at idle.
3. Alpine Chrome (headless) — crawls URLs and takes screenshots on behalf of the app. Internal only (port 9222). ~300 MB RAM at idle.

Total at idle: 800 MB–1.2 GB. A 2 GB ServOrbit VPS is comfortable; a 4 GB VPS is recommended if you're also running Ollama on the same machine.

Self-hosting Karakeep on a VPS: step by step

  1. Order a VPS

    Choose a ServOrbit Cloud VPS with at least 2 GB RAM (Ubuntu 22.04). If you plan to run Ollama for local AI tagging on the same server, a 4 GB VPS is the better choice — Ollama itself needs at least 4 GB for a small model like phi3:mini.

  2. Deploy from the ServOrbit marketplace

    Select Karakeep in the Collaboration & Productivity section of the marketplace. The provisioner starts all three containers, generates the NEXTAUTH_SECRET and MEILI_MASTER_KEY automatically, and makes the web interface available on port 3000. Open http://your-vps-ip:3000 in your browser — you'll see the sign-up page where the first registered user becomes the admin.

  3. Set up your domain + SSL

    Point a subdomain (e.g. bookmarks.yourdomain.com) to your VPS IP in Cloudflare or your DNS provider. The standard Nginx + Let's Encrypt reverse proxy: a server on listen 443 ssl, a server_name bookmarks.yourdomain.com, and inside location / a proxy_pass http://127.0.0.1:3000; with proxy_set_header Host $host; and proxy_set_header X-Real-IP $remote_addr;.

    Once SSL is in place, update NEXTAUTH_URL=https://bookmarks.yourdomain.com in your docker-compose.yml and restart the app container with docker compose up -d. NextAuth requires the URL to match exactly for the auth cookie to work.

  4. Connect Ollama for local AI tagging (optional)

    If Ollama runs on the same VPS (it is in the ServOrbit marketplace), edit the Karakeep environment in docker-compose.yml and add OLLAMA_BASE_URL: http://localhost:11434 and OLLAMA_KEEP_ALIVE: "10m".

    In the Karakeep interface, go to Settings → AI and pick your Ollama model (e.g. phi3:mini for speed, llama3.2 for quality). Save a link — within seconds the tags and summary appear. Without Ollama or an OpenAI key, Karakeep still works fully; auto-tagging is optional.

  5. Install the browser extension and mobile PWA

    Install the Karakeep browser extension (Chrome/Firefox) and point it at your instance URL. On mobile, open your instance in a browser and 'Add to Home Screen' — the PWA installs like a native app and integrates with the native share sheet.

  6. Import your existing bookmarks

    Go to Settings → Import. Supported: Pocket JSON, Netscape bookmark files (all major browsers, Raindrop.io, Pinboard), and Karakeep's own backup format. Large imports process in the background.

  7. Logging in for the first time

    Open the URL then click "Sign up": the very first account registered becomes the administrator of the instance. Create it immediately.

Pair Karakeep with n8n for automated saving

Karakeep's REST API accepts POST /api/v1/bookmarks with {"url": "...", "title": "..."}. In n8n, an HTTP Request node can push URLs from RSS feeds, newsletters, Slack links or any webhook directly into Karakeep — no browser required.

Karakeep as an AI knowledge base

The combination of Karakeep + Ollama on a single VPS gives you a fully private, self-hosted knowledge base where an LLM reads and tags everything you save, and full-text search finds it again instantly — with no data leaving your server.

Karakeep also exposes a search API — GET /api/v1/bookmarks?q=query — that n8n workflows or LLM agents can query. Your saved knowledge becomes a private, queryable dataset rather than a graveyard of forgotten tabs.

Your bookmarks, your server, your AI

Deploy Karakeep on a ServOrbit VPS and give your knowledge base a private home — full-text search, AI auto-tagging with local Ollama, and a mobile PWA, no cloud account required.

Need help?

Browse our help center and FAQ, or reach our team — callback, WhatsApp or email. Support in French, English and Arabic.

Message us on WhatsAppopens in a new tab