Etape 6: Installation de Portainer
Source :
Je vous propose de créer un répertoire scripts dans votre Home puis un répertoire portainer dans celui ci. Donc avec un terminal ou sous le Desktop :
cd ~/
mkdir scripts
cd scripts/
mkdir portainer
cd portainer/
Puis dans ~/scripts/portainer créer un fichier portainer-compose.yaml
nano portainer-compose.yaml
Et coller cette description :
services:
portainer:
container_name: portainer
image: portainer/portainer-ce:lts
restart: always
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer_data:/data
- /etc/localtime:/etc/localtime:ro # pour synchroniser l'heure avec l'hôte
- /etc/letsencrypt:/etc/letsencrypt:ro
ports:
- 9443:9443
#- 8000:8000 # Remove if you do not intend to use Edge Agents
environment:
- CSP=false #pour autoriser l'affichage dans un iframe dans HA
command:
--tlscert /etc/letsencrypt/live/toto.duckdns.org/fullchain.pem
--tlskey /etc/letsencrypt/live/toto.duckdns.org/privkey.pem
volumes:
portainer_data:
name: portainer_data
external: true
networks:
default:
name: portainer_network
Maintenant nous allons faire un petit script pour installer (ou mettre à jour) Portainer.
Le script s’appelera install_portainer.sh
touch install_portainer.sh # cree le fichier
chmod +x install_portainer.sh # le rend executable
nano install_portainer.sh # ouvre l'editeur
et coller ce petit script :
#!/bin/bash
echo "Mon installateur portainer"
docker pull portainer/portainer-ce:lts
docker stop portainer
docker rm portainer
docker compose -f portainer-compose.yaml up -d
sleep 2s
docker logs portainer
echo "Portainer mis a jour!"
Plus qu’à l’executer :
./install_portainer.sh
Si les certificats sont OK, Portainer écoutera l’adresse en HTTPS, sinon il sera acessbile en HTTP.
Connectez vous avec un navigateur à Portainer en allant sur https://172.18.0.2:9443 pour un acces local ou https://toto.duckdns.org:9443 pour un acces depuis Internet.
Il faut se créer un compte (login+mdp) et créer un nouvel environnement local.
Pour la suite on va ajouter des stacks qui vont permettre de créer des conteners