Dompter ses favoris : Pourquoi j'ai choisi KaraKeep en auto-hébergement
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 :
- KaraKeep (Web) : L’interface utilisateur.
- Meilisearch : Le moteur de recherche.
- 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 viaopenssl 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: Utilisezgpt-4o-minipour avoir le meilleur rapport qualité/prix (OpenAI princing).AUTO_AI_SUMMARY: Réglez surtruepour l’automatisation.AUTO_AI_TAGS: Réglez surtruepour 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.
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 !