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 :
