ki

karakeep. Für Eichhörnchen und andere Sammler. Installation als Docker-Stack auf einem UNRAID-Host, mit lokalem Ollama KI-Server.

Von peter portmann,

Veröffentlicht am 19. Okt. 2025   —   4 min Lesezeit

dokumentationselfhostedunraidmacoscode
Bild erzeugt mit KI (Gemini Nano Banana)

🫣
Es gibt Personen in meinem Umfeld, die alles sammeln, auch Browser‑Tabs und bauen sich so ein Archiv auf. Das erfordert dann einiges an motorischem Geschick, bei gefühlt achtzig offenen Tabs zielsicher den richtigen zu treffen. Schade nur, dass diese 'Datenbank' oft ein Update nicht überlebt. Dann ist das Gejammer gross und ich bin daran schuld...

Schon länger beobachte ich das Projekt 'karakeep', früher 'hoarder' genannt. Aktuell verwende ich es als Spielwiese für KI‑Automation mit verschiedenen Instanzen wie Ollama und n8n auf UNRAID und einem macOS‑Server.


Was ist karakeep?

Karakeep
The Bookmark Everything app. Hoard links, notes, and images and they will get automatically tagged AI.

Schnell Links, Notizen und Bilder speichern. karakeep wird diese mithilfe von KI automatisch mit Schlüsselwörtern versehen, um einen schnelleren Zugriff zu ermöglichen. Entwickelt für die Daten-Sammler da draussen!

Karakeep
The Bookmark Everything app. Hoard links, notes, and images and they will get automatically tagged AI.
GitHub - karakeep-app/karakeep: A self-hostable bookmark-everything app (links, notes and images) with AI-based automatic tagging and full text search
A self-hostable bookmark-everything app (links, notes and images) with AI-based automatic tagging and full text search - karakeep-app/karakeep

Anwendung

karakeep ist nicht so flexibel wie ein Workflow mit 'Obsidian Web Clipper' und dem 'AI Tagger Universe' Plugin in Obsidian. Aber für einfache Aufgaben wie eine Rezeptesammlung passt es wohl besser.


Konfiguration

In karakeep können die Prompts nur ergänzt und nicht ersetzt werden. Daher ist eine Automatisierung mit n8n geplant, damit die Prompts frei gestalten werden können.

Ich habe die Einstellungen angepasst, damit die Schlüsselwörter auf Deutsch formuliert werden. Dies muss für jeden Benutzer einzeln konfiguriert werden.


Internetadresse speichern

Chrome-Erweiterung

Im Chrome-Browser gibt es eine karakeep-Erweiterung. Eine Webseite kann so mit einem Klick in die karakeep-Sammlung gesichert werden.

Es sind verschiedene Komponenten beteiligt. Ein Webcrawler durchsucht zuerst die Website. Dann werden die Daten einer KI übergeben, welche den Inhalt untersucht und Schlüsselwörter sowie eine Zusammenfassung erstellt. Das dauert einen Moment.


Organisation

Die Webseiten können nach Tags/Schlüsselwörtern und Listen organisiert werden. Die Suchfunktion ist sehr schnell.


Installation

Es gibt diverse Möglichkeiten zur Installation [karakeep Dokumentation]. Ich verwende hier Docker. Unter UNRAID benötigt es einige Kniffe. Vielleicht hilft dieser Installationsweg jemandem weiter. Zurzeit läuft es produktiv für mich und meine Familie. Die Erweiterung mit n8n funktioniert noch nicht so, wie es sein soll, da bleibe ich dran.

UNRAID

UNRAID kann nativ keine Docker‑Stacks installieren. Die Container werden normalerweise einzeln konfiguriert und dann verknüpft. Hier habe ich das 'Compose Manager'‑Plugin verwendet. Dort funktioniert es mit einem docker‑compose.yaml und einem .env‑Bereich wie bei docker compose auch.

Bei mir sind die Dienste via Cloudflare‑Tunnel und einem Nginx‑Reverse‑Proxy erreichbar. So habe ich von überall aus Zugriff.

docker-compose.yaml

services:
  web:
    image: ghcr.io/karakeep-app/karakeep:${KARAKEEP_VERSION:-release}
    restart: unless-stopped
    volumes:
      - /mnt/user/appdata/karakeep/karakeep_data/data:/data
    ports:
      - 3333:3000
    env_file:
      - .env
    environment:
      MEILI_ADDR: http://meilisearch:7700
      BROWSER_WEB_URL: http://chrome:9222
      DATA_DIR: /data
  chrome:
    image: gcr.io/zenika-hub/alpine-chrome:124
    restart: unless-stopped
    command:
      - --no-sandbox
      - --disable-gpu
      - --disable-dev-shm-usage
      - --remote-debugging-address=0.0.0.0
      - --remote-debugging-port=9222
      - --hide-scrollbars
  meilisearch:
    image: getmeili/meilisearch:v1.13.3
    restart: unless-stopped
    env_file:
      - .env
    environment:
      MEILI_NO_ANALYTICS: "true"
    volumes:
      - /mnt/user/appdata/karakeep/meili_data:/meili_data

volumes:
  meilisearch:
  data:

.env

Ollama Server: 192.168.16.45
UNRAID Server: 192.168.16.44
MEILI_MASTER_KEY und NEXTAUTH_SECRET müssen mit openssl rand -base64 36 erzeugt werden
NEXTAUTH_URL=eigene Website

DATA_DIR=/data
MEILI_ADDR=http://192.168.16.44:7700
MEILI_MASTER_KEY=<openssl rand -base64 36 | tr -dc 'A-Za-z0-9'>
NEXTAUTH_URL=https://kara.supercool.net
NEXTAUTH_SECRET=<openssl rand -base64 36>
OLLAMA_BASE_URL=http://192.168.16.45:11434
INFERENCE_TEXT_MODEL=gpt-oss:20b
INFERENCE_IMAGE_MODEL=llava:13b
EMBEDDING_TEXT_MODEL=embeddinggemma:latest
INFERENCE_CONTEXT_LENGTH=8096
INFERENCE_ENABLE_AUTO_TAGGING=true
INFERENCE_ENABLE_AUTO_SUMMARIZATION=true
INFERENCE_JOB_TIMEOUT_SEC=60
INFERENCE_OUTPUT_SCHEMA=structured

Ich freue mich auf Fragen und spannende Diskussionen.


Quellen

27.2.2205

01.10.2025

17.10.2025


Auf Facebook teilen Auf Linkedin teilen Auf Twitter teilen Per E-Mail senden

Newsletter abonnieren

Einschreiben und kostenlos News direkt per E-Mail erhalten.

einschreiben