Guide de déploiement

Migrer depuis Pocket : alternatives self-hosted sur VPS

Déployer sur un VPS Cloud →

Self-hosting10 min de lecture

Migrer depuis Pocket : alternatives self-hosted sur VPS

La fermeture de Pocket en juillet 2025 a mis en lumière un risque sous-estimé : des années de veille organisée peuvent disparaître en quelques semaines. Karakeep et Wallabag offrent une alternative durable — deux outils open source que vous déployez sur votre propre VPS en moins de deux heures, avec import natif de votre bibliothèque Pocket existante.

Quand un service disparaît et emporte vos données avec lui

Le 8 juillet 2025, Pocket a basculé en lecture seule. Mozilla avait annoncé la fermeture un mois plus tôt, en invoquant un changement de priorités stratégiques. Les utilisateurs ont eu environ 90 jours pour exporter leur bibliothèque via getpocket.com/export, avant que la date butoir du 12 novembre 2025 ne tombe : ce jour-là, Mozilla a désactivé l'export et supprimé définitivement les données de chaque compte. Ceux qui n'avaient pas exporté à temps ont tout perdu. Mozilla n'a conservé aucune copie, et l'API Pocket est aujourd'hui hors ligne. Omnivore, outil de lecture annoté racheté par ElevenLabs, avait fermé quelques mois plus tôt dans des conditions similaires. Ces deux fermetures successives ont mis en lumière un risque souvent sous-estimé : dix ans de veille, de highlights et de tags organisés peuvent disparaître en quelques semaines, sans procédure de recours. La question n'est plus de savoir si un tel événement peut se produire, mais à quelle fréquence.

Ce que vous gagnez à héberger votre liste de lecture

Héberger sa propre liste de lecture sur un VPS change fondamentalement la relation entre vous et vos données. Voici les avantages concrets par rapport à un service cloud comme Pocket ou Omnivore.

  • Pérennité des données — vos articles archivés restent accessibles tant que votre serveur tourne, indépendamment des décisions commerciales ou financières d'un éditeur tiers ; une fermeture de startup ne vous concerne plus
  • Confidentialité des lectures — aucun profil publicitaire ne se construit sur vos habitudes de lecture ; les URLs sauvegardées, les tags et les annotations ne quittent pas votre infrastructure
  • Contrôle complet des sauvegardes — vous définissez la fréquence, la destination (S3, Backblaze, NAS local) et la durée de rétention de vos snapshots, sans dépendre d'un plan payant ou d'un quota d'espace
  • Intégration libre avec votre stack — l'API REST de Karakeep ou de Wallabag se branche à n'importe quel outil (n8n, Zapier, scripts maison, extensions de navigateur) sans surcoût ni restriction de volumétrie
  • Stockage sans quota artificiel — la limite est celle de votre disque ; vous ne payez pas de supplément pour archiver 50 000 articles plutôt que 1 000
  • Mises à jour sous votre contrôle — vous choisissez quand appliquer une version majeure, pouvez tester en staging et revenir en arrière si une mise à jour introduit une régression
  • Portabilité permanente — vos données sont dans une base SQLite ou PostgreSQL que vous exportez, migrez ou transformez à tout moment, sans dépendre d'un format propriétaire

Prérequis : quel VPS pour héberger une liste de lecture

Un outil de liste de lecture self-hosted n'est pas une application gourmande. Karakeep a besoin d'un peu plus de RAM que Wallabag, car il fait tourner Meilisearch pour la recherche sémantique et un moteur de rendu headless (Puppeteer) pour l'archivage du contenu complet. La configuration minimale recommandée est un VPS avec 2 Go de RAM, 1 vCPU et 20 Go de stockage SSD. Pour un usage en équipe de moins de dix personnes, cette configuration tient sans ajustement. Wallabag est encore plus léger : 512 Mo de RAM suffisent pour un usage individuel. Dans les deux cas, les ports 80 et 443 doivent être ouverts dans le pare-feu, Docker et Docker Compose v2 doivent être installés, et un nom de domaine pointant sur l'IP du serveur est nécessaire pour activer HTTPS via Let's Encrypt ou Caddy. Le certificat est obtenu automatiquement par votre reverse proxy : vous n'avez pas besoin de gérer le renouvellement à la main.

Déployer Karakeep sur VPS et importer vos données Pocket

Les étapes ci-dessous supposent un VPS avec 2 Go de RAM minimum, Docker et Docker Compose v2 installés, et un nom de domaine pointant sur l'IP du serveur. L'ensemble de l'opération prend moins de 30 minutes sur une instance fraîche.

01

Retrouver votre export Pocket

Si vous avez exporté avant le 12 novembre 2025, vous disposez d'un fichier ril_export.html. C'est un document HTML contenant la liste de toutes vos URLs avec leurs titres, tags et statut (lu / non lu). Ce fichier est votre seule source de données : conservez-en une copie sur un stockage externe avant de commencer.

02

Créer le répertoire de travail sur le VPS

Connectez-vous en SSH et exécutez : mkdir -p /opt/karakeep && cd /opt/karakeep. Ce répertoire contiendra le fichier Compose et le fichier d'environnement.

03

Télécharger le fichier Compose officiel

Récupérez la définition des services depuis le dépôt officiel : wget https://raw.githubusercontent.com/karakeep-app/karakeep/main/docker/docker-compose.yml. Ce fichier orchestre trois services : l'application principale, Meilisearch (moteur de recherche) et le service de crawl.

04

Configurer les variables d'environnement

Créez le fichier .env avec les valeurs minimales requises. Définissez KARAKEEP_VERSION=release pour toujours utiliser la dernière version stable. Définissez NEXTAUTH_SECRET sur une chaîne aléatoire longue (au moins 32 caractères), MEILISEARCH_MASTER_KEY sur une autre chaîne aléatoire, et NEXTAUTH_URL sur l'URL publique de votre instance, par exemple https://lectures.votre-domaine.com. Sans NEXTAUTH_URL correct, les redirections d'authentification échouent.

05

Démarrer les conteneurs

Exécutez docker compose up -d. Le premier démarrage télécharge les images (environ 500 Mo) et initialise la base de données. Vérifiez que les trois services sont en état running avec docker compose ps. L'interface est accessible sur le port 3000 ; configurez votre reverse proxy (Caddy ou nginx) pour exposer le domaine en HTTPS avant d'ouvrir le port au public.

06

Créer le compte administrateur

À la première connexion, Karakeep vous invite à créer un compte. Choisissez un mot de passe fort ; il n'y a pas de réinitialisation par e-mail par défaut si vous n'avez pas configuré de service SMTP.

07

Importer le fichier Pocket

Dans l'interface, ouvrez Paramètres → Import puis sélectionnez Pocket. Chargez votre fichier ril_export.html. Karakeep lit nativement ce format et importe les titres, URLs, tags et statuts en quelques secondes pour une bibliothèque de taille moyenne. Le crawl du contenu complet se fait en arrière-plan : un indicateur de progression s'affiche dans la vue de chaque article.

08

Vérifier l'import et configurer les sauvegardes

Parcourez la vue Toutes les lectures pour confirmer que vos articles sont présents. Planifiez ensuite une sauvegarde du volume Docker dans cron : docker run --rm -v karakeep_data:/data -v /opt/backups:/backup alpine tar czf /backup/karakeep-$(date +%Y%m%d).tar.gz /data. Conservez au minimum 7 jours de rétention sur un stockage distant.

Déployer Wallabag comme alternative

Si vous préférez un outil plus mature et plus léger, Wallabag existe depuis 2013 et dispose d'une base d'utilisateurs éprouvée. Il est particulièrement adapté si vous avez besoin d'applications mobiles stables, d'une intégration avec des liseuses (Kobo, Kindle) ou d'une interface plus sobre. Le déploiement Docker suit le même modèle.

01

Créer le répertoire et le fichier Compose

Exécutez mkdir -p /opt/wallabag && cd /opt/wallabag. Créez un fichier docker-compose.yml en vous basant sur le modèle officiel disponible sur hub.docker.com/_/wallabag. La configuration minimale expose le port 80 et monte un volume pour la base SQLite.

02

Démarrer le service

Lancez docker compose up -d. La première initialisation prend quelques minutes car Wallabag crée les tables de la base et installe les assets. Vérifiez les logs avec docker compose logs -f wallabag pour confirmer que le démarrage est complet.

03

Sécuriser le compte par défaut

Connectez-vous avec wallabag / wallabag puis accédez immédiatement à Gestion des utilisateurs pour changer le mot de passe. Ce compte par défaut est connu publiquement : ne l'exposez pas sans l'avoir modifié.

04

Activer Redis pour les imports volumineux

Sans Redis, les imports de plusieurs centaines d'articles dépassent le délai PHP par défaut. Dans l'interface admin (Paramètres internes → Import), activez Utiliser Redis. Ajoutez un service Redis dans votre docker-compose.yml si ce n'est pas déjà fait.

05

Importer depuis Pocket

Allez dans Importer → Pocket. Wallabag accepte le format CSV Pocket (colonnes url, title, tags, time_added, status) ou un fichier HTML converti. Si vous n'avez que le fichier HTML de Pocket, un script Python de quelques lignes suffit à extraire les URLs et les écrire au format CSV. Wallabag prend également en charge l'import direct depuis Instapaper et Pinboard.

06

Configurer HTTPS et les apps mobiles

Mettez Wallabag derrière un reverse proxy avec HTTPS. Les applications mobiles officielles (Android) utilisent l'URL de votre instance et les identifiants de votre compte : elles fonctionnent dès que le HTTPS est actif. L'application iOS n'est pas officielle ; des clients tiers comme Silica ou Lire supportent l'API Wallabag.

Karakeep ou Wallabag : tableau comparatif

Le choix entre Karakeep et Wallabag dépend avant tout de vos priorités : archivage enrichi versus légèreté. Le tableau ci-dessous résume les différences les plus importantes pour un usage quotidien.

CritèreKarakeepWallabag
Import Pocket natifHTML (`ril_export.html`)CSV Pocket ou HTML converti
Archivage du contenuComplet (Puppeteer, OCR, PDF)Extraction texte uniquement
RechercheSémantique via MeilisearchTexte intégral (SQL)
Interface mobileApplications iOS et Android officiellesAndroid officiel, iOS via clients tiers
Tagging automatiqueOui, via LLM optionnelManuel uniquement
RAM recommandée2 Go minimum (Meilisearch inclus)512 Mo suffisent
Maturité du projetRécent, communauté activeStable depuis 2013, large adoption

Quelle que soit la solution retenue, planifiez une sauvegarde quotidienne du volume Docker vers un stockage distant (S3, Backblaze B2 ou un second VPS). Une liste de lecture sans sauvegarde reste vulnérable à une panne disque — précisément le risque que vous cherchez à éliminer en quittant un service cloud. Testez la restauration au moins une fois avant de considérer votre setup comme fiable.

Problèmes courants et solutions

Les erreurs les plus fréquentes rencontrées lors du déploiement ou de l'utilisation de Karakeep et Wallabag suivent des schémas prévisibles. Voici les causes et les corrections pour les cas les plus courants.

  • Port 3000 inaccessible depuis l'extérieur — vérifiez que le conteneur tourne avec docker compose ps et que le pare-feu autorise le trafic entrant ; configurez ensuite un reverse proxy (Caddy ou nginx) plutôt que d'exposer le port 3000 directement sur l'IP publique
  • Import bloqué à 0 % ou qui n'avance pas — avec Wallabag, vérifiez que Redis est activé dans les paramètres internes de l'admin ; avec Karakeep, assurez-vous que le service crawler est bien en état running dans docker compose ps
  • Boucle de redirection vers localhost — si Karakeep redirige en boucle, NEXTAUTH_URL dans .env ne correspond pas à l'URL publique réelle ; corrigez-le, recréez le conteneur avec docker compose up -d --force-recreate et videz le cache du navigateur
  • Contenu non archivé après l'import — Karakeep utilise Puppeteer pour rendre les pages ; certains sites détectent les navigateurs headless et bloquent la requête. Le titre et l'URL sont toujours conservés ; le texte complet peut être absent pour les sites protégés ou derrière un paywall
  • Erreur 502 juste après un redémarrage — Meilisearch peut mettre 10 à 30 secondes à démarrer et indexer ; attendez puis rechargez. Si l'erreur persiste, consultez docker compose logs meilisearch pour identifier un éventuel problème de permissions sur le volume de données

Reprendre le contrôle durable de sa veille

La fermeture de Pocket en juillet 2025 n'est pas un incident isolé. C'est un signal clair sur la durée de vie des services gratuits financés par des données ou par des investisseurs dont les priorités changent. Karakeep et Wallabag proposent une alternative concrète : deux heures de configuration suffisent pour passer de zéro à une liste de lecture opérationnelle sur votre propre VPS, avec archivage du contenu, recherche plein texte et sauvegardes automatisées. Les commandes Docker présentées dans ce guide sont stables depuis plusieurs versions et ne supposent aucune expertise particulière en administration système. Ce que vous déployez aujourd'hui peut rester en production cinq ans sans intervention, tant que vous maintenez les images à jour et que vos sauvegardes sont testées. La différence avec Pocket, c'est que la décision de fermer appartient désormais à vous seul.

Vos lectures, votre serveur, vos règles

Déployez Karakeep sur un VPS ServOrbit et importez votre bibliothèque Pocket en quelques minutes. Accès root, stockage SSD NVMe, sauvegardes automatisées.

Besoin d'aide ?

Parcourez notre centre d'aide et notre FAQ, ou contactez notre équipe — rappel, WhatsApp ou e-mail. Support en français, anglais et arabe.

Écrire sur WhatsApps'ouvre dans un nouvel onglet