--- title: Linkding created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, bookmarks, python, django, sqlite, minimalist, single-user, tags] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Bookmarks, https://linkding.link, https://github.com/sissbruecker/linkding] --- # 📌 Linkding > **Le bookmarking Django à l'allemande** : simple, rapide, single-user, conçu pour qu'une seule personne gère une bibliothèque de liens qui grossit sans jamais s'effriter. ## 📋 Informations Générales | Champ | Valeur | | :--- | :--- | | **Site web** | [linkding.link](https://linkding.link) | | **GitHub** | [sissbruecker/linkding](https://github.com/sissbruecker/linkding) | | **Licence** | MIT | | **Langage** | Python (Django), SQLite | | **Étoiles GitHub** | 5.6k ⭐ | | **Dernière MAJ** | 2026-05-30 | | **Catégorie** | [[cat-bookmarks\|Bookmarks]] | ## 📝 Description **Linkding** est un gestionnaire de bookmarks écrit en **Python/Django** par le développeur allemand Stephan Geyer. Sa philosophie tient en une phrase : *"a bookmarking service that you can host yourself and that you can be happy using"*. Pas de features tape-à-l'œil, pas d'IA, pas de collaboration forcée : juste **un service pour une personne**, qui doit être fiable, rapide et agréable. L'UI est délibérément **sobre** : liste de liens avec titre, description, favicon, étiquettes, et une **recherche plein texte** (SQLite FTS5 ou Postgres) qui répond instantanément. Chaque bookmark a une **page publique partageable**, ce qui en fait un mini-Pinboard local. L'**extension navigateur** officielle (Chrome/Firefox) ajoute en un clic. Les points qui font la différence : - 🏷️ **Hiérarchie d'étiquettes** (`rust/web` devient `rust` + `web`) - 💾 **Import/Export** : Netscape HTML, Pocket, Linkwarden, Pinboard - 🔌 **API REST** documentée (utilisée par les apps tierces iOS/Android) - 📦 **Sauvegarde** simplissime : un fichier SQLite, c'est tout - 🔐 Authentification unique + **OIDC/SSO** en option - 🌙 Thème clair/sombre natif Pour un homelab personnel, Linkding coche toutes les cases : **peu de RAM, déploiement en 2 minutes, pas de base externe à gérer**. Le seul vrai bémol : la **single-user** assumée (le multi-utilisateurs n'est pas un objectif). ## 🚀 Installation ### Option 1 : Docker Compose (recommandé) ```yaml # docker-compose.yml services: linkding: image: sissbruecker/linkding:latest container_name: linkding restart: unless-stopped ports: - "9090:9090" environment: - LD_SUPERUSER_NAME=admin - LD_SUPERUSER_PASSWORD=changez-moi - LD_DB_ENGINE=sqlite - LD_CONTEXT_PATH=/ volumes: - linkding-data:/etc/linkding/data volumes: linkding-data: ``` ### Option 2 : Paquet Linux / manuel ```bash # Installation avec pipx (recommandé) pipx install linkding linkding migrate linkding createsuperuser linkding runserver 0.0.0.0:9090 ``` ### Option 3 : Deployé sur un PaaS (PikaPods, etc.) Le projet documente un déploiement minimal sur **Fly.io, PikaPods, Coolify, etc.** Très adapté aux petits VPS. ## ⚙️ Configuration Initiale 1. **Créer le superuser** via `createsuperuser` ou variables d'env `LD_SUPERUSER_*`. 2. **Changer le mot de passe** par défaut. 3. **Activer la MFA** depuis l'interface d'admin (TOTP). 4. **Brancher le reverse proxy** HTTPS (Caddy/Traefik) pour usage externe et extensions. 5. **Installer l'extension navigateur** et pointer vers l'URL de l'instance. 6. **Importer** un dump Pocket/Pinboard/Linkwarden/HTML depuis `/settings/import`. 7. **Activer le partage de profils** (optionnel, expose les bookmarks publiquement). ## 🔄 Alternatives ### Open Source - [[app-shiori]] — Go, binaire unique, même philosophie minimaliste - [[app-karakeep]] — Plus moderne, IA, mais plus lourd - [[app-linkwarden]] — Collaboratif, snapshots Wayback - [[app-shaarli]] — PHP, single-file, encore plus dépouillé - [[app-linkace]] — Laravel, plus complet mais single-user aussi ### Propriétaires (ce que Linkding remplace) - **Pocket** — Sunset 2025 - **Pinboard** — 25$/an, vieillissant - **Raindrop.io** — Freemium, sync cloud - **Instapaper** — Cloud uniquement - **Del.icio.us (Yahoo)** — Mort ## 🔐 Sécurité - Authentification Django (bcrypt) + **2FA TOTP** natif - **OIDC/SSO** supporté (Authentik, Authelia, Keycloak) - HTTPS obligatoire pour les extensions navigateur - Pas de télémétrie - **CSRF, clickjacking protection, secure cookies** par défaut - Sauvegarder le volume `linkding-data` (un seul fichier SQLite suffit) ## 📚 Ressources - [Site officiel](https://linkding.link) - [Documentation](https://linkding.link/docs/) - [Dépôt GitHub](https://github.com/sissbruecker/linkding) - [selfh.st — Bookmarks](https://selfh.st/apps/?tag=Bookmarks) ## Pages Liées - [[cat-bookmarks]] — Vue d'ensemble de la catégorie Bookmarks - [[app-shiori]] — Concurrent Go minimaliste - [[app-karakeep]] — Concurrent plus moderne avec IA - [[recettes-docker-compose]] — Bonnes pratiques Docker Compose