Qnap [Tuto] Installation de Komga en Docker sur un NAS QNAP ( Container Station )

EVO

Administreur
Membre du personnel
25 Novembre 2019
8 992
1 771
293
/var/run/docker.sock
Installation de Komga en Docker sur un NAS QNAP ( Container Station )

logo.svg

Komga, c'est quoi ?
Komga est un serveur de bandes dessinées/mangas gratuit et open source. Plus d'info sur le site officiel : komga.org


Disclamer :
Le but de ce tuto sera de rendre cette installation facile et accessible a tous, bien que loin d’être un expert, n’hésiter pas à répondre à ce sujet avec vos interrogations, .. Pour ceux qui sont plus a l'aise avec ce genre d'installation, n'hésiter pas a proposer des améliorations, ou des conseils, ...

Pré-requis :
- Un NAS QNAP compatible avec Container Station ( vous pouvez vous aider du point 1 de ce tuto pour l'installation de Container Station : [Tuto] Installer Portainer en Docker sur son NAS QNAP ( Container Station ) )
- L'image Komga est compatible avec les CPUs de type : AMD64, ARM64 et ARMv7
- Accès en SSH à son NAS QNAP


Sommaire :
1/ Récupération de l'ID de votre utilisateur
2/ Créer les dossiers
3/ Création du conteneur

4/ Accès a Komga


1/ Récupération de l'ID de votre utilisateur
Utiliser ce tuto pour vous connecter en SSH a votre NAS QNAP : [Tuto] Se connecter à son NAS QNAP par SSH

Récupérer l'ID de votre utilisateur : [Mémo] Connaitre le PUID / PGID d'un utilisateur sur un NAS QNAP



2/ Créer les dossiers
Dans File Station, nous allons créer a l'emplacement de notre choix ( dans mon cas dans le dossier partagé "Container" du DataVol1 ), un dossier komga, avec dedans 2 dossiers, un dossier config, et un dossier data, comme ceci :
1672874107198.png


3/ Création du conteneur
1672872374025.png

Dans la fenêtre de création d'application :
- Indiquer le nom de l'application ( au choix ), dans mon cas j'indique "komga".
- Le code YAML :

YAML:
version: '3.3'

services:
  komga:
    image: gotson/komga
    container_name: komga
    volumes:
      - '/share/CACHEDEV1_DATA/Container/komga/config:/config'
      - '/share/CACHEDEV1_DATA/Container/komga/data:/data'
    ports:
      - 8282:8080
    user: "1000:100"
    restart: unless-stopped

Dans ce code, il y a 3 lignes a personnaliser :
- '/share/CACHEDEV1_DATA/Container/komga/config:/config', dans cette ligne modifier la 1ere partie avant les : pour que cela correspond au chemin absolu vers le répertoire config créer au point 2
- '/share/CACHEDEV1_DATA/Container/komga/data:/data', dans cette ligne modifier la 1ere partie avant les : pour que cela correspond au chemin absolu vers le répertoire datacréer au point 2
- user: "1000:100", ici remplacer 1000 pour le PUID trouvé au point 1 , et 100 par le GUID trouvé au point 1 du tuto

Voici ce que cela donne pour moi :
1672873216302.png
et on clique sur créer pour lancer la création du conteneur !

C'est parti :
1672872474710.png
Une fois finie :
1672874474291.png
1672874513030.png

Ici on peux voir dans l'onglet présentation que l'état est "vert", notre conteneur est en fonctionnement !



4/ Accès a Komga
Depuis votre navigateur, il vous suffit maintenant de taper l'adresse ip de votre NAS suivi du port 8282 pour se connecter a l'interface Web de Komga.
Exemple : Si l'ip de votre NAS est 192.168.0.20 alors l'adresse est http://192.168.0.20:8282

1672874650621.png


2023-01-05 - Création
 
Dernière édition:
  • J'aime
Réactions: ghost207
Hello

et ben voilà au top comme d'hab !!! ça marche nickel !!! Merci EVOTk !

J'ai même accès via l'extérieur en ouvrant le port dans le firewall et la box, par contre j'ai un gros doute sur la sécurité du truc ;) déjà c'est pas en HTTPS et en plus c'est un port apparement bien connu le 8282 du coup je vais refermer tout ça !!!

Encore merci pour ce tuto je me lance sur le docker ça m'aide beaucoup !

je vais bidouiller un peu et je vous tiens au courant si je vois des trucs à enrichir !

@ +
 
et ben voilà au top comme d'hab !!! ça marche nickel !!! Merci EVOTk !
Super :)

J'ai même accès via l'extérieur en ouvrant le port dans le firewall et la box, par contre j'ai un gros doute sur la sécurité du truc ;) déjà c'est pas en HTTPS et en plus c'est un port apparement bien connu le 8282 du coup je vais refermer tout ça !!!
Oui c'est un port HTTP le port de Komga, par défaut c'est 8080 mais ici je l'ai modifié en 8282 ( car 8080 est déjà pris par QTS par défaut ).

L'idéal pour exposer avec un minimum de "sécurité" c'est l'utilisation du reverse proxy.
 
Super :)


Oui c'est un port HTTP le port de Komga, par défaut c'est 8080 mais ici je l'ai modifié en 8282 ( car 8080 est déjà pris par QTS par défaut ).

L'idéal pour exposer avec un minimum de "sécurité" c'est l'utilisation du reverse proxy.

Yes on en avait déjà parlé du reverse proxy pour la partie administration du nas depuis l'extérieur via son nom de domaine xxx.myqnapcloud.com, on en avait conclu que ça marchait pas du coup je me disais que c'est sans doute pareil avec Komga, si tu penses que c'est possible je suis preneur d'une mise à jour du tuto :p

Sinon toujours concernant le tuto je vais tester la mise en place du fichier application.yml pour désactiver les scans toutes les 15m je vous tiens au courant pour vous confirmer que ça fonctionne bien.

Bonne soirée
 
Yes on en avait déjà parlé du reverse proxy pour la partie administration du nas depuis l'extérieur via son nom de domaine xxx.myqnapcloud.com, on en avait conclu que ça marchait pas du coup je me disais que c'est sans doute pareil avec Komga, si tu penses que c'est possible je suis preneur d'une mise à jour du tuto :p
Effectivement avec le nom de domaine myqnapcloud c'est pas possible. Il faut que je prenne le temps de faire un ticket a QNAP afin de remonter cela, j'espere qu'il vont l'implémenter car c'est vraiment tres dommage cette absence, meme si personnellement, je suis plutot pour l'utilisation d'un nom de domaine personnel :)
 
Dernière édition:
Sinon toujours concernant le tuto je vais tester la mise en place du fichier application.yml pour désactiver les scans toutes les 15m je vous tiens au courant pour vous confirmer que ça fonctionne bien.
A tu réussi ?
De ce que je comprend, l'image docker utilise automatiquement le fichier application.yml n'existe pas de base, mais une fois placé dans dans le dossier config/ il est automatiquement utilisé apres un reboot du conteneur :
1673198878337.png
 
Hello

yes je confirme ça fonctionne correctement, le scan est désactivé en mettant les lignes suivantes dans un fichier applications.yml lui même positionné dans le dossier /config de komga :

komga:
libraries-scan-cron: "-" # disable periodic scan
libraries-scan-startup: false # scan libraries at startup


du coup il faut bien penser à lancer un scan à la mano lorsqu'on ajoute des nouvelles entrées (BDs, Comics...)

Encore merci pour le tuto c'est top

@ +
 
  • J'aime
Réactions: EVO
Salut!
Je viens de suivre le tuto (très clair et facile à suivre) et tout c'est bien passé.
Sauf au moment de configurer Komga, lors de la création des bibliothèques le dossier "share" n'apparait pas, donc je ne peux pas les créer.
Et je comprend pas 😭
 
Salut,
Dans le conteneur le dossier "/share/CACHEDEV1_DATA/Container/komga/data" de l'exemple est égal au dossier /data dans Komga
 
Donc si je comprend bien il faut mettre les bd dans ce dossier? Et on peut pas aller les chercher ailleurs?
 
Donc si je comprend bien il faut mettre les bd dans ce dossier? Et on peut pas aller les chercher ailleurs?
Oui il faut mettre dans ce dossier.
Mais tu peut si tu le souhaite déclarer un autre dossier, ou meme plusieurs.

Exemple :
Code:
    volumes:
      - '/share/CACHEDEV1_DATA/Container/komga/config:/config'
      - '/share/CACHEDEV1_DATA/Multimedia/BD:/data'

Code:
    volumes:
      - '/share/CACHEDEV1_DATA/Container/komga/config:/config'
      - '/share/CACHEDEV1_DATA/Multimedia/BD:/data/BD_Multimedia'
      - '/share/CACHEDEV1_DATA/Atreide/BD:/data/BD_Atreide'
 
Ha cool :)
Bon du coup comment je peux modifier ca?
Et question complémentaire, comment "désinstaller un container?
 
Etrange :
1675008261890.gif

Meme si le conteneur n'est pas a l'arret Container Station me permet l'edition. Une fois appliqué, il redémarre le conteneur pour appliquer les modification