6.1 KiB
title: BookHeaven created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, books, ebook, android, e-ink, reader, dotnet, blazor] confidence: medium contested: false sources: [https://selfh.st/apps/?tag=books, https://github.com/BookHeaven]
📚 BookHeaven
Écosystème ebook minimaliste : un serveur web pour gérer votre bibliothèque EPUB et une app Android optimisée pour liseuses e-ink, avec sync de progression.
| Métadonnée | Valeur |
|---|---|
| Site web | bookheaven.ggarrido.dev |
| GitHub | BookHeaven/BookHeaven.Server |
| License | GPL-3.0 |
| Langage | C# (.NET 8), HTML/Blazor |
| Étoiles | 184 ⭐ (BookHeaven.Server) |
| Dernière MAJ | 2026-04 (BookHeaven.Server) |
| Catégorie | cat-books |
Description
BookHeaven se présente comme « un écosystème ebook minuscule » : une stack simple (serveur + reader) taillée pour le cas d'usage spécifique « j'ai une liseuse Android e-ink et je veux juste gérer ma bibliothèque + lire + sync la progression ». C'est l'œuvre d'un auteur solo (ggarrido) et la vocation est assumée minimaliste — pas de OPDS, pas de conversion auto, pas de RBAC fin.
L'écosystème comprend deux projets principaux :
- BookHeaven.Server (184 ⭐) — L'app web .NET/Blazor qui sert de back-office. Gestion de la bibliothèque EPUB (ajout, métadonnées, suppression), upload, organisation par collections, configuration des utilisateurs.
- BookHeaven.Reader (31 ⭐) — L'app Android optimisée pour e-ink (mais qui marche sur n'importe quel Android). Télécharge les ebooks + polices depuis le serveur, synchronise la progression de lecture.
Trois sous-projets complètent l'écosystème : BookHeaven.Domain (lib C# partagée), BookHeaven.EbookManager (parsing EPUB), BookHeaven.Web (interface). Le tout sous GPL-3.0, publié sous l'organisation BookHeaven sur GitHub.
Points forts : focus e-ink (liseuse Android = marché de niche bien servi), sync de progression server ↔ reader, stack .NET moderne, interface Blazor propre, licence GPL-3.0, écosystème cohérent (server + reader + libs partagées).
Points faibles : bus factor 1 (un seul mainteneur), EPUB uniquement, pas d'OPDS (donc ne marche qu'avec l'app Android maison), UI web jeune et limitée, base installée faible (184 étoiles server, 31 reader), pas de RBAC avancé, pas de conversion de format, doc light.
Installation
Via Docker (recommandé)
L'image n'est pas publiée officiellement sur Docker Hub (à compiler soi-même). Un template Easypanel existe. Le setup typique clone le repo et build localement.
# docker-compose.yml
services:
bookheaven-server:
build:
context: https://github.com/BookHeaven/BookHeaven.Server.git
container_name: bookheaven-server
restart: unless-stopped
ports:
- "8080:8080"
volumes:
- ./config:/app/config
- /chemin/vers/epubs:/app/library
environment:
- ASPNETCORE_URLS=http://+:8080
- ASPNETCORE_ENVIRONMENT=Production
bookheaven-reader:
# L'app Android n'est PAS un serveur, build séparé (APK)
# Ce service est juste pour télécharger l'APK ou sync via ad-hoc
image: alpine:latest
command: ["echo", "Build l'APK depuis le repo BookHeaven.Reader"]
profiles: ["never"]
⚠️ Vérifier le repo officiel pour l'image Docker à jour — la procédure a changé entre les versions 0.x et 1.x.
Installation manuelle
Voir la doc : cloner BookHeaven.Server, .NET 8 SDK, dotnet publish -c Release, lancer le binaire. Pour le reader : Android Studio, gradle build → APK.
Configuration
- Démarrer le serveur, créer le compte admin.
- Configurer le chemin de scan EPUB (
LIBRARY_PATH). - Installer
BookHeaven.Reader(APK) sur votre liseuse Android ou votre téléphone. - Configurer l'URL du serveur dans l'app reader (et le token de sync).
- Activer HTTPS obligatoire (le reader Android bloque les URL HTTP par défaut depuis API 28+).
- Activer la sync de progression dans les deux sens.
Alternatives
Open source
- app-calibre — Monstre sacré, plus complet mais plus lourd
- app-kavita — Lecteur moderne EPUB/CBZ avec OPDS, sync KOReader
- app-stump — Alternative Rust à Kavita
- app-bookhaven — Concurrent direct, OIDC + RBAC + OPDS
- KOReader — Firmware alternatif pour liseuses, pas de serveur
- Reader3 — Lecteur EPUB simple, pas de serveur
Propriétaires
- Calibre Companion (Android) — Sync avec Calibre desktop, freemium
- Moon+ Reader (Android) — Lecteur EPUB/PDF, sync cloud Google Drive/Dropbox
- PocketBook Cloud — Sync cloud propriétaire pour liseuses PocketBook
Sécurité
- ⚠️ Bus factor 1 : ggarrido est le seul mainteneur de tous les sous-projets
- ✅ HTTPS obligatoire : le reader Android moderne refuse les URL HTTP
- ⚠️ Pas d'auth avancée : vérifier les versions, RBAC limité
- ⚠️ APK compilé maison : signer avec une clé personnelle avant distribution
- ✅ .NET 8 : stack moderne avec TLS 1.3 par défaut
- ⚠️ Pas d'OPDS : couplage fort avec l'app Android maison, sortir de l'écosystème est difficile
- ⚠️ Projets jeunes : tous les sous-repos sont < 200 étoiles, bugs probables
Ressources
- Site officiel BookHeaven
- GitHub BookHeaven/BookHeaven.Server
- GitHub BookHeaven/BookHeaven.Reader
- Reddit — présentation
- Easypanel template
- selfh.st Books
Pages Liées
- cat-books — Catégorie Books
- app-kavita — Lecteur moderne OPDS concurrent
- app-bookhaven — Concurrent EPUB-only plus complet
- recettes-docker-compose — Templates Docker
- app-caddy — Reverse-proxy HTTPS pour le reader Android