130 lines
5.0 KiB
Markdown
130 lines
5.0 KiB
Markdown
---
|
|
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
|