[Obsolète] [TrueNAS Scale] [Tuto] Installation de Portainer en Docker sur TrueNAS Scale ( docker-compose )

EVO

Administreur
Membre du personnel
25 Novembre 2019
8 211
1 575
278
/var/run/docker.sock
Hello,

J'arrive a mon but, apres avoir créé un volume, et un dossier "docker" pour mes conteneurs, maintenant, je souhaite installer Portainer qui offre une interface WebUI pour la gestion, création, ... des conteneurs Docker.

Portainer%20Logo%20Solid%20All%20-%20Blue%20no%20padding.svg


Portainer, c'est quoi ?
Portainer est une interface utilisateur de gestion légère qui vous permet de gérer facilement vos différents environnements Docker (hôtes Docker ou clusters Swarm). Portainer se veut aussi simple à déployer qu'à utiliser. Il se compose d'un seul conteneur qui peut s'exécuter sur n'importe quel moteur Docker (peut être déployé en tant que conteneur Linux ou conteneur natif Windows, prend également en charge d'autres plates-formes). Portainer vous permet de gérer toutes vos ressources Docker (conteneurs, images, volumes, réseaux et plus!). Il est compatible avec le moteur Docker autonome et avec le mode Docker Swarm.

Vous pouvez essayer l'instance de démonstration : http://demo.portainer.io/ (connectez-vous avec le nom d'utilisateur admin et le mot de passe tryportainer).

Pré-requis :
Avoir un accès SSH*

* Pour faire cette manip, il vous faudra vous connecter en SSH à votre NAS, si vous ne savez pas le faire, vous trouverez ici un tuto explicatif : [Tuto] Acceder à son NAS en lignes de commande. SSH doit aussi être actif sur TrueNAS, pour l'activer, rendez-vous dans "Paramètres systèmes" > "Services".

Sommaire :
1/ Création du conteneur en SSH
2/ Accès à l'interface de Portainer et identification
3/ Mise a jour de Portainer en SSH
4/ Ajout de la surveillance Watchtower


1/ Création du conteneur en SSH
Je suis logger en root sur mon NAS, j'ai un dossier docker dans volume1 ou je souhaite installer portainer.

Je vais donc créé les dossier nécessaire avec la commande suivante :
Code:
mkdir -p /mnt/volume1/docker/portainer/config

Je me rend dans mon dossier /portainer :
Code:
cd /mnt/volume1/docker/portainer

Je créer le fichier docker-compose.yml, avec la commande suivante :
Code:
nano docker-compose.yml

Et je renseigne le compose suivant :
Code:
version: '3'

services:
  portainer:
    image: portainer/portainer-ce
    restart: always
    ports:
      - "9000:9000"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /mnt/volume1/docker/portainer/config:/data
N'oublier pas de changer la partie "/mnt/volume1/docker/portainer/config" en fonction de votre configuration !

Je valide avec Ctrl + X puis Y ( pour Yes )

Maintenant, je lance l'installation avec la commande :
Code:
docker-compose up -d

L’installation démarre !
rBU6BGo.png


2/ Accès à l'interface de Portainer et identification
Dans votre navigateur, il vous suffit maintenant de taper l'adresse ip de votre NAS suivi du port 9000 pour se connecter a l'interface Web de Portainer.
Exemple : Si l'ip de votre NAS est 192.168.0.20 alors l'adresse est http://192.168.0.20:9000
Bien sur, si le pare-feu de votre NAS est actif, ce port devra être autorisé dans celui-ci !

A la 1ere connexion, il vous faudra créer un utilisateur administrateur :
iNxb3n1.png

Choisissez un mot de passe fort, je vous conseil aussi de ne pas utiliser l'utilisateur "admin" par défaut et de le remplacer par un pseudo de votre choix.

Ensuite, Portainer souhaite savoir comment il doit se connecter a notre environnement "docker" :
ifRRjvW.png

On clique sur "Local", puis sur "Connect"

La configuration est finie :D

Maintenant, la page d’accueil s'affiche avec un résumé des conteneurs en cours, si on clique dessus, on peut avoir plus de détails, mais aussi les gérer, ..
MDuHPpT.png


3/ Mise a jour de Portainer en SSH
D'abord nous allons arrêter le conteneur :
Code:
sudo docker stop portainer

Puis, on le supprime :
Code:
sudo docker rm portainer

Avec la commande suivante, nous allons récupérer la nouvelle image de portainer-ce :
Code:
docker pull portainer/portainer-ce

Une fois le téléchargement terminé, il suffit de reprendre le tuto a l'étape 1 ( installation de portainer ).

Une fois installé, vous pouvez aller dans Images et filtrer par "Unsused" afin de supprimer les images inutilisées présentes sur votre système.

4/ Ajout de la surveillance Watchtower

Dans le cas, ou vous souhaitez que Watchtower surveille Portainer, afin de le mettre a jour automatiquement ( par rapport a ce tuto ) alors il vous faut rajouter le label a la création du conteneur.

Voici un exemple du fichier docker-compose avec le label watchtower:
Code:
version: '3'

services:
  portainer:
    image: portainer/portainer-ce
    restart: always
    labels:
      - com.centurylinklabs.watchtower.enable=true
    ports:
      - "9000:9000"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /mnt/volume1/docker/portainer/config:/data


Source : https://www.portainer.io/ , https://github.com/portainer/portainer
 
Dernière édition:
Bonjour

Merci pour ce tuto

J’ai un nas diy avec truenas core et je souhaite installer docker est ce que votre tuto s’y. Applique?
 
Ironjohn a dit:
Bonjour

Merci pour ce tuto

J’ai un nas diy avec truenas core et je souhaite installer docker est ce que votre tuto s’y. Applique?

Bonjour,
TrueNAS Core est basé sous FreeBSD, qui n'est au derniere nouvelle pas compatible Docker. Si vous souhaitez installer Docker sur votre NAS, vous devez installer une machine virtuelle ( par exemple Debian ), puis y installer Docker .
 
Bonjour,
J'ai installé portainer sous truenas scale et cela fonctionne.
Puis j'ai installé de différentes façons bitwarden et les ports ne ce mettent pas en place. Une idée ?
Capture-d-cran-2021-10-18-084431-portainer.jpg

Capture-d-cran-2021-10-18-portainer.jpg

D'avance merci
 
Salut,
C'est du a TrueNAS Scale qui ne supporte pas ce genre d'installation, voir ici
C'est en parti pour cela que j'ai placé mes tuto TrueNAS Scale en "Obsolète", j'avais oublié de passer celui-ci, c'est chose faite.

Si vous souhaitez rester sur TrueNAS Scale, je vous conseil d'utiliser leurs interface d'applications afin de ne pas avoir de soucis par la suite.
 
En fait, c'est tout à fait possible de faire ce travail mais dans une VM sur Truenas SCALE.
Ca demande effectivement d'installer Debian dans une VM juste pour docker et les services.

Ce que interdit Truenas c'est d'installer docker directement sur "le debian truenas".
A chaque redémarrage il efface tout.
Mais dans une VM à part ça fonctionne bien.

J'ai essayé pendant 4 semaines d'installer des apps Helm, c'est à ne rien comprendre.
On y arrive mais on casse beaucoup pour recommencer... encore et encore.

Le probleme c'est que Truenas SCALE est encore (à mon avis) bien moisis, très lent, lourd, même avec 32Go de mémoire.

Par exemple il fait un tas de choses dont on ne comprends pas, tout le contraire d'un docker avec Portainer.
Des images sont construites à chaque installation d'apps, mais aussi un genre d'instance pour que l'app fonctionne, mais elles ne sont pas supprimés lors de la suppression de l'app, impossible de savoir qui est quoi au juste. Jusqu'au moment ou tout le systeme est foutu.

J'hésite encore à le garder pour de la production.
Le GROS avantage, c'est que chaque app peut bénéficier du filesystem entier dans le cas d'un service ayant besoin de faire du stockage.
Avec docker dans une VM on peut utiliser uniquement la capacité de la VM, enfin perso je n'ai jamais compris comment accéder à un pool X depuis une VM debian pour accéder au fichiers en écriture et lecture sur un pool X ou Y.

C'est d'ailleurs pour cela que j'avais quitté OMV6 (qui était très bien), pour aller sur Truenas qui était orienté plus "commerciale" / "Pro".

Si un jour je trouve comment utiliser un pool de 60To à partir d'une VM de 10Go pour stocker de la data, alors je retournerais sur OMV6.
D'ailleurs si un pro du montage peut expliquer, je suis tout ouie ! ;)