Skip to content

Komga Docker : serveur de BD/manga auto-hébergé

Brandon
Published date:

💡 TL;DR

  • Komga est un serveur de BD, manga et comics auto-hébergé, open-source sous licence MIT avec plus de 6 300 stars sur GitHub
  • Il lit CBZ, CBR, PDF et EPUB avec une interface web moderne, collections, séries et métadonnées
  • Déploiement Docker en 5 minutes, ressources ultra-légères (512 Mo RAM), compatible Raspberry Pi
  • Docker Compose complet, comparatif avec Calibre-Web, Kavita et Plex Comics, ainsi que la config OPDS et multi-utilisateurs ci-dessous

Pourquoi un serveur de BD et manga auto-hébergé ?

T’as des Go de comics, mangas et bandes dessinées stockés sur un NAS, un disque dur externe ou un vieux serveur. Les retrouver demande de parcourir des dossiers imbriqués à dix niveaux de profondeur avec des noms comme One_Piece_v87_[FR]_VIZ_DIGITAL.cbz. Quand tu veux reprendre une série au tome 43, tu perds 10 minutes à vérifier quel fichier tu avais ouvert la dernière fois.

Les solutions commerciales existent mais posent problème. Plex a un module comics, mais il est limité, payant via Plex Pass, et tes métadonnées partent chez eux. Les lecteurs locaux type ComicRack ou Calibre Desktop sont puissants mais datés, non multi-utilisateurs, et inaccessibles depuis ton téléphone ou ta tablette.

Tu veux un serveur qui :

Komga est la réponse. Développé en Kotlin avec Spring Boot par un passionné de manga, il est rapide, stable, et conçu spécifiquement pour les collections de bandes dessinées. Si tu cherches à compléter ton homelab média à côté de ton serveur Kavita pour les ebooks ou de ton Jellyfin pour films et séries, Komga est le chaînon manquant.

Qu’est-ce que Komga exactement ?

Komga n’est pas un simple explorateur de fichiers. C’est un serveur de lecture complet avec une interface web moderne, pensée pour la consommation de comics et manga.

Voici ce qu’il propose concrètement :

Le projet est open-source sous licence MIT, maintenu activement sur le repo gotson/komga. L’image Docker officielle gotson/komga est publiée sur Docker Hub avec support amd64, arm64 et armv7. Si tu débutes avec Docker, commence par mon guide sur les services essentiels à auto-héberger pour bien structurer ton environnement avant d’ajouter Komga.

Prérequis

Komga est incroyablement léger. Un Raspberry Pi 4 avec 2 Go de RAM suffit pour servir plusieurs milliers de tomes à plusieurs utilisateurs simultanés. Pour un usage confortable avec de gros PDF, un petit VPS de 1 cœur / 2 Go est amplement suffisant.

Déploiement Komga avec Docker Compose

Crée un dossier dédié et un fichier docker-compose.yml :

mkdir -p ~/komga && cd ~/komga

Voici le Docker Compose complet et prêt à l’emploi :

version: "3.8"

services:
  komga:
    image: gotson/komga:latest
    container_name: komga
    restart: unless-stopped
    ports:
      - "25600:25600"
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Paris
      - KOMGA_LIBRARIES_SCAN_CRON=0 0 * * * *
      - KOMGA_LIBRARIES_SCAN_STARTUP=true
      - KOMGA_REMEMBERME_KEY=${KOMGA_REMEMBERME_KEY:-change-me-in-production}
    volumes:
      - ./config:/config
      - /chemin/vers/ta/collection:/data
    healthcheck:
      test: ["CMD", "wget", "-q", "--spider", "http://localhost:25600/actuator/health"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 40s

Points clés de cette configuration :

Lance le conteneur :

docker compose up -d

Accède à l’interface via http://<ip-du-serveur>:25600. Au premier démarrage, Komga te demande de créer un compte administrateur.

Configuration initiale

Après le premier lancement, voici les étapes essentielles :

  1. Crée ton compte admin via l’assistant web affiché au premier accès
  2. Ajoute une bibliothèque : AdministrationLibrariesAdd library. Choisis le dossier /data (ou un sous-dossier), nomme ta bibliothèque (ex: “Mangas”), puis sauvegarde.
  3. Lance le scan : Komga scanne automatiquement les fichiers. Selon la taille de la collection, cela peut prendre de quelques secondes à plusieurs minutes.
  4. Vérifie les séries détectées : Komga lit les métadonnées des fichiers ComicInfo.xml s’ils sont présents dans les archives. Sans ce fichier, il déduit le titre et le numéro de tome depuis le nom du fichier.

Améliorer les métadonnées avec ComicInfo.xml

Pour des résultats optimaux, place un fichier ComicInfo.xml à la racine de chaque archive CBZ/CBR. Voici un exemple minimal :

<?xml version="1.0"?>
<ComicInfo>
  <Series>One Piece</Series>
  <Number>87</Number>
  <Title>Le Royaume de Wano</Title>
  <Summary>Luffy et ses alliés...</Summary>
  <Year>2021</Year>
  <Month>4</Month>
  <Writer>Eiichiro Oda</Writer>
  <Publisher>Glénat</Publisher>
  <Genre>Shonen</Genre>
  <PageCount>192</PageCount>
</ComicInfo>

Des outils comme Komga Companion, Mylar3 ou ComicTagger peuvent générer automatiquement ces fichiers depuis des bases comme ComicVine.

Reverse proxy et HTTPS

Komga n’a pas besoin de configuration spéciale derrière un reverse proxy. Voici un exemple avec Caddy :

komga.exemple.com {
    reverse_proxy localhost:25600
}

Avec Traefik et labels Docker Compose :

    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.komga.rule=Host(\`komga.exemple.com\`)"
      - "traefik.http.routers.komga.tls=true"
      - "traefik.http.routers.komga.tls.certresolver=letsencrypt"
      - "traefik.http.services.komga.loadbalancer.server.port=25600"

Avec Nginx Proxy Manager, crée simplement un proxy host pointant vers http://komga:25600 (si sur le même réseau Docker) ou http://<ip>:25600.

Sauvegarde

Komga stocke toutes ses données dans le volume /config. Pour sauvegarder, il suffit de copier ce dossier :

tar czvf komga-backup-$(date +%Y%m%d).tar.gz ~/komga/config

Et pour restaurer :

tar xzvf komga-backup-20260115.tar.gz -C ~/

Les fichiers média (/data) restent inchangés : pas besoin de les sauvegarder avec Komga si tu les as déjà dans ta stratégie de backup globale. Si tu veux une solution de backup complète pour tes conteneurs, j’ai détaillé Duplicati avec Docker dans un guide dédié.

Komga vs les alternatives : le tableau comparatif

CritèreKomgaCalibre-WebKavitaPlex Comics
LicenceMITGPL-3.0GPL-3.0Propriétaire
FormatsCBZ, CBR, PDF, EPUBEPUB, PDF, CBZ (limité)EPUB, PDF, CBZ, CBR, imagesCBZ, CBR, PDF
InterfaceModerne, manga-firstDatée, fonctionnelleModerne, ebook-firstIntégrée à Plex
Mode mangaRTL natif, défilement continuNonRTL via paramètreNon
CollectionsOui, personnalisablesOui (tags/lists)Oui (collections)Limité
Multi-utilisateursOui, par bibliothèqueOui, basiqueOui, avancéOui, Plex Pass
OPDSOuiOuiOuiNon
Kobo SyncOuiNonNonNon
KOReader SyncOuiNonNonNon
Ressources RAM512 Mo256 Mo512 Mo1 Go+
Base de donnéesSQLite intégréeSQLite (via Calibre)SQLite intégréePropriétaire
PrixGratuitGratuitGratuitPlex Pass obligatoire
TélémétrieAucuneAucuneAucuneOui (Plex)

Verdict :

Mon usage perso : Komga pour les mangas et comics, Kavita côte à côte pour les romans et documentation technique EPUB. Les deux tournent sur le même VPS de 2 Go de RAM sans aucune tension.

Astuces et configuration avancée

Organiser tes dossiers pour Komga

Komga détecte les séries via l’arborescence. Voici la structure recommandée :

/data
├── Mangas
│   ├── One Piece
│   │   ├── One Piece - Tome 01.cbz
│   │   ├── One Piece - Tome 02.cbz
│   │   └── ...
│   ├── Naruto
│   │   └── ...
├── Comics
│   ├── Marvel
│   │   ├── Amazing Spider-Man
│   │   │   └── ...
│   └── DC
│       └── ...
└── BD
    ├── Astérix
    │   └── ...
    └── Tintin
        └── ...

Chaque sous-dossier de dernier niveau est une série. Komga groupe automatiquement les fichiers par nom de dossier parent.

Variables d’environnement utiles

VariableValeur par défautDescription
KOMGA_LIBRARIES_SCAN_CRON-Expression cron pour le scan automatique (0 0 */6 * * * = toutes les 6h)
KOMGA_LIBRARIES_SCAN_STARTUPfalseScan au démarrage du conteneur
KOMGA_REMEMBERME_KEY-Clé secrète pour la persistance des sessions (obligatoire en prod)
KOMGA_TASKCONSISTENCY_SCAN_ONBOOTfalseVérification d’intégrité au boot
SERVER_PORT25600Port interne du serveur

Mise à jour

Mettre à jour Komga est aussi simple que changer l’image :

cd ~/komga
docker compose pull
docker compose up -d

La base SQLite est automatiquement migrée si nécessaire.

Accès depuis mobile

L’interface web de Komga est parfaitement utilisable sur mobile, mais pour une expérience native, utilise le flux OPDS avec Panels (iOS) ou Moon Reader (Android). Pour les liseuses Kobo, le Kobo Sync intégré permet de télécharger et synchroniser la progression directement depuis l’appareil.

Sécurité basique

Conclusion

Komga est le serveur de BD et manga auto-hébergé que la communauté attendait depuis des années. Léger, rapide, conçu par un utilisateur de manga pour des utilisateurs de manga, il gère parfaitement les collections en CBZ/CBR avec une interface moderne et un support OPDS / Kobo Sync que personne d’autre ne propose gratuitement. À côté de ton Jellyfin pour les films et de ton Kavita pour les ebooks, il complète l’écosystème média de ton homelab sans friction.

Le déploiement Docker prend moins de 10 minutes. Mets tes archives dans un dossier, monte le volume, lance le conteneur, et commence à lire. Aucun SaaS, aucun abonnement, aucune télémétrie. Tes mangas restent chez toi, accessibles depuis n’importe où.

Previous
Memos Docker : ton bloc-notes auto-hébergé (alternative à Google Keep)
Next
Outline Docker : wiki auto-hébergé