The Self-Hosted Bookmarking Tool I Didn’t Know I Needed: Karakeep


If you’re like me, your web browser is a graveyard of open tabs and forgotten bookmarks. Articles to “read later,” recipes to try, random Wikipedia rabbit holes, digital clutter accumulates fast. Browser bookmarks help a little, but they get messy and are tied to one browser or account. Cloud services like Pocket can save links across devices, but then you’re trusting a third-party and missing out on advanced organization. Well, Karakeep, a self-hosted, AI-powered bookmarking tool that’s been a game-changer for my inner data hoarder, is my new love… It’s like Marie Kondo for your digital life, minus the subscription fee.

Karakeep (formerly named “Hoarder”) is an open-source app that lets you save everything, web pages, PDFs, images, and even your own notes, all in one place. Unlike basic bookmark managers, Karakeep doesn’t just remember a URL. It automatically grabs the page’s title, description, and a preview image for you. It even uses a touch of AI to tag and summarize content, so you don’t have to write a mini essay describing why you saved that “Top 10 Potato Recipes” article, Karakeep’s AI will figure it out! In short, it handles the tedious organizing part while you happily hoard information.

What Makes Karakeep Special?

So, what exactly do you get with Karakeep that you can’t with a vanilla browser bookmark? For starters, Karakeep is bookmarks on steroids. You can sort items into custom lists for better organization. Every piece of text you save is fully searchable later thanks to an integrated full-text search engine. That means you can find that one quote you saved from an article just by remembering a few keywords. No more “where did I save that link?” moments, just search your Karakeep vault.

Perhaps the coolest feature is the AI-powered tagging and summaries. The app can automatically generate tags for each item based on its content (using ChatGPT under the hood, or even local AI models via Ollama for the self-hosting purists). For example, save a blog post about raspberry pie (the dessert) and it might auto-tag it #cooking #recipe. Save an article about Raspberry Pi (sbc, duh) and you’ll get tags like #technology #DIY. I was skeptical at first, but the AI tags have been shockingly on-point and saved me tons of manual tagging. The AI can even crank out a brief summary of the page, giving you a quick gist without reopening it. It’s like having a personal librarian who reads everything you bookmark.

Karakeep isn’t just for links, it’s a note-taking app too. I often jot down quick ideas or to-do lists in Karakeep because it supports plain text notes (now with Markdown formatting!). Initially notes were very basic, but I asked the Karakeep community if they could support Markdown for richer notes… and boom! Within days, a contributor added md. file support! Suddenly my notes could have bold headings, bullet points, the works. The open-source contributors really listen (more on this later).

And we can’t ignore the convenience features: there’s a browser extension for Chrome and Firefox that lets you save the page you’re viewing to Karakeep with one click. It even lets you add tags or pick which list to save into, all without leaving the page. On my desktop, I’ve gotten addicted to the Karakeep Firefox extension, one click and the page is instantly hoarded into my collection, with title, image and all. There are also mobile apps for iOS and Android, so you can save or view your bookmarks on the go. Essentially, Karakeep brings your scattered info under one roof that you control.

Karakeep’s web interface running on my Raspberry Pi. Bookmarked pages appear with their titles, descriptions, and preview images for easy browsing. I can filter by tags, search full text, or organize items into thematic lists. The interface is clean.

Speaking of control, did I mention Karakeep stores everything on your own server? Which brings me to the next point: I installed Karakeep on a Raspberry Pi at home, and it’s been smooth sailing.

Self-Hosting Karakeep on a Raspberry Pi (Yes, It’s That Easy)

I run Karakeep on my dear Raspberry Pi 5 that I almost host everything, thanks to Portainer (more on that here). In fact, with rising cloud costs and privacy concerns, a lot of folks are turning to home servers like the Pi for personal services. Why pay for yet another cloud subscription, when you can keep it in-house on a $50 mini-computer? The homelab revolution is real, and the Pi is at its center.

Installing Karakeep on the Pi was surprisingly straightforward. The project provides a pre-built Docker setup, which I love because it means less configuration hassle. I basically pulled the official Docker Compose file from the Karakeep repo and fired it up. Here’s roughly what the process looks like:

# 1. On your Raspberry Pi (with Docker + docker-compose installed):
git clone https://github.com/karakeep-app/karakeep.git karakeep-app && cd karakeep-app/docker

# 2. Create an .env file with required secrets:
cat > .env <<'EOF'
KARAKEEP_VERSION=release
NEXTAUTH_SECRET=super_random_string   # replace with your own secret
MEILI_MASTER_KEY=another_random_string  # replace with your own
NEXTAUTH_URL=http://<your-Pi-IP>:3000
EOF

# 3. Launch Karakeep with all its services:
docker compose up -d

A few notes on this setup: Karakeep’s Docker Compose spawns not just the web app but also a Meilisearch engine (for that full-text search) and a headless Chrome service that Karakeep uses to scrape and archive websites. It’s all containerized, so you don’t have to install databases or Chrome manually, the Compose file handles it. Once I ran docker compose up -d, the Karakeep web UI was live on my Pi’s port 3000. I pointed my browser to http://raspberrypi:3000 (or whatever IP the Pi has) and boom, I was greeted with a signup/login page. Time to start hoarding!

For reference, here’s a peek at the key parts of the Docker Compose configuration (simplified for brevity):

services:
  web:
    image: ghcr.io/karakeep-app/karakeep:${KARAKEEP_VERSION:-release}
    ports:
      - "3000:3000"
    env_file:
      - .env
    # ... (app server configs)
  chrome:
    image: ghcr.io/karakeep-app/headless-chrome:latest
    # (Headless Chrome for fetching previews)
  meilisearch:
    image: getmeili/meilisearch:v1.13.3
    # ... (search engine configs)

That’s it, no rocket science here. Even on the Raspberry Pi, Karakeep runs snappily. The Pi 5 has no issue handling a few containers; it’s using a few hundred MB of RAM at most. If you have a Pi 4 with at least 2GB RAM, you’re golden. You know my Pi is also running other services (because why not overload it, right?), but Karakeep plays nice with them.

Running a service on a Pi also means total control. Karakeep is AGPL-licensed open source, so not only is it free, but I know exactly what’s happening with my data. Bookmarks and notes are stored in my Meilisearch database and local storage, not on some company’s cloud. Open source and self-hosting really feels like the future: if I want a new feature or hit a bug, I can check the GitHub issues or even contribute. And the pace of improvement is seriously impressive. Case in point: that Markdown note support I mentioned earlier.

Open-Source Community for the Win (How Markdown Notes Became Reality)

One of the joys of using an open-source app is the community around it. Karakeep is developed on GitHub by a passionate group of contributors (119 and counting) and they are extremely responsive to feedback. When I first started using Karakeep, I realized the note-taking feature didn’t support Markdown. As someone who lives and dies by Markdown (once you start using **bold** and # headers in your notes, you can’t go back), I opened a feature request. I basically asked, “Hey, could we have Markdown support?”

In the very next release, Karakeep introduced the .md file support! Suddenly I could do rich formatting! It’s a testament to how active the project is and how much the maintainers care about the community.

Being open source also means you’re never locked into someone else’s vision. If I wake up tomorrow with a brilliant idea for Karakeep, I can suggest it or help build it. Already the app’s feature set has grown fast thanks to user input. Recent updates added things like webhook integrations, better mobile UI, and improved broken-link handling, many of those were community-inspired. It feels good to know the tool I rely on is shaped by users, not just a product team chasing profits.

Getting the Most Out of Karakeep (Tips, Tricks & AI Fun)

Alright, now that you’ve got Karakeep up and running, how do you use it effectively? Here are some tips from my experience to truly harness this tool:

  • Use the Browser Extension: Install the Karakeep extension on Chrome or Firefox to save any page with one click. When you find an interesting article, just hit the Karakeep button in your toolbar. A little panel pops up (without even leaving the page) so you can add tags or choose a list, then save. The extension will auto-fetch the title, images, and description in the background. No copy-pasting URLs or manually filling info, it’s seamless. Honestly, the extension turned me into a bookmarking machine overnight.

  • Mobile Apps for On-the-Go: Don’t underestimate the mobile apps (available on the App Store and Google Play). They sync with your self-hosted Karakeep server, letting you access or add bookmarks from your phone. I’ve been out and about, see something on Twitter that I want to read later, and I just share it to the Karakeep app. Knowing it’s saved on my server (and not a random cloud) is a satisfying feeling. The mobile app interface is pretty smooth, you can scroll your lists, search, and read item summaries easily. It’s like having your personal knowledge base in your pocket.

  • Leverage AI Tagging & Search: Make sure to set up the OpenAI API key in Karakeep’s config (or hook it up to an Ollama local model if you prefer). The AI auto-tagging is gold. Everything you save gets analyzed and labeled in plain English, which later helps when browsing or filtering. For example, I clipped a tutorial on Python, and Karakeep tagged it Programming, Python, Tutorial without me lifting a finger.

  • Organize with Lists and Tags: Karakeep allows both tag-based organization and list-based. I use lists as more permanent buckets (like “Tech Tutorials”, “Recipes”, “Travel Ideas”) and tags for cross-cutting topics (e.g. an article about Python for finance might live in my Tech Tutorials list but have tags python and finance). The search feature accepts filters like tag:python or is:link to narrow results, which is super handy as your collection grows. Also, the interface shows an “All Tags” page where you can see everything the AI or you have tagged, it’s oddly satisfying to see a cloud of topics you’ve been interested in.

  • Take Advantage of Archiving: By default, Karakeep saves the main metadata for links, but you can enable full page archival and media caching. If you’re paranoid about link rot (when a saved page goes offline), Karakeep can save a full HTML snapshot using the Monolith tool, and even auto-download YouTube videos via youtube-dl. I turned on the full-page archive for a few critical references I never want to lose. It does eat up storage, so use it selectively, but it’s awesome for building your personal Wayback Machine.

Access Your Vault from Anywhere with Tailscale

Since I’m self-hosting Karakeep on a Raspberry Pi at home, one challenge was accessing it when I’m not home (like when I’m on mobile data). Sure, I could open a port on my router and expose it to the internet, but my ISP doesn’t even give me a straightforward public IP thanks to CG-NAT. Thanks to, Tailscale, the homelabber’s best friend, I can reach my homelab from everywhere. I’ve mentioned Tailscale before, and that’s because it’s just so darn useful. In a nutshell, Tailscale creates a peer-to-peer WireGuard mesh network between your devices, so they all act like they’re on the same LAN, even if you’re on 4G or in another country. No port forwarding, no fancy config.

I installed Tailscale on my Raspberry Pi (it’s a one-line install) and on my phone and laptop. Now, whenever I’m out and want to access Karakeep, I simply connect via the Pi’s Tailscale IP address (or hostname). It’s as if my phone is virtually sitting on my home Wi-Fi, able to reach raspberrypi:3000 without any extra expose to the wild web. Tailscale handles all the encryption and NAT traversal behind the scenes. The result: I can use Karakeep’s mobile app or the web UI on the go, safely and privately. It feels like a personal cloud service that only I can see. If you’re self-hosting and haven’t tried Tailscale yet, do yourself a favor and set it up, it’s like magic when you first see it work.

(Pro tip: I even set my Pi as a “exit node” in Tailscale, which means when I’m on a public network I can route all my traffic through my Pi at home. This way I get the benefit of my Pi-hole ad blocker and a secure connection, but I digress, that’s a story for another day.) You can check how to do that from here.

With Tailscale + Karakeep, I have the ultimate bookmarking setup: all my devices, anywhere, can save to or retrieve from one central, private repository of knowledge. No more copy-pasting links to myself or forgetting which device I bookmarked something on.

Wrapping Up

What started as an experiment to declutter my digital life has become an indispensable part of my daily workflow. Karakeep scratches an itch I didn’t fully realize I had: the need for a unified, personal “knowledge base” for all the tidbits I encounter online. Now, when I see something interesting, I don’t hesitate to save it, I know Karakeep will organize it, tag it, and keep it safe on my own server. Later, when I need it, I can actually find it (imagine that!). No more “37 open tabs” guilt, no more lost bookmarks in a sea of browser folders.

Between the ease of running it on a Raspberry Pi, the power of AI-assisted organization, and the peace of mind of owning my data, Karakeep has been a homerun. And the best part is watching it get even better with each update, thanks to its open-source community. If you’re drowning in browser bookmarks or just want to take control of your digital clutter, give Karakeep a try. Your future self, the one who actually finds that link when you need it, will thank you. Happy hoarding!

Let me know if it works for you! cheers, berkem