- Einordnung und Ziel
- Was ist Karakeep
- Mein Setup im Homelab
- LXC Container in Proxmox einrichten
- 1) Template laden und CT anlegen
- 2) LXC Features für Docker aktivieren
- 3) Unprivilegiert vs. privilegiert
- Installation – Karakeep mit Docker in einem Proxmox LXC
- 1) LXC vorbereiten
- 2) Projektordner und Dateien anlegen
- 3) .env anpassen
- 4) docker-compose.yml anpassen
- 5) Karakeep starten und updaten
- Konfiguration schnell erklärt
- Videos mit Karakeep speichern
- Browser-Erweiterungen und Apps
- Importfunktionen
- Karakeep vs Linkwarden
- Alternativen
- Backup, Restore und Migration
- Sicherheit und Betrieb
- Performance-Tipps
- Fehlerbehebung im LXC Umfeld
- FAQ
- Glossar
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
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
1) Template laden und CT anlegen
- In Proxmox im linken Baum auf den Storage mit Templates gehen und unter Vorlagen Ubuntu 22.04 Standard-Template laden.
- 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.
- Knoten und CT-ID wählen, Hostname z. B.
- 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
nestingundkeyctl. 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>.confergänzen: - Oder statt LXC eine kleine VM mit Ubuntu nutzen. Das vermeidet Edge Cases, braucht aber ein paar Prozent mehr Ressourcen.
- CT auf privilegiert umstellen und in
#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
| Einstellung | Wirkung | Ressourcenbedarf |
|---|---|---|
CRAWLER_STORE_SCREENSHOT | legt ein Screenshot pro Seite an | mittel |
CRAWLER_FULL_PAGE_SCREENSHOT | langer Vollseiten-Screenshot, ggf sind Cookie Banner sichtbar | hoch |
CRAWLER_FULL_PAGE_ARCHIVE | lokale Kopie der Seite | hoch |
CRAWLER_VIDEO_DOWNLOAD | lädt Videos via yt-dlp | hoch, je nach Größe |
OCR_LANGS | OCR für Bilder und PDFs | CPU-lastig |
MAX_ASSET_SIZE_MB | maximale Uploadgröße | abhängig vom Wert |
DISABLE_SIGNUPS | Registrierung deaktivieren | kein 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
- Google Chrome Erweiterung: https://chromewebstore.google.com/detail/karakeep/kgcjekpmcjjogibpjebkhaanilehneje
- Mozilla Firefox Add-on: https://addons.mozilla.org/en-US/firefox/addon/karakeep/
- Android App: https://play.google.com/store/apps/details?id=app.hoarder.hoardermobile
- iOS App: https://apps.apple.com/us/app/karakeep-app/id6479258022
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
jqzusammenführen und in Karakeep importieren. - Linkwarden: Importer vorhanden, hilfreich bei Umstieg.
Karakeep vs Linkwarden
| Kriterium | Karakeep | Linkwarden |
|---|---|---|
| Datenarten | Links, Notizen, Bilder, PDFs, Vollseiten-Archive, Videos | Lesezeichen mit starker Archivierung, PDFs, Screenshots |
| Suche | Meilisearch Volltext | Volltext und Archivdarstellung |
| Video-Archivierung | integriert per Env-Flags | eher extern oder Workflows |
| Mobile | native Apps und Browser-Add-ons | PWA und Community-Apps |
| KI-Unterstützung | optional via OpenAI oder lokal mit Ollama | vorhanden, je nach Version und Setup |
| Hosting | Docker Compose Standard | Docker Compose Standard |
| Teamfunktionen | vorhanden und im Ausbau | vorhanden 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
./datasichern - Docker Volume
meilisearchsichern - 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
chromeService 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
./dataprü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
.envDatei, die in Containern zur Laufzeit wirken















