Dompter ses favoris : Pourquoi j'ai choisi KaraKeep en auto-hébergement

déc. 29, 2025·
Benjamin Rabiller
Benjamin Rabiller
· 3 min. de lecture
KaraKeep + Docker + OpenAI

On connaît tous ce problème : des centaines de favoris accumulés dans Chrome ou Firefox, rangés dans des dossiers que l’on ne consulte jamais. La gestion par défaut des navigateurs est, avouons-le, insuffisante. Pas de recherche full text efficace, pas de catégorisation intelligente, et surtout, aucune visibilité sur le contenu réel du lien.

C’est là qu’intervient KaraKeep. J’ai décidé de l’auto-héberger pour reprendre le contrôle sur mes favoris tout en ajoutant une couche d’intelligence artificielle.


Pourquoi KaraKeep ?

Contrairement aux solutions classiques, KaraKeep ne se contente pas de stocker une URL. Il capture le contenu, permet une recherche ultra-rapide grâce à Meilisearch et, cerise sur le gâteau, s’intègre à OpenAI pour taguer et résumer vos lectures automatiquement.


Architecture et Installation Docker Compose

L’installation repose sur trois piliers :

  1. KaraKeep (Web) : L’interface utilisateur.
  2. Meilisearch : Le moteur de recherche.
  3. Alpine Chrome : Un navigateur headless qui permet à KaraKeep de “lire” les pages pour les indexer.

Voici le fichier docker-compose.yml que j’utilise pour mon déploiement (configuré pour fonctionner derrière un reverse-proxy Traefik) :

services:
  web:
    image: ghcr.io/karakeep-app/karakeep:${KARAKEEP_VERSION:-release}
    restart: unless-stopped
    volumes:
      - data:/data
    env_file:
      - .env
    networks:
      - web
      - back
    labels:
      - traefik.enable=true
      - traefik.docker.network=web
      - traefik.http.routers.books.entrypoints=websecure
      - traefik.http.routers.books.tls.certresolver=myresolver
      - traefik.http.routers.books.rule=Host(`bookmarks.bracloud.fr`)
      - traefik.http.services.books.loadbalancer.server.port=3000

  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
    networks:
      - back

  meilisearch:
    image: getmeili/meilisearch:v1.13.3
    restart: unless-stopped
    env_file:
      - .env
    environment:
      MEILI_NO_ANALYTICS: "true"
    volumes:
      - meilisearch:/meili_data
    networks:
      - back

networks:
  web:
    external: true
  back:
    external: true

volumes:
  meilisearch:
  data:

Configuration du fichier .env

Le fichier .env est le cœur de la configuration. C’est ici que vous liez les services et activez les fonctionnalités d’IA.

🔑 Variables fondamentales (Core)

Ces variables permettent au conteneur web de communiquer avec le moteur de recherche et le navigateur.

  • KARAKEEP_VERSION : Définit la version de l’image (ex: release).
  • MEILI_MASTER_KEY : Une clé complexe pour sécuriser votre moteur de recherche.
  • SECRET_KEY : Utilisée pour sécuriser les sessions (générez-en une via openssl rand -hex 32).

🤖 OpenAI : Le Turbo pour vos favoris

C’est ici que la magie AI opère. Une fois activé, OpenAI analysera chaque lien pour créer des résumés et des tags pertinents.

  • OPENAI_API_KEY : Votre clé secrète récupérée sur platform.openai.com.
  • OPENAI_MODEL : Utilisez gpt-4o-mini pour avoir le meilleur rapport qualité/prix (OpenAI princing).
  • AUTO_AI_SUMMARY : Réglez sur true pour l’automatisation.
  • AUTO_AI_TAGS : Réglez sur true pour l’extraction automatique des mots-clés.

Exemple de .env complet :

# --- GÉNÉRAL ---
KARAKEEP_VERSION=release
SECRET_KEY=votre_cle_aleatoire
DATA_DIR=/data

# --- MEILISEARCH ---
MEILI_ADDR=http://meilisearch:7700
MEILI_MASTER_KEY=UneCleSuperSecurisee123!

# --- NAVIGATEUR (SCRAPING) ---
BROWSER_WEB_URL=http://chrome:9222

# --- INTELLIGENCE ARTIFICIELLE ---
OPENAI_API_KEY=sk-proj-XXXX...
OPENAI_MODEL=gpt-4o-mini
AUTO_AI_SUMMARY=true
AUTO_AI_TAGS=true

Conclusion

Passer d’une gestion “navigateur” à une instance auto-hébergée de KaraKeep change radicalement la manière de consommer l’information. Grâce à l’indexation plein texte de Meilisearch et l’intelligence d’OpenAI, vos favoris ne sont plus une liste morte, mais une véritable base de connaissances.

Benjamin Rabiller
Auteurs
DevOps/Cloud Architect

Actuellement ingénieur DevOps/Architecte Cloud, j’étais initialement interessé par l’administration système et grâce aux entreprises dans lesquelles j’ai pu travailler Oxalide et maintenant Claranet j’ai eu la chance de découvrir l’univers du Cloud et de l’automatisation.

Je me suis décidé a publier ce blog pour vous faire partager ma passion mais également pour enrichir avec modestie tout ce que l’on peut trouver sur internet. Bonne lecture !