5.3 KiB
title: Linkwarden created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, bookmarks, collaboration, archival, wayback, typescript, nextjs, postgresql] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Bookmarks, https://linkwarden.app, https://github.com/linkwarden/linkwarden]
🔗 Linkwarden
Le书签 collaboratif qui ne perd jamais un lien : capture, archivage Wayback Machine, organisation par collections partagées et préservation contre les pages 404.
📋 Informations Générales
| Champ | Valeur |
|---|---|
| Site web | linkwarden.app |
| GitHub | linkwarden/linkwarden |
| Licence | AGPL-3.0 |
| Langage | TypeScript (Next.js), PostgreSQL |
| Étoiles GitHub | 7.8k ⭐ |
| Dernière MAJ | 2026-05-28 |
| Catégorie | cat-bookmarks |
📝 Description
Linkwarden est une application de gestion de bookmarks collaborative dont l'idée centrale est de préserver le contenu des pages sauvegardées, pas seulement leur URL. À chaque ajout, Linkwarden capture un snapshot de la page (rendu HTML, screenshot, PDF, assets) et l'archive également via la Wayback Machine pour garantir la pérennité.
C'est le choix naturel pour les équipes, associations, labs de veille ou les familles qui veulent partager une bibliothèque de liens sans dépendre d'un service centralisé. Les collections partagées permettent une organisation thématique (Recherche, Veille, Documentation interne, Projets…), avec permissions granulaires par utilisateur.
L'UI, en Next.js + Tailwind, est moderne, rapide, et propose recherche plein texte, filtres avancés, étiquettes colorées, et une fonction de détection des doublons (via hash de l'URL). Les extensions navigateur (Chrome, Firefox) et l'API REST complète facilitent l'intégration.
Idéal pour :
- 🏢 Veille collaborative en équipe ou association
- 🔬 Chercheurs qui veulent garder une trace du web à un instant t
- 📚 Bibliothèques thématiques partagées
- ⚠️ Attention : un screenshot + assets = volume disque qui grandit vite
🚀 Installation
Option 1 : Docker Compose (recommandé)
# docker-compose.yml
services:
linkwarden:
image: ghcr.io/linkwarden/linkwarden:latest
container_name: linkwarden
restart: unless-stopped
ports:
- "3000:3000"
environment:
- DATABASE_URL=postgresql://linkwarden:linkwarden@db:5432/linkwarden
- NEXTAUTH_SECRET=changez-ce-secret-32-chars
- NEXTAUTH_URL=http://localhost:3000
- NEXT_PUBLIC_BACKEND_URL=http://localhost:3000/api/v1
- STORAGE_FOLDER=/data/linkwarden
- AUTOSCRAPE=true
- AUTOSCROLL=true
- DISABLE_TELEMETRY=true
volumes:
- linkwarden-data:/data/linkwarden
depends_on:
- db
db:
image: postgres:16-alpine
container_name: linkwarden-db
restart: unless-stopped
environment:
- POSTGRES_USER=linkwarden
- POSTGRES_PASSWORD=*** - POSTGRES_DB=linkwarden
volumes:
- linkwarden-db:/var/lib/postgresql/data
volumes:
linkwarden-data:
linkwarden-db:
Option 2 : Sans Docker
git clone https://github.com/linkwarden/linkwarden.git
cd linkwarden
pnpm install
cp .env.sample .env
# éditer DATABASE_URL, NEXTAUTH_SECRET
pnpm run db:migrate
pnpm build && pnpm start
⚙️ Configuration Initiale
- Créer le compte admin au premier lancement, désactiver l'inscription publique.
- Configurer
NEXTAUTH_SECRETlong et aléatoire. - Brancher un reverse proxy HTTPS pour les extensions navigateur.
- Activer la Wayback Machine par lien (
AUTOSCRAPE=true). - Définir des collections partagées et leurs permissions (lecture/écriture).
- Importer depuis Netscape bookmarks, Pocket, ou via l'API.
🔄 Alternatives
Open Source
- app-karakeep — Plus moderne, IA, mais single-user-first
- app-wallabag — Vétéran PHP, plus mature, moins collaboratif
- app-linkding — Django, single-user, ultra léger
- app-linkace — Laravel, plus simple
- app-shaarli — PHP, single-file, à l'ancienne
Propriétaires (ce que Linkwarden remplace)
- Pocket — Sunset 2025
- Raindrop.io — Freemium, pas d'archive locale
- Diigo — Payant, collaboration limitée
- Pinboard — Solo, pas collaboratif
- Are.na — Visuel, pas d'archivage Wayback
🔐 Sécurité
- 2FA TOTP supporté, OAuth2/OIDC via NextAuth
- Permissions par collection (owner, contributor, viewer)
- CSRF + Trusted hosts activés
- Chiffrement des mots de passe (bcrypt)
- HTTPS obligatoire si exposition publique
- Sauvegarder
linkwarden-dbetlinkwarden-data(snapshots = or)
📚 Ressources
Pages Liées
- cat-bookmarks — Vue d'ensemble de la catégorie Bookmarks
- app-karakeep — Concurrent single-user moderne
- app-wallabag — Vétéran PHP complémentaire
- recettes-docker-compose — Bonnes pratiques Docker Compose