120 lines
5.2 KiB
Markdown
120 lines
5.2 KiB
Markdown
---
|
|
title: Shelfmark
|
|
created: 2026-06-07
|
|
updated: 2026-06-07
|
|
type: app
|
|
tags: [catalogue, books, ebook, audiobook, download, prowlarr, calibre, flask, python]
|
|
confidence: high
|
|
contested: false
|
|
sources: [https://selfh.st/apps/?tag=Books, https://github.com/calibrain/shelfmark]
|
|
---
|
|
|
|
# 🔍 Shelfmark
|
|
|
|
> **Le hub de recherche et de téléchargement multi-sources pour livres et audiobooks** — Une porte d'entrée unique vers Prowlarr, IRC, torrents, usenet et providers de métadonnées.
|
|
|
|
## 📋 Informations Générales
|
|
|
|
| Champ | Valeur |
|
|
| :--- | :--- |
|
|
| **Site web** | [github.com/calibrain/shelfmark](https://github.com/calibrain/shelfmark) |
|
|
| **GitHub** | [calibrain/shelfmark](https://github.com/calibrain/shelfmark) |
|
|
| **Licence** | MIT |
|
|
| **Langage** | Python (73,5%), TypeScript (25%) |
|
|
| **Étoiles GitHub** | 3,3k ⭐ |
|
|
| **Dernière MAJ** | 2026-05-14 |
|
|
| **Catégorie** | [[cat-books|Books]] |
|
|
|
|
## 📝 Description
|
|
|
|
**Shelfmark** est une **interface web self-hosted** qui sert de **hub unique** pour chercher, parcourir et **télécharger** des livres et des audiobooks depuis des sources hétérogènes. La philosophie : « vous apportez vos propres sources, providers de métadonnées et clients de téléchargement » pour bâtir une **centrale d'acquisition** qui s'intègre avec le reste de votre homelab.
|
|
|
|
L'app expose une **UI moderne**, supporte **multi-utilisateurs** avec un système de **demandes / approbations**, propose deux modes de recherche : **Direct** (interrogation directe des sources) ou **Universal** (passage par les providers Hardcover / Open Library / Google Books puis agrégation des releases correspondantes, recommandation officielle). Le **support audiobook** est complet, avec traitement dédié.
|
|
|
|
Shelfmark s'intègre nativement avec **Calibre**, [[app-calibre-web]], [[app-calibre-web-automated]] (CWA), [[app-grimmory]] et [[app-audiobookshelf]] : vous pouvez faire pointer le dossier de téléchargement vers l'**ingest de CWA** ou le **BookDrop de Grimmory** pour un pipeline automatisé. Un **mode Tor** est proposé en variante, pour les utilisateurs avancés.
|
|
|
|
> ⚠️ Le projet est annoncé **stable** en mai 2026 mais **n'est plus en maintenance active**. Préférez-le dans un rôle d'« automate secondaire » et gardez un œil sur les forks.
|
|
|
|
## 🚀 Installation
|
|
|
|
### Option 1 : Docker Compose (recommandé)
|
|
|
|
```yaml
|
|
# docker-compose.yml
|
|
services:
|
|
shelfmark:
|
|
image: ghcr.io/calibrain/shelfmark:latest
|
|
container_name: shelfmark
|
|
environment:
|
|
- PUID=1000
|
|
- PGID=1000
|
|
- TZ=Europe/Paris
|
|
- FLASK_PORT=8084
|
|
- INGEST_DIR=/books
|
|
- SEARCH_MODE=universal
|
|
ports:
|
|
- 8084:8084
|
|
volumes:
|
|
- ./config:/config
|
|
- ./books:/books # partagé avec CWA / Grimmory pour ingest auto
|
|
- ./downloads:/downloads
|
|
restart: unless-stopped
|
|
```
|
|
|
|
Premier démarrage : `http://localhost:8084`, créer le compte admin, configurer les sources (Prowlarr, IRC) et les providers de métadonnées.
|
|
|
|
### Option 2 : Variante Tor
|
|
|
|
```bash
|
|
curl -O https://raw.githubusercontent.com/calibrain/shelfmark/main/compose/docker-compose.tor.yml
|
|
docker compose -f docker-compose.tor.yml up -d
|
|
```
|
|
|
|
Nécessite `NET_ADMIN` + `NET_RAW` et `--user root`.
|
|
|
|
## ⚙️ Configuration
|
|
|
|
1. **Mode Universal** : activez Hardcover + Open Library + Google Books pour une recherche par métadonnées.
|
|
2. **Prowlarr** : pointez Shelfmark vers votre instance Prowlarr pour récupérer vos indexeurs.
|
|
3. **Ingest folder** : montez le même dossier que celui de CWA / Grimmory pour automatiser l'import.
|
|
4. **OIDC / SSO** : branchez Authentik / Keycloak pour la gestion multi-utilisateurs.
|
|
5. **Notifications** : approval workflow par utilisateur (utile en famille ou en petit groupe).
|
|
6. **CIFS** : sur montage SMB, ajoutez `nobrl` pour éviter les locks de base.
|
|
|
|
## 🔄 Alternatives
|
|
|
|
### Open Source
|
|
- [[app-calibre-web-automated]] — Cible en aval, ingestion et lecture
|
|
- [[app-grimmory]] — Plateforme unifiée en aval
|
|
- [[app-readarr]] — Manager d'ebooks style « Sonarr pour livres »
|
|
- [[app-lazylibrarian]] — Suivi d'auteurs et de séries
|
|
|
|
### Propriétaires
|
|
- **Amazon Kindle Store**
|
|
- **Audible** (pour les audiobooks)
|
|
- **Goodreads** (catalogage social)
|
|
|
|
## 🔐 Sécurité
|
|
|
|
- ✅ Authentification **OIDC / SSO** et proxy auth
|
|
- ✅ Multi-utilisateurs avec approbation
|
|
- ⚠️ Tor mode = nécessite `NET_ADMIN` : à n'activer que sur un réseau isolé
|
|
- ⚠️ Prowlarr expose souvent des sources sensibles : isolez sur un VLAN ou VPN
|
|
- ⚠️ Sauvegardez `./config` (SQLite) et les téléchargements critiques
|
|
- ⚠️ Le projet n'est plus en maintenance active : surveillez les forks et patchez manuellement
|
|
|
|
## 📚 Ressources
|
|
|
|
- [selfh.st — Books](https://selfh.st/apps/?tag=Books)
|
|
- [GitHub calibrain/shelfmark](https://github.com/calibrain/shelfmark)
|
|
- [Image GHCR](https://github.com/calibrain/shelfmark/pkgs/container/shelfmark)
|
|
- [Wiki officiel](https://github.com/calibrain/shelfmark/wiki)
|
|
|
|
## Pages Liées
|
|
|
|
- [[cat-books]] — Vue d'ensemble de la catégorie Books
|
|
- [[app-calibre-web-automated]] — Aval naturel pour l'ingest
|
|
- [[app-grimmory]] — Autre aval possible
|
|
- [[app-audiobookshelf]] — Spécialisé audiobooks
|
|
- [[recettes-docker-compose]] — Templates Docker
|