---
title: LazyLibrarian
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, automation, books, ebook, audiobook, arr, python]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=Automation, https://gitlab.com/LazyLibrarian/LazyLibrarian]
---

# 📚 LazyLibrarian

> **Le compagnon *arr pour vos livres et audiobooks** — suit vos auteurs préférés, détecte les nouvelles parutions (ebooks et audiobooks), les cherche sur les indexeurs NZB/torrent et les envoie automatiquement à qBittorrent, SABnzbd ou Calibre.

## 📋 Informations Générales

| Champ | Valeur |
| :--- | :--- |
| **Site web** | [lazylibrarian.gitlab.io](https://lazylibrarian.gitlab.io/) |
| **GitLab** | [LazyLibrarian/LazyLibrarian](https://gitlab.com/LazyLibrarian/LazyLibrarian) |
| **License** | GPL-3.0 |
| **Langage** | Python (82 %), HTML, JavaScript |
| **Étoiles GitHub** | 280 ⭐ (repo archive) |
| **Dernière MAJ** | 2026-06-05 |
| **Catégorie** | [[cat-automation\|Automation]] |

## 📝 Description

**LazyLibrarian** s'inscrit dans la philosophie de la famille ***arr** (Sonarr, Radarr, Lidarr, Readarr) : **automatiser la gestion d'une médiathèque**. Ici, le média, ce sont les **livres numériques** (ebooks EPUB/MOBI/PDF) et les **audiobooks** (M4B/MP3). LazyLibrarian peut fonctionner **avec ou sans Calibre** : il importe une bibliothèque Calibre existante, mais se suffit à lui-même pour le suivi d'auteurs et le téléchargement.

Le principe : vous ajoutez un auteur à votre « follow list », LazyLibrarian interroge **HardCover**, **OpenLibrary**, **LibraryThing**, **GoodReads** (si vous avez une clé API) et optionnellement **GoogleBooks** pour récupérer la bibliographie complète, classe les ouvrages en `Wanted`/`Have`/`Ignored`, et pour chaque livre `Wanted`, cherche en continu la release disponible sur vos indexeurs (Torznab, Newznab, RSS) — que ce soit en torrent, NZB, ou magnet.

Quand un fichier arrive, LazyLibrarian peut l'envoyer vers **sabnzbd**, **nzbget**, **qbittorrent**, **deluge**, **transmission**, **utorrent**, **rtorrent** ou **synology_downloadstation**. Les métadonnées sont sauvegardées au format `metadata.opf` (compatible Calibre) à côté du fichier, et un système d'**AutoAdd** permet d'envoyer automatiquement les nouveaux fichiers vers Calibre.

Le projet a connu une **histoire mouvementée** : après l'abandon du repo GitHub originel (dernier commit 2019), le développement a redémarré sur **GitLab** sous la houlette de **phil borman** (philborman), avec des releases régulières. L'image **LinuxServer.io** reste l'option de déploiement la plus populaire, incluant **ghostscript** pour la génération de couvertures de magazines.

## 🚀 Installation

### Option 1 : Docker Compose (recommandé)

```yaml
# docker-compose.yml
services:
  lazylibrarian:
    image: lscr.io/linuxserver/lazylibrarian:latest
    container_name: lazylibrarian
    restart: unless-stopped
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Paris
      - DOCKER_MODS=linuxserver/mods:calibre       # optionnel, ajoute calibredb (x86_64 uniquement)
    volumes:
      - ./config:/config                # base de données et config
      - ./books:/books                  # bibliothèque ebooks/audiobooks
      - ./downloads:/downloads          # incoming des clients
    ports:
      - "5299:5299"
```

Premier lancement : `http://localhost:5299`, l'assistant vous demande de configurer le fuseau, l'emplacement de la bibliothèque, puis les clients torrent/NZB et les indexeurs.

### Option 2 : Image officielle (variante)

```yaml
services:
  lazylibrarian:
    image: ghcr.io/lazylibrarian/lazylibrarian:latest
    container_name: lazylibrarian
    restart: unless-stopped
    volumes:
      - ./config:/config
      - ./books:/books
    ports:
      - "5299:5299"
```

### Option 3 : Installation manuelle (bare-metal)

```bash
git clone https://gitlab.com/LazyLibrarian/LazyLibrarian.git
cd LazyLibrarian
python -m pip install .
python LazyLibrarian.py -d   # daemon mode
```

L'UI est alors accessible sur `http://localhost:5299/`. Nécessite Python 3.7+ (3.10+ recommandé pour les dernières releases).

## ⚙️ Configuration

1. **Métadonnées** : configurer l'ordre de priorité des sources (HardCover puis OpenLibrary, le plus stable depuis la fermeture de l'API Goodreads).
2. **AutoAdd / Calibre** : si vous utilisez [[app-calibre-web]] ou [[app-calibre-web-automated]], configurer un dossier de watch pour intégration automatique.
3. **Indexeurs** : pointer vers [[app-prowlarr]] ou [[app-jackett]] (Torznab) pour centraliser la config.
4. **Clients de téléchargement** : qBittorrent et SABnzbd sont les couples les plus utilisés.
5. **Send-to-Kindle** : activer l'option `SendTo` avec votre adresse `@kindle.com` pour recevoir automatiquement les nouveaux ebooks.
6. **Magazines** : LazyLibrarian peut aussi suivre des magazines (numériques), avec génération de couverture via ghostscript.
7. **Recherche** : fréquence par défaut 30 min, ajuster selon votre indexeur.

## 🔄 Alternatives

### Open Source
- [[app-readarr]] — Successeur moderne (mais controversé, voir status), interface plus soignée
- [[app-calibre-web-automated]] — CWA, qui inclut un module de téléchargement
- [[app-komga]] — Plutôt orienté comics/mangas (CBZ/CBR)
- **Bookworm** — Frontend moderne pour Calibre (en développement)
- **CouchDB + Calibre2Opds** — Solutions historiques, plus minimalistes

### Propriétaires
- **Amazon Kindle Library** — Auto-sync des livres Kindle achetés
- **Audible (Amazon)** — Sync des audiobooks achetés
- **Scribd / Everand** — Abonnement livres/audiobooks
- **Goodreads** — Tracking de lectures, mais sans téléchargement

## 🔐 Sécurité

- 🔐 **Pas d'auth native robuste** : **obligatoirement derrière reverse proxy** ([[app-caddy]], [[app-traefik]]) avec SSO ([[app-authelia]], [[app-authentik]])
- 🔑 **HTTPS obligatoire** si exposition Internet
- 🛡️ Les **clés API** des indexeurs et clients sont stockées en clair dans la base SQLite : chiffrer `./config` au repos
- 🐛 **Limiter la fréquence** des requêtes vers les sources de métadonnées (Goodreads a fermé son API, les autres ont des rate limits) : risque de blocage IP
- 🔄 **Auto-update** : la fonction d'auto-update interne est pratique mais peut casser après une MAJ de l'image Docker — préférer `pull` manuel
- 📜 **Logs** : contiennent les requêtes de recherche de livres, purger régulièrement
- 🚨 **Droits des ebooks** : la légalité du téléchargement varie selon les juridictions et la source de la release (DRM-free vs piratage)

## 📚 Ressources

- [Documentation officielle](https://lazylibrarian.gitlab.io/)
- [Repo GitLab principal](https://gitlab.com/LazyLibrarian/LazyLibrarian)
- [Image Docker Hub LinuxServer](https://hub.docker.com/r/linuxserver/lazylibrarian/)
- [Subreddit r/LazyLibrarian](https://www.reddit.com/r/LazyLibrarian/)
- [Tutoriel Docker (sasquatters)](http://sasquatters.com/lazylibrarian-docker/)
- [Tutoriel Configuration (sasquatters)](http://sasquatters.com/lazylibrarian-configuration/)

## Pages Liées
- [[cat-automation]] — Vue d'ensemble de la catégorie
- [[app-readarr]] — Alternative moderne
- [[app-calibre-web-automated]] — Lecteur web avec ingest
- [[app-prowlarr]] — Agrégateur d'indexeurs
- [[app-jackett]] — Ancien proxy d'indexeurs
- [[app-traefik]] — Reverse proxy HTTPS
- [[app-authelia]] — SSO
- [[securisation-home-lab]] — Bonnes pratiques
- [[recettes-docker-compose]] — Templates Docker
