freedzhost.cloud

Homelab 16 : garder tout ce que vous lisez, pour toujours, avec Karakeep

Un favori, c'est la promesse que la page sera toujours là. Souvent, elle ne l'est plus. Karakeep (anciennement Hoarder) garde la page elle-même : l'archive complète, lisible même quand le site d'origine a disparu, avec des étiquettes et un résumé écrits par un modèle qui tourne à la maison. Le nôtre passe aussi chaque page gardée à notre base de connaissance, pour que nos agents puissent chercher dans ce que nous lisons.

Comment ces chiffres ont été obtenus. Mesurés sur nos propres machines (voir le protocole), en général en un seul passage, vitesses relevées par le serveur lui-même ; nous ne publions pas les journaux bruts. Ce sont des ordres de grandeur sur ce matériel, pas des garanties sur le vôtre. Les chiffres extérieurs sont accompagnés de leur source.

Navigateur, téléphonepartager → garderKarakeeparchive complèteModèle localétiquettes + résuméWebhookjeton dans un en-têteVotre base de connaissanceinterrogeable par les agents
Gardez une page depuis le navigateur ou le téléphone. Karakeep archive la page entière, un petit modèle local l'étiquette et la résume, et un webhook la passe à votre base de connaissance, où vos agents peuvent la chercher une minute plus tard.

Un peu d'histoire

Les services de favoris et de lecture différée vont et viennent ; quand l'un ferme, des années de pages gardées disparaissent avec lui. Karakeep, publié d'abord sous le nom de Hoarder et renommé en 2025, garde une copie complète de chaque page que vous enregistrez sur votre propre serveur, et laisse un modèle local la résumer et l'étiqueter. La page survit même quand le site d'origine disparaît.

1. Le lancer

Karakeep publie une installation Docker Compose : l'application, un Chrome sans écran pour récupérer les pages, et Meilisearch pour la recherche plein texte. Suivez-la, épinglez les versions, publiez par votre proxy HTTPS (Homelab 2), et installez l'extension du navigateur et l'app du téléphone.

2. Les réglages qui comptent

RéglagePourquoi, mesuré
CRAWLER_FULL_PAGE_ARCHIVE=true41 327 caractères archivés au lieu de 8 927 : la page entière, pas seulement son premier écran
INFERENCE_ENABLE_AUTO_SUMMARIZATION=trueun résumé répond mieux à une recherche qu'une page brute pleine de menus
INFERENCE_JOB_TIMEOUT_SEC=300l'étiquetage a pris 54 s sur une longue page avec un petit modèle local ; le défaut de 30 s le coupait
OCR_LANGS=fra+engles documents et images en français sont lus correctement
DB_WAL_MODE=trueun autre programme peut lire la base pendant que Karakeep écrit

Pour les étiquettes et les résumés, reliez Karakeep à votre passerelle de modèles (Une passerelle pour tous vos modèles) par ses réglages compatibles OpenAI, et choisissez un petit modèle : étiqueter n'en demande pas un gros.

3. Le confier à vos agents

Dans les réglages de Karakeep, ajoutez un webhook vers un petit récepteur à vous, qui exporte les nouvelles pages dans votre base de connaissance. Mettez le jeton dans le champ auth token de Karakeep, pas dans l'URL : il est alors envoyé en en-tête, et les en-têtes ne finissent pas dans les journaux du proxy.

Pièges que nous avons payés

Un alias de notre passerelle annonçait « je suis le gros modèle » tout en servant en silence un repli de 3 milliards de paramètres. Demandez à la passerelle quel modèle a vraiment répondu, ne faites jamais confiance à un alias (c'est pourquoi notre passerelle n'a plus d'alias du tout).

Désactivez la recherche sémantique si votre passerelle ne sert aucun modèle d'embedding : laissée active, l'indexation échoue sans la moindre erreur visible.

NEXTAUTH_URL n'est pas qu'une redirection : la connexion vérifie les requêtes par rapport à elle. Réglez-la sur l'adresse que vous utilisez vraiment, et derrière un proxy ajoutez AUTH_TRUST_HOST=true. Une page de connexion qui s'affiche n'est pas une connexion qui marche.

Importer 500 favoris déclenche 500 webhooks. Ne réindexez pas à chacun : laissez le récepteur poser un drapeau, et lancez l'export une fois après 30 secondes de calme. Une petite VM à nous a été tuée par manque de mémoire avant ce changement.

Sources

Utile ? Dites-nous ce qu'il faut mesurer ensuite.