28.9k stars · AGPL-3.0 · v0.33.2 (2026-08-11) · Track this in Scout
A self-hosted place for links, notes, images and PDFs that keeps a copy of every page, labels items with a language model, and searches by words and by meaning.
▶Repo detailsthe review · specs · pros & cons · install
What it is
Karakeep is a Node.js application you run yourself, usually with Docker Compose, which is a way of starting several connected programs with one command. It stores links, notes, images and PDFs, fetches titles and descriptions, keeps a full copy of each page, and searches by words and by meaning.What it is good for. Anybody whose research lives in eighty browser tabs and a chat message to themselves. It has browser extensions, phone apps, RSS intake and a web interface for other programs, so things can arrive from anywhere. The automatic labelling uses a language model, either a paid one from OpenAI or a free one you run yourself with Ollama. A note on naming: this project used to be hoarder-app/hoarder. Old links still work, but the name is different now.
- It keeps a copy of the page, so a link that dies later is still readable.
- Search works on words and on meaning, so you find things you cannot remember the title of.
- Extensions, phone apps and a web interface mean saving something takes one tap from anywhere.
- This is not a small install. Docker Compose, secrets in a settings file, a reverse proxy and a certificate are all your job, and realistically it wants about 2 GB of memory because it runs a hidden browser to copy pages.
- The automatic labelling costs real money for every item you save, unless you run your own model, which costs memory instead.
- The licence is AGPL-3.0. Running it for yourself is fine. Offering it to other people as a service means publishing your changes.
- linkwarden/linkwarden
The same collecting, copying and searching of links, organised around shared collections rather than automatic labelling.
Track this in Scout - wallabag/wallabag
The same save-and-read-later job, older and steadier, built in PHP, with manual tags and no language model.
Track this in Scout - sissbruecker/linkding
The same bookmark manager with tags, copies and search, deliberately minimal, with no labelling and no media intake.
Track this in Scout
mkdir karakeep && cd karakeep curl -o docker-compose.yml https://raw.githubusercontent.com/karakeep-app/karakeep/main/docker/docker-compose.yml curl -o .env https://raw.githubusercontent.com/karakeep-app/karakeep/main/docker/.env.sample # edit .env: set NEXTAUTH_SECRET, MEILI_MASTER_KEY and, if you want labels, OPENAI_API_KEY docker compose up -d
