Direction les docks numérique

autoheberger 26 déc. 2022

/!\ Mise à jour du 8.6.23 : Correction de quelques coquille et ajout de l'installation du plugin docker-compose.

Suite à mon précédent article sur l’auto-hébergement, vous avez décidé de faire comme moi.

S’auto-héberger facilement.
Après un long moment d’inactivités sur le blog, je reprends doucement les articles et en me lançant dans une série d’articles sur l’auto-hébergement d’applis que l’on peut être amené à utiliser au quotidien. Vous pourrez trouver énormément d’avis sur les avantages de s’auto-héberger au

Je pars du principe que vous êtes sur une machine déjà fonctionnelle et nouvellement installée sous Debian/Ubuntu.

On va donc procéder à l’installation de Docker, Docker-compose et de Portainer. Libre à vous de tout installer ou une partie, seul Docker est obligatoire. Docker-Compose et Portainer sont facultatifs et indépendant entre eux.

Docker va nous permettre d'orchestrer les conteneurs.

Docker-compose sera très utile pour la configuration des conteneurs, car ceci se fera au travers d'un fichier yaml. La configuration sera plus fine et malléable.

Pour Portainer, c'est l'ajout d'une couche visuel pour la gestion des conteneurs de Docker, il peut être utilisé avec ou sans Docker-compose.

Installation de docker

L'installation de Docker est relativement simple, vous disposez de deux manières, soit pas à pas pour voir ce qui est fait, ou tout simplement avec un script.

sudo apt-get install  curl apt-transport-https lsb-release gnupg ca-certificates software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

Penser à modifier l'architecture de votre machine.

sudo apt update
sudo apt install  docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

On vérifie maintenant si Docker est bien opérationnel.

sudo systemctl status docker

Ou tout simplement en lançant cette commande :

sudo curl -fsSL <https://get.docker.com> -o get-docker.sh && sudo sh get-docker.sh

Et on termine par l'ajout de votre utilisateur au groupe Docker.

sudo usermod -aG docker username

Installation de docker-compose

/!\ Petit changement, si vous installez docker-compose-plugin ceci n'est pas nécessaire.

Pour ce qui est de Docker-compose, on va utiliser un script que j'ai fait. Vous récupérez le script suivant et exécuter le en indiquant la dernière version. (à ce jour 2.14.2)

GitHub - Wolf117Warrior/updater_docker_compose: Mise à jour automatiser de docker compose avec intéraction.
Mise à jour automatiser de docker compose avec intéraction. - GitHub - Wolf117Warrior/updater_docker_compose: Mise à jour automatiser de docker compose avec intéraction.

Vous pouvez créer la commande docker-compose en lançant la commande suivante :

sudo ln -s ~/vers/votre/fichier/docker-compose /usr/bin/docker-compose

Si tout est bon, alors lorsque vous lancerez la commande docker-compose version, vous obtiendrez ce résultat.

Lors de nouvelle version, vous n’aurez plus qu’à lancer le script et indiqué la version.

Installation de Portainer

À présent, que docker et docker-compose sont installés sur votre serveur, on va procéder à l’installation de Portainer. Il n'est bien sûr pas indispensable, mais utile pour certaines tâches qui vous éviteront de passer par un CLI. Si vous n’êtes pas du tout familier avec les lignes de commande, alors Portainer est fort utile.

On va commencer par la création d'un dossier qui rassemblera toutes vos applications. Et dans chacun de ces dossiers d'appli, il vous faut créer un dossier data (pour le stockage des données) et un fichier docker-compose.yml

mkdir ~/docker_apps/
• data/
• docker-compose.yml

Dans votre dossier Portainer, créer le fichier docker-compose.yml et C/C le contenu suivant dans votre fichier :

version: '3.7'
services:
  portainer:
    container_name: Portainer
    image: portainer/portainer-ce
    restart: unless-stopped
    command: -H unix:///var/run/docker.sock
    ports:
      - 9000:9000
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /etc/timezone:/etc/timezone:ro
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - ./data:/data

Petit complément d’information sur la composition du fichier :

ports : - 9000:9000 ⇒ - port de sortir (celui que vous modifiez) : port de l’app (celui qui est à laisser par défaut)

Et lancer la commande de création et lancement à la racine du dossier de l’application :

docker compose up -d

Il ne vous reste plus qu’à vous rendre sur le lien suivant avec l’IP et le port choisi. http://SERVER_IP:PORT/

Source : Install Docker Engine on Ubuntu

Mots clés

test