QNAP | 3 : Docker sous QNAP

QNAP | 3 : Docker sous QNAP

Table des matières

Et ouiiii, nous y voilà ! Docker sur le QNAP, c'est possible grâce à l'installation de Container Station. Container Station est compatible avec LXD, Docker et Kata. Na !

Grace au support de Docker, vous pourrez étendre les capacités de votre QNAP en installant pleins d'applications, c'est évidemment une partie importante à note époque, en tout cas pour les férus de la baleine.

Même si Container Station permet certains contrôles sur vos containers, un petit Portainer facilitera d'avantage la gestion de vos stacks.

Laitcego !


⬇️ Installer Container Station

Installable depuis l'AppCenter, disponible sur votre tableau de bord.

Dans la recherche, tapez container, Container Station sera affiché et prêt à être installé, d'ailleurs on va cliquer sur Installer :

Cliquez sur Ouvrir :

Cliquez sur Start pour valider la création du dossier Container :

On refuse la collecte de données, mais vous faites comme vous voulez :

Vous voici sur Container Station :

Vous pouvez retrouver le dossier Container dans File Station :


🐋 Installer Portainer sur le QNAP

Bien que le QNAP possède un manager, Portainer est évidemment plus complet.

Dans Container Station, Applications, cliquez sur Create Application et collez ça dedans :

services:
    portainer-ce:
        image: 'portainer/portainer-ce:lts'
        volumes:
            - '/share/Container/portainer/data:/data'
            - '/var/run/docker.sock:/var/run/docker.sock'
        restart: always
        container_name: portainer
        ports:
            - '9443:9443'

Ce qui donne :

Cliquez sur Create pour terminer.

Rendez-vous sur l'ip de votre NAS suivie de :9443, en https => https://IP:9443, acceptez l'exception de sécurité, vous voici sur Portainer. Il faut créer un compte administrateur :

  • Username => Choisissez un autre si vous voulez.
  • Password => Choisissez un mot de passe fort.
  • Confirm password => Confirmez le mot de passe.
  • Allow collection of anonymous statisctics => Décochez la case.

Cliquez sur Create user. Vous serez redirigé dans Portainer. Sélectionnez Get Started :

Dans Environment-related/Environments , cliquez sur local :

Entrez l'IP du NAS et cliquez sur Upade environment :

Pourquoi cette manipulation ? En renseignant l'IP du NAS vous aurez des liens cliquables, on voit ça un tout petit peu plus tard.

🦞 Installer homarr avec Portainer

Petit exemple rapide pour déployer Homarr, rendez-vous dans Stacks dans le menu latéral gauche et cliquez sur + Add stack en haut à droite, vous arriverez ici :

  • Name => Nommez votre stack, par exemple, homarr.
  • Web editor => Collez votre compose :
#---------------------------------------------------------------------#
#     Homarr - A simple, yet powerful dashboard for your server.      #
#---------------------------------------------------------------------#
services:
  homarr:
    container_name: homarr
    image: ghcr.io/homarr-labs/homarr:latest
    restart: unless-stopped
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock # Optional, only if you want docker integration
      - /share/Container/homarr/appdata:/appdata
    environment:
      - SECRET_ENCRYPTION_KEY=cd064ca6af7af24a127c35f11d09ba873b45de5718c43400dbed1249ce311ba5
    ports:
      - '7575:7575'
  • - /share/Container/homarr/ => /share/Container/ est le chemin par défaut pour vos containers, /homarr, le dossier où sera déployé le container que vous pouvez retrouver ici dans File Station :

Pour déployer le container, cliquez sur :

Quand c'est terminé, dans la partie Containers, cliquez sur le port de l'application (7575 ici) :

Cela va ouvrir un nouvel onglet directement sur Homarr :


🪄 Petite astuce

Prenons le cas de Navidrome. Vous vous souvenez, j'ai créé un dossier Musiques dans le dossier Médias. Si maintenant ma musique se trouvait dans ce dossier, je renseignerais le dossier à Navidrome de cette façon :

version: "3"
services:
  navidrome:
    image: deluan/navidrome:latest
    user: 1000:100
    ports:
      - "4533:4533"
    restart: unless-stopped
    environment:
      ND_SCANSCHEDULE: 1h
      ND_LOGLEVEL: info  
      ND_SESSIONTIMEOUT: 24h
      ND_BASEURL: ""
    volumes:
      - "/share/Container/navidrome/data:/data:/data"
      - "/share/Médias/Musiques:/music:ro"
  • - "/share/Container/navidrome/data:/data:/data" => Le container Navidrome sera donc bien dans /share/Container/.

Tandis que les données sont ici :

  • - "/share/Médias/Musiques:/music:ro" => Je monte le dossier /share/Médias/Musiques, où se trouve ma musique.

📊 Charge serveur

Avec 17 containers :

Voici la charge estimée :

Avec 8 Go de RAM au total, ce n'est pas mal du tout.


🔴 Utiliser le compte admin en SSH

Connectez-vous avec votre compte normal en SSH.

Tapez la commande suivante :

sudo -i

Vous serez invité à taper le mot de passe admin, après validation du mot de passe, vous serez redirigé ici :

Tapez Q et validez avec la touche entrée de votre clavier.

Une petite confirmation avec Y et touche entrée du clavier :

Vous voici en admin :

⚠️
Faites très attention si vous n'êtes pas habitué avec ce genre de privilège, cela peut s'avérer dangereux.

zarev

->.<-
🐧 Passionné de self-hosting, je partage ce que je connais et me nourris des connaissances des bonnes âmes qui partagent avec moi. Soutenons l'utilisation des apps open source et leurs développeurs.