Un favori enregistré dans un navigateur ne garantit rien : la page peut changer, passer derrière un accès payant ou disparaître. Linkwarden propose une autre approche : ce gestionnaire de favoris open source conserve, en plus de l’adresse, une copie de chaque page. Il offre des collections, des étiquettes, un lecteur annotable, une recherche, une extension de navigateur et des applications mobiles, et s’auto-héberge ou s’utilise sur l’offre payante de l’éditeur. Son README et sa documentation ne parlent ni d’alpha ni de bêta : il en est à sa version 2. Voici ses fonctions, son installation et ses limites.
Linkwarden, c’est quoi ?
Linkwarden se décrit comme un gestionnaire de favoris collaboratif, auto-hébergé et open source, pour collecter, lire, annoter et préserver ce qui compte. Son point de départ : les pages utiles finissent par disparaître, d’où l’idée d’en garder une copie. Quelques repères, tirés du dépôt et de la documentation :
- Open source, avec un code public sur GitHub.
- Technologie : TypeScript (Next.js), PostgreSQL, Meilisearch pour la recherche, un navigateur sans interface et Monolith pour copier les pages.
- Un projet actif : le dépôt date d’avril 2022 et dépasse les 20 000 étoiles ; le site annonce plus de 80 contributeurs et plus de 21 millions de téléchargements Docker (chiffres du projet, non vérifiés).
- Deux offres : l’auto-hébergement est gratuit, mais l’instance est à votre charge ; l’offre Cloud est payante. Les fonctions de base restent disponibles en auto-hébergement, et le SSO est indiqué comme réservé aux utilisateurs Enterprise et auto-hébergés.
- Tarifs : la page de tarifs affiche 3 dollars par mois et par utilisateur en facturation annuelle, pour 30 000 liens par utilisateur ; la documentation mentionne un essai gratuit de 14 jours. Vérifiez la page officielle avant de vous décider.
Garder une copie de la page, pas seulement son adresse
C’est ce qui distingue Linkwarden d’un carnet d’adresses : chaque lien enregistré est ouvert par le serveur dans un vrai navigateur, puis conservé sous plusieurs formats, détaillés dans la documentation sur la préservation.
- Lisible : l’article seul, sans menus ni publicités ;
- Page web : une copie complète dans un seul fichier HTML ;
- Capture d’écran : une image JPEG de la page entière ;
- PDF : la page imprimée ;
- Instantané Archive.org (facultatif) : l’adresse est envoyée à la Wayback Machine, qui garde sa propre copie.
Tous les formats sont actifs pour un nouveau compte, sauf Archive.org ; on les règle dans les préférences, globalement ou par étiquette. L’archivage passe par une file d’attente : les formats apparaissent après l’enregistrement, pas pendant.
La vue Lisible sert de lecteur : police, taille et largeur réglables, surlignage en quatre couleurs, notes attachées aux passages. Ces annotations sont privées, et il faut être propriétaire ou administrateur d’une collection pour y annoter.
Collections, étiquettes, recherche et partage
Un lien appartient à une seule collection, qui joue le rôle d’un dossier : elle accepte des sous-collections, se partage avec d’autres utilisateurs (rôles lecteur, contributeur ou administrateur) ou devient publique, avec une page sans compte et un flux RSS. Un lien peut en revanche porter plusieurs étiquettes, qui ne se partagent pas.
La recherche de base couvre le nom, l’adresse, la description et les étiquettes. La recherche avancée, qui fouille aussi le contenu des pages, demande Meilisearch : l’offre Cloud en dispose, et le fichier Compose officiel l’inclut. Elle accepte des opérateurs, par exemple type:pdf pour les PDF ou !tag:news pour exclure une étiquette.
La documentation décrit aussi un étiquetage par IA facultatif (modèle local via Ollama ou fournisseur compatible OpenAI), les abonnements RSS, les actions groupées, l’import depuis un navigateur, Pocket, Wallabag ou Omnivore, la synchronisation avec les favoris via Floccus et une API à jetons d’accès.
Pour enregistrer une page, il y a l’extension de navigateur open source (Chrome et Chromium, Firefox, Safari sur Mac), les applications officielles iOS et Android, une version installable (PWA) ou un raccourci iOS. Les applications mobiles exigent un compte existant, sur l’offre Cloud ou sur une instance auto-hébergée.
Comment l’installer
La documentation d’installation propose Docker Compose, la voie la plus simple, ou une installation manuelle (Node.js, Yarn, PostgreSQL, Monolith) pour les profils techniques. Elle indique 4 Go de mémoire comme point de départ confortable, un processeur à deux cœurs et environ 1,5 Go de disque pour l’image, avec des images x86-64 et ARM64.
Avec Docker Compose
On télécharge le fichier Compose et l’exemple de fichier d’environnement, puis on renseigne les secrets.
# Récupérer les fichiers officiels
mkdir linkwarden && cd linkwarden
curl -O https://raw.githubusercontent.com/linkwarden/linkwarden/refs/heads/main/docker-compose.yml
curl -L https://raw.githubusercontent.com/linkwarden/linkwarden/refs/heads/main/.env.sample -o ".env"
nano .env
Quatre variables sont indispensables dans .env ; les trois secrets doivent être différents, entre guillemets s’ils contiennent des caractères spéciaux.
# Fichier .env : valeurs à remplacer
NEXTAUTH_URL=http://localhost:3000/api/v1/auth
NEXTAUTH_SECRET=VOTRE_SECRET_DE_SESSION
MEILI_MASTER_KEY=VOTRE_CLE_MEILISEARCH
POSTGRES_PASSWORD=VOTRE_MOT_DE_PASSE_POSTGRES
Le fichier Compose officiel déclare trois services (PostgreSQL, Linkwarden, Meilisearch) dont les données vivent dans des dossiers voisins du fichier.
# docker-compose.yml (fichier officiel du dépôt)
services:
postgres:
image: postgres:16-alpine
env_file: .env
restart: always
volumes:
- ./pgdata:/var/lib/postgresql/data
linkwarden:
env_file: .env
environment:
- DATABASE_URL=postgresql://postgres:${POSTGRES_PASSWORD}@postgres:5432/postgres
restart: always
image: ghcr.io/linkwarden/linkwarden:latest
ports:
- 3000:3000
volumes:
- ./data:/data/data
depends_on:
- postgres
- meilisearch
meilisearch:
image: getmeili/meilisearch:v1.13.3
restart: always
env_file:
- .env
volumes:
- ./meili_data:/meili_data
Après docker compose up -d, l’application répond sur le port 3000. Derrière un domaine, la documentation propose un reverse proxy NGINX avec Certbot, puis deux variables à mettre à jour : NEXTAUTH_URL=https://app.example.com/api/v1/auth et BASE_URL=https://app.example.com. D’après la liste des variables, NEXTAUTH_URL doit contenir l’adresse complète de l’instance, suffixe compris ; BASE_URL n’a pas de suffixe.
Avant une mise à jour, sauvegardez la base et le dossier de données, puis lancez docker compose pull et docker compose up -d ; les migrations s’appliquent au démarrage. Le fichier officiel utilise l’étiquette latest : fixer une version précise de l’image permet de choisir le moment de la mise à jour et de revenir en arrière.
Les limites à connaître
- NEXTAUTH_URL : une adresse sans
https://peut permettre la connexion, puis faire échouer les actions suivantes avec le message « You must be logged in ». Vérifiez la valeur après le premier déploiement. - Une instance plus lourde qu’un carnet d’adresses : le serveur embarque un navigateur, un archiveur, un moteur de recherche et une base. La documentation reconnaît que l’outil était lourd : avant la version 2.15, environ 3 Go pour l’image et 700 Mo de mémoire au repos ; le projet annonce environ 1,5 Go et 350 Mo depuis, des chiffres que nous n’avons pas mesurés. En 2023, un commentateur de Hacker News craignait déjà qu’un petit VPS ne parvienne pas à compiler l’application.
- Des pages inaccessibles au serveur : il ouvre les pages comme un visiteur anonyme. Une page derrière une connexion ou un accès payant est archivée telle quelle, écran de connexion compris ; la parade documentée est d’envoyer une copie depuis son propre navigateur (extension ou SingleFile).
- Des gestes destructifs : relancer l’archivage d’un lien efface d’abord les copies existantes ; si la page a disparu, la copie est perdue. L’export ne contient que les métadonnées, pas les captures ni les PDF : pour tout sauvegarder, copiez la base et le dossier de stockage.
- Le partage : une collection publique expose aussi les noms et identifiants de ses membres.
- L’extension : une issue du dépôt signale qu’elle interroge le serveur, avec le domaine de l’onglet actif, à chaque changement d’onglet. Nous n’avons pas vérifié si c’est corrigé.
- La finition : le test de MakerStack (7,7/10) juge l’interface en retrait de celle de Raindrop.io et les applications mobiles en deçà de la version web.
Linkwarden face à Raindrop.io, Wallabag et Karakeep (anciennement Hoarder)
Ces outils répondent au même besoin avec des choix différents. Le tableau ci-dessous ne reprend que ce que disent leurs pages officielles ; il ne mesure ni la finition ni la rapidité.
| Solution | Hébergement | Copie conservée | À noter |
|---|---|---|---|
| Auto-hébergé (gratuit) ou offre Cloud payante | Lisible, page HTML, capture, PDF | Collections partagées, surlignages, recherche avancée via Meilisearch | |
| Service commercial hébergé (architecture présentée comme 100 % cloud) | Archive web, dans la formule Pro | Formule gratuite sans limite de signets ; recherche plein texte dans la formule Pro | |
| Auto-hébergé ou service wallabag.it | Contenu de l’article extrait, en vue de lecture | Applications, extensions, flux RSS et liseuses | |
| Auto-hébergé ; une offre Cloud est annoncée | Page complète archivée (Monolith), vidéos via yt-dlp | Étiquettes et résumés par IA, OCR, règles automatiques |
Logos des outils cités : marques de leurs projets, reproduits à titre d’illustration d’après leurs sites et dépôts officiels, et Wikimedia Commons pour Wallabag.
Logo de Wallabag : NicolasLoeuillet, CC BY-SA 3.0, source.
Raindrop.io est un service hébergé, souvent cité en comparaison : sa formule gratuite annonce des signets, des collections et des appareils illimités, la formule Pro ajoutant notamment archive web, recherche plein texte et annotations. Linkwarden joue sur un autre terrain : code ouvert, hébergement possible chez soi, copie des pages dans l’offre de base. Pocket, lui, a fermé le 8 juillet 2025 ; Linkwarden sait importer un export réalisé avant la fermeture.
Wallabag est un lecteur « à lire plus tard » libre, centré sur l’extraction de l’article. Karakeep, anciennement Hoarder, répond au même besoin en mettant davantage l’IA en avant (étiquetage, résumés) ; il importe depuis Linkwarden, et son README décrit celui-ci comme surtout centré sur les liens, avec des collections collaboratives.
Pour qui ?
Pour les indépendants, agences et petites équipes qui veulent garder des pages de référence (études de cas, documentation, veille) même lorsqu’elles disparaissent, les partager par collection et les retrouver par la recherche. Moins pour qui veut un carnet d’adresses minimal, aucune maintenance (l’offre Cloud existe alors) ou ne peut pas prévoir de sauvegardes. Pour une simple liste de lecture, Wallabag peut suffire.
En résumé
Linkwarden est un gestionnaire de favoris open source qui garde une copie des pages, avec collections, étiquettes, lecteur annotable et recherche avancée via Meilisearch. Il n’est présenté ni comme alpha ni comme bêta, en est à sa version 2 et publie régulièrement des mises à jour ; en échange, il demande un serveur correctement dimensionné, des sauvegardes et une attention à NEXTAUTH_URL. Pour déployer ce type d’outil sans partir de zéro, voyez notre présentation de Coolify. Et si vous souhaitez de l’aide pour installer et maintenir Linkwarden, contactez-nous.



