Karakeep is a self-hostable "bookmark everything" app: it saves links, notes and images, tags them automatically with AI, and makes the whole pile searchable with full-text search. At 27,000 stars it has become the go-to open replacement for Pocket and paid read-it-later services, and it runs entirely on your own machine. This tutorial gets a working instance up with Docker Compose in about ten minutes.
- Karakeep self-hosts your bookmarks, notes and images, with AI auto-tagging and full-text search.
- Setup is Docker Compose: one compose file, a short
.env, anddocker compose up -d. - AI tagging is optional: add an OpenAI key, or point it at local Ollama; it works without either.
- It is AGPL-3.0 and free, with browser extensions and mobile apps for one-tap saving.
What is Karakeep and why is it trending?
Karakeep is a self-hosted archive for everything you want to keep from the web. Save a link and it fetches the page, saves an image and it stores it, jot a note and it lives alongside them, and an AI pass tags each item so you can actually find things later. Full-text search ties it together. It is trending for two overlapping reasons: the slow death of hosted read-it-later apps (Pocket's shutdown pushed people to look for alternatives), and a broader move toward self-hosting tools you do not want a vendor to own or discontinue. Karakeep is the polished, batteries-included option in that space.
RelatedStrix Setup: Run an AI Penetration Tester on Your Code
How do you install it with Docker Compose?
You need Docker and Docker Compose. Make a directory, grab the official compose file, and create a small .env:
mkdir karakeep-app && cd karakeep-app
wget https://raw.githubusercontent.com/karakeep-app/karakeep/main/docker/docker-compose.yml
Create a .env file next to it with the minimal settings, and generate real secrets rather than shipping the placeholders:
# generate each random string with: openssl rand -base64 36
KARAKEEP_VERSION=release
NEXTAUTH_SECRET=change_me_to_a_random_string
MEILI_MASTER_KEY=change_me_to_another_random_string
NEXTAUTH_URL=http://localhost:3000
Then start it and open the app:
docker compose up -d
# now visit http://localhost:3000 and create your account
How do you turn on AI tagging?
Automatic tagging is optional but is most of the appeal. The documented path is an OpenAI key added to your .env:
OPENAI_API_KEY=your_openai_key
# re-run 'docker compose up -d' after editing .env
If you would rather keep everything local, Karakeep supports alternative AI providers including Ollama for on-device inference, so your bookmarks never leave home even for tagging. Remember that every .env change needs another docker compose up -d to take effect.
RelatedSet Up OpenAI Codex Inside Claude Code
What are the gotchas?
Three. Change the random strings: the placeholder secrets in the sample .env are not secure, and openssl rand -base64 36 gives you good ones. Set NEXTAUTH_URL to the real address you will reach the app at, or sign-in breaks when you move off localhost. And if you expose Karakeep beyond your LAN, put it behind a reverse proxy with HTTPS and real authentication; it is your data, but a self-hosted app on the open internet is your responsibility to secure. Also budget for the AI cost: auto-tagging with a hosted model has a per-item price, which is another reason the Ollama route is attractive.
How much does the AI tagging really cost?
This is the question that decides whether Karakeep is effectively free or quietly metered, and the answer is: it depends entirely on which AI route you pick. With a hosted OpenAI key, each saved item triggers a small model call to generate tags, so cost scales with how much you save. For a normal person bookmarking a few things a day, that is pennies a month; for someone bulk-importing years of Pocket history in one go, the one-time tagging pass can add up, so import in batches and watch the first bill. The alternative removes the question entirely: point Karakeep at a local Ollama model and tagging runs on your own hardware for free, with the tradeoff of needing a machine capable of running the model and slightly less polished tags than a frontier API. For most self-hosters the Ollama route is the right long-term answer, keeping both your data and your costs fully in your control, with the hosted key as a convenient starting point while you get set up.
- Migration tools. How smoothly refugees from shuttered services can bulk-import.
- Local-AI defaults. Whether Ollama tagging becomes the recommended path over hosted keys.
- Mobile polish. How well the apps keep pace with the web experience.
Our take
Karakeep is riding a real shift: people got burned by read-it-later services that paywalled or shut down, and self-hosting is the obvious antidote for data you actually care about keeping. What makes it stand out is that it does not feel like a compromise. Auto-tagging and full-text search are the features that make a bookmark pile usable rather than a graveyard, and Karakeep ships both. The Docker Compose setup is genuinely ten minutes, and the option to keep AI local with Ollama closes the last privacy gap. If Pocket's demise left you looking, this is the replacement to try first.
- Officialkarakeep-app/karakeep repository and README
- Docsdocs.karakeep.app Docker install and configuration
- ReferenceOllama local AI for private tagging
Original analysis by GenZTech. Tool documentation: karakeep-app/karakeep on GitHub.
