Karakeep installieren und nutzen – selbst gehosteter Bookmark Manager im Vergleich zu Linkwarden

Einordnung und Ziel

Karakeep, ehemals Hoarder, ist ein selbst gehosteter Bookmark Manager für Links, Bilder, PDFs, Videos und Notizen. Die Software sammelt Metadaten automatisch, erstellt auf Wunsch Screenshots oder komplette Seitenkopien und durchsucht Inhalte per Volltextsuche. Ich zeige dir, was Karakeep kann, wie du es mit Docker in einem Proxmox LXC installierst, wo es sich von Linkwarden unterscheidet und welche Alternativen es gibt. Außerdem bekommst du Praxis-Tipps zu Performance, Backups, Sicherheit und zur Speicherung von YouTube Videos mit Karakeep.

Was ist Karakeep

karakeep-installation-27

karakeep-installation-27

karakeep-installation-29

karakeep-installation-29

karakeep-installation-30

karakeep-installation-30

karakeep-installation-31

karakeep-installation-31

karakeep-installation-33

karakeep-installation-33

Kurz gesagt: Karakeep ist dein privates Wissensarchiv. Du sammelst Webseiten, eigene Notizen, Bilder und PDFs, ordnest alles in Listen und Unterlisten und versiehst Einträge mit Tags. Die Suche läuft über Meilisearch. Optional hilft KI beim automatischen Tagging, entweder über OpenAI oder lokal mit Ollama. Praktisch sind außerdem OCR für Text in Bildern, Vollseiten-Archivierung, Screenshots und der Video-Downloader auf Basis von yt-dlp.

Typische Anwendungsfälle:

  • Recherche für Blogartikel, Vorträge oder Kundenprojekte
  • Moodboards für Designideen, Kampagnen und Webdesign
  • Sammeln von Anleitungen, Code-Snippets und Dokumentationen
  • Digitales Magazin mit Read-it-later Funktion

Mein Setup im Homelab

Ich betreibe Karakeep auf folgendem System:

Proxmox Host

  • Proxmox 8.4.1 auf HP ProDesk 400 G7 SFF
  • CPU Intel i5-10500, 48 GB RAM, 2T NVME SSD

LXC Container

  • Ubuntu 22.04
  • Start at Boot: Ja
  • Nesting: Ja
  • Keyctl: Ja
  • Anfangs 2 Kerne und 2 GB RAM, später auf 6 Kerne und 6 GB RAM erhöht
  • Swap 4 GB, nachher 8GB
  • Disk 96 GB

Hinweis aus der Praxis: 2 Kerne und 2 GB RAM reichen für den Einstieg. Bei großen bzw. vielen Uploads, vielen gleichzeitigen Crawler-Jobs oder OCR lohnen sich mehr CPU Kerne und RAM spürbar, auch wenn größere Dateien bzw Bilder verarbeitet werden.

LXC Container in Proxmox einrichten

karakeep-installation-02

karakeep-installation-02

karakeep-installation-03

karakeep-installation-03

karakeep-installation-04

karakeep-installation-04

karakeep-installation-05

karakeep-installation-05

karakeep-installation-06

karakeep-installation-06

karakeep-installation-07

karakeep-installation-07

karakeep-installation-08

karakeep-installation-08

karakeep-installation-09

karakeep-installation-09

karakeep-installation-10

karakeep-installation-10

karakeep-installation-12

karakeep-installation-12

1) Template laden und CT anlegen

  1. In Proxmox im linken Baum auf den Storage mit Templates gehen und unter Vorlagen Ubuntu 22.04 Standard-Template laden.
  2. Neu → LXC Container:
    • Knoten und CT-ID wählen, Hostname z. B. karakeep.
    • Passwort setzen
    • Template: Ubuntu 22.04.
    • Root-Disk: 60 bis 120 GB auf SSD oder NVMe.
    • CPU: Start mit 2 Cores, bei Bedarf später erhöhen.
    • RAM: Start mit 2 GB, Swap 4 GB.
    • Netzwerk: Bridge vmbr0, IPv4 DHCP oder feste IP.
    • DNS: entweder automatisch oder z. B. 1.1.1.1 und 9.9.9.9.
  3. Haken bei Start at boot setzen.

2) LXC Features für Docker aktivieren

Nach dem Anlegen den CT markieren → Optionen:

  • Features → Keyctl aktivieren
  • Features → Nesting aktivieren

Damit funktionieren Docker und der Headless Chrome Dienst für Screenshots deutlich zuverlässiger.

3) Unprivilegiert vs. privilegiert

  • Empfehlung: unprivilegierter LXC mit aktivierten Features nesting und keyctl. Das ist sicherer.
  • Falls Docker in LXC Probleme macht (z. B. bei bestimmten Chrome oder cgroup Themen), hast du zwei Optionen:
    • CT auf privilegiert umstellen und in /<CTID>.conf ergänzen:
    • Oder statt LXC eine kleine VM mit Ubuntu nutzen. Das vermeidet Edge Cases, braucht aber ein paar Prozent mehr Ressourcen.
#nano /etc/pve/lxc/<ctid>.conf

lxc.apparmor.profile: unconfined
lxc.cgroup2.devices.allow: a
lxc.cap.drop:
lxc.mount.auto: "proc:rw sys:rw cgroup:rw"

Nutze privilegiert nur, wenn nötig, und dokumentiere es für dich.

Installation – Karakeep mit Docker in einem Proxmox LXC

1) LXC vorbereiten

Im Proxmox LXC Ubuntu 22.04 wählen, Nesting und Keyctl aktivieren. Danach im Container:

sudo apt update
sudo apt upgrade -y
sudo apt install -y zip bzip2 gzip unzip htop git wget curl nano

Docker installieren:

sudo apt update
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

# falls du einen anderen Benutzer als root verwendest
# sudo groupadd docker
# sudo usermod -aG docker $USER

2) Projektordner und Dateien anlegen

mkdir karakeep && cd karakeep
wget https://raw.githubusercontent.com/karakeep-app/karakeep/main/docker/docker-compose.yml
wget -O .env https://raw.githubusercontent.com/karakeep-app/karakeep/main/docker/.env.sample

3) .env anpassen

Hier kannst du dir optional auch Online Secret Keys für deine Config Datei generieren lassen: randomkeygen.com

Mindestens setzen:

KARAKEEP_VERSION=release
DATA_DIR=/data
MEILI_ADDR=http://127.0.0.1:7700
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET=<openssl rand -base64 36>
MEILI_MASTER_KEY=<openssl rand -base64 36 | tr -dc 'A-Za-z0-9'>

Meine zusätzlichen Einstellungen für Medien, OCR und Video:

MAX_ASSET_SIZE_MB=200
CRAWLER_ENABLE_ADBLOCKER=true
# wird fuer den YouTube Video Download benoetigt
CRAWLER_VIDEO_DOWNLOAD=true
CRAWLER_VIDEO_DOWNLOAD_MAX_SIZE=5000000
CRAWLER_VIDEO_DOWNLOAD_TIMEOUT_SEC=7200

DISABLE_SIGNUPS=true #deaktiviert die Registrierung in Karakeep

CRAWLER_DOWNLOAD_BANNER_IMAGE=true
CRAWLER_STORE_SCREENSHOT=true
CRAWLER_FULL_PAGE_SCREENSHOT=true
CRAWLER_FULL_PAGE_ARCHIVE=true
OCR_LANGS=deu,eng #Deutsch und Englisch

4) docker-compose.yml anpassen

Ich speichere die Daten in einem Unterordner ./data neben der Compose-Datei. Das ist bequemer für Backups und man kommt im Notfall direkt an alle Dateien.

services:
  web:
    image: ghcr.io/karakeep-app/karakeep:${KARAKEEP_VERSION:-release}
    restart: unless-stopped
    volumes:
      - ./data:/data # Bind Mount angepasst

5) Karakeep starten und updaten

docker compose up -d

Weboberfläche: http://<deine-ip>:3000.
Update-Strategie: Version in .env anheben oder im Release-Channel bleiben und mit Pull neu starten. Für saubere Updates vorher ein Backup des ./data Ordners und des Meilisearch-Volumes erstellen.

Konfiguration schnell erklärt

EinstellungWirkungRessourcenbedarf
CRAWLER_STORE_SCREENSHOTlegt ein Screenshot pro Seite anmittel
CRAWLER_FULL_PAGE_SCREENSHOTlanger Vollseiten-Screenshot, ggf sind Cookie Banner sichtbarhoch
CRAWLER_FULL_PAGE_ARCHIVElokale Kopie der Seitehoch
CRAWLER_VIDEO_DOWNLOADlädt Videos via yt-dlphoch, je nach Größe
OCR_LANGSOCR für Bilder und PDFsCPU-lastig
MAX_ASSET_SIZE_MBmaximale Uploadgrößeabhängig vom Wert
DISABLE_SIGNUPSRegistrierung deaktivierenkein Effekt

Videos mit Karakeep speichern

Die Funktion basiert auf yt-dlp. Aktiviere sie mit CRAWLER_VIDEO_DOWNLOAD=true und setze sinnvolle Grenzen mit CRAWLER_VIDEO_DOWNLOAD_MAX_SIZE sowie CRAWLER_VIDEO_DOWNLOAD_TIMEOUT_SEC. Prüfe bei Plattformen die jeweiligen Nutzungsbedingungen. Für lange Videos empfiehlt sich ausreichend Speicher und ein großzügiges Timeout.

Browser-Erweiterungen und Apps

Mit den Add-ons speicherst du die aktuelle Seite mit einem Klick, inklusive Tags und Ziel-Liste.

Importfunktionen

  • Chrome und Firefox: Lesezeichen als HTML exportieren und in den Karakeep Einstellungen importieren.
  • Pocket: CSV aus dem Export importieren.
  • Omnivore: JSONs exportieren, optional mit jq zusammenführen und in Karakeep importieren.
  • Linkwarden: Importer vorhanden, hilfreich bei Umstieg.

Karakeep vs Linkwarden

KriteriumKarakeepLinkwarden
DatenartenLinks, Notizen, Bilder, PDFs, Vollseiten-Archive, VideosLesezeichen mit starker Archivierung, PDFs, Screenshots
SucheMeilisearch VolltextVolltext und Archivdarstellung
Video-Archivierungintegriert per Env-Flagseher extern oder Workflows
Mobilenative Apps und Browser-Add-onsPWA und Community-Apps
KI-Unterstützungoptional via OpenAI oder lokal mit Ollamavorhanden, je nach Version und Setup
HostingDocker Compose StandardDocker Compose Standard
Teamfunktionenvorhanden und im Ausbauvorhanden und bewährt

Kurzfazit: Karakeep ist sehr breit aufgestellt und deckt neben Bookmarks auch Medien und Notizen ab. Linkwarden punktet mit einer besonders ausgereiften Archivansicht und PWA. Wer viele Videos und Screenshots sammelt, profitiert bei Karakeep von den integrierten Optionen.

Alternativen

  • Raindrop – Cloud-Dienst mit schöner Oberfläche und vielen Integrationen
  • Instapaper – Klassiker für Read-it-later
  • wallabag, LinkAce, Linkding, Shaarli – Open-Source zum Selbsthosten
  • Pocket – wird bzw. wurde eingestellt, Export nutzen und migrieren
  • Linkwarden – Selfhosted Lesezeichen Manager

Backup, Restore und Migration

Backup

  • Ordner ./data sichern
  • Docker Volume meilisearch sichern
  • Optional Offsite-Backup oder Snapshots auf dem Proxmox Host

Restore

  • Container stoppen
  • Datenordner und Volume zurückspielen
  • Container starten

Migration

  • Export aus Pocket, Omnivore, Linkwarden oder Browsern erstellen
  • In Karakeep über die Einstellungen importieren

Sicherheit und Betrieb

  • Karakeep hinter einen Reverse Proxy mit HTTPS legen
  • DISABLE_SIGNUPS=true, wenn nur du den Dienst nutzt
  • Optionale OAuth Anbindung für SSO
  • Regelmäßige Updates und Backups
  • Speicher überwachen, vor allem bei Vollseiten-Archiven und Videos
  • Für LXC: möglichst aktuelle Proxmox Version, Nesting und Keyctl aktiv

Performance-Tipps

  • Mehr CPU-Kerne beschleunigen Crawler, OCR und Videoverarbeitung
  • SSD oder NVMe für das Datenverzeichnis nutzen
  • CRAWLER_FULL_PAGE_* nur dort aktivieren, wo du es wirklich brauchst
  • Separate Platte oder Objekt-Speicher für große Mediendaten einplanen

Fehlerbehebung im LXC Umfeld

  • Container mit Nesting und Keyctl starten
  • Wenn Docker im unprivilegierten LXC zickt, auf privilegiert umstellen oder AppArmor Regeln anpassen oder im worst case deinstallieren
  • Prüfen, ob chrome Service läuft, da Karakeep für Screenshots und Headless Crawling darauf zugreift
  • Ports 3000 und 9222 nicht von Firewalls blockieren lassen
  • Bei Permission-Problemen Pfadrechte für ./data prüfen

FAQ

Ist Karakeep kostenlos und Open Source?
Ja, Karakeep ist Open Source und auf Self-Hosting ausgelegt.

Brauche ich OpenAI für die Suche oder das Tagging?
Nein. Suche läuft lokal über Meilisearch. KI-Tagging ist optional und kann über OpenAI oder lokal via Ollama genutzt werden.

Kann ich YouTube Videos speichern?
Ja. Mit CRAWLER_VIDEO_DOWNLOAD=true nutzt Karakeep yt-dlp. Beachte Dateigrößenlimit und Timeout sowie rechtliche Rahmenbedingungen.

Wie aktualisiere ich Karakeep?
Backup erstellen, Version anheben oder Images neu ziehen und docker compose up -d ausführen. Alternativ kann man acuh ein BackUp des LXC in Proxmox durchführen, entweder manuell oder regelmäßig per Cron.

Wo speichere ich die Daten am besten?
Entweder in ./data auf dem Host oder in einem S3-kompatiblen Objekt-Speicher. Wichtig ist ein regelmäßiges Backup.

Glossar

  • Karakeep – selbst gehosteter Bookmark Manager, früher Hoarder
  • Linkwarden – alternative Self-Hosting Lösung für Bookmarks mit starker Archivansicht
  • Meilisearch – schlanke Volltextsuche, von Karakeep verwendet
  • OCR – Texterkennung für Bilder und gescannte PDFs
  • yt-dlp – Downloader, den Karakeep zum Video-Archivieren nutzt
  • Monolith – Tool zur Erstellung von Einzeldatei-HTML-Archiven, das Karakeep für Vollseiten-Archive einsetzt
  • Ollama – lokaler KI-Server, mit dem Karakeep Tags und Zusammenfassungen ohne Cloud erstellt
  • S3 Storage – Objekt-Speicher wie MinIO oder Cloud-Dienste, geeignet für große Mediendaten
  • PWA – Progressive Web App, installierbar wie eine App, läuft im Browser
  • Docker Compose – beschreibt Multi-Container-Stacks in einer YAML-Datei
  • LXC – leichtgewichtige Container in Proxmox, gute Performance bei geringem Overhead
  • Privilegierter LXC – Container mit erweiterten Rechten, nötig für manche Docker-Setups
  • AppArmor – Linux Sicherheitsmodul, kann in LXC-Umgebungen angepasst werden
  • Reverse Proxy – vorgeschalteter Webserver wie Nginx oder Traefik, übernimmt HTTPS, Routing und Header
  • NextAuth Secret – geheimer Schlüssel für die Authentifizierungsschicht in Karakeep
  • ENV Variablen – Konfigurationswerte aus der .env Datei, die in Containern zur Laufzeit wirken

Durchschnittliche Bewertung 0 / 5. Bewertungen: 0

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen