Créer un nœud Rocket Pool standard avec Docker

Dans cette section, nous allons parcourir le processus d'installation de la pile Smartnode Rocket Pool en utilisant la configuration standard basée sur Docker. Cela installera et configurera tout ce dont vous avez besoin pour exécuter un nœud complet, y compris :

  • Le logiciel Smartnode Rocket Pool
  • Un client Execution (anciennement ETH1) de votre choix, ou une connexion à un client existant que vous gérez déjà
  • Un client Consensus (anciennement ETH2) de votre choix, ou une connexion à un client existant que vous gérez déjà
  • Un client Validator qui gérera vos tâches de validation Beacon Chain
  • (Optionnellement) une pile de surveillance pour capturer les métriques de performance et de santé

Tout ce que vous avez à faire est de lui dire ce que vous voulez exécuter !

NOTE

Les instructions ci-dessous nécessitent que vous utilisiez le terminal de votre système pour saisir et exécuter des commandes. Si vous êtes connecté à la machine du nœud via SSH, vous le faites déjà. Si vous êtes sur la machine du nœud et utilisez une interface utilisateur de bureau, vous devrez ouvrir une fenêtre de terminal pour exécuter les commandes suivantes. Référez-vous aux instructions de votre système d'exploitation pour apprendre à le faire si vous n'êtes pas familier.

Aperçu du processus

À un niveau élevé, voici ce qui est impliqué dans l'installation de Rocket Pool :

  1. Télécharger l'interface en ligne de commande (CLI) Rocket Pool
  2. Utiliser la CLI pour installer la pile Smartnode
  3. Configurer la pile Smartnode avec une interface utilisateur facile à utiliser dans le terminal
  4. Terminé !

Avant de commencer

Warning

Si vous utilisez Ubuntu, il est recommandé de vérifier avant d'installer Rocket Pool que docker n'a pas été installé avec le système d'exploitation.

L'installateur Ubuntu obtient docker du gestionnaire de paquets snap, qui entrera en conflit avec la version de docker installée par Smartnode.

Exécutez snap list, et assurez-vous que docker n'a pas été installé.

Par exemple, voici la sortie sur une machine où docker n'est pas installé :

Name    Version        Rev    Tracking       Publisher   Notes
core20  20230308       1852   latest/stable  canonical✓  base
lxd     5.0.2-838e1b2  24322  5.0/stable/…   canonical✓  -
snapd   2.59.1         18933  latest/stable  canonical✓  snapd

Et voici la sortie s'il a été installé :

Name    Version        Rev    Tracking       Publisher   Notes
core20  20230308       1852   latest/stable  canonical✓  base
docker  20.10.17       2746   latest/stable  canonical✓  -
lxd     5.0.2-838e1b2  24322  5.0/stable/…   canonical✓  -
snapd   2.59.1         18933  latest/stable  canonical✓  snapd

Si vous le voyez dans la sortie de snap list, assurez-vous de le supprimer avec :

sudo systemctl stop snap.docker.dockerd.service

sudo snap remove --purge docker

Après quoi, il est recommandé de redémarrer la machine (sudo systemctl reboot)

Téléchargement de la CLI Rocket Pool

Les instructions pour télécharger la CLI varient en fonction de votre système d'exploitation.

NOTE

Vous devez effectuer les instructions suivantes sur la machine que vous utiliserez pour votre nœud Rocket Pool. Si vous n'utilisez pas de clavier et de moniteur directement connectés à votre machine de nœud, vous devrez y accéder à distance (par exemple via SSH) et exécuter ces commandes via cette connexion à distance.

Linux
MacOS

Sur Linux, commencez par créer un nouveau dossier qui contiendra l'application CLI :

mkdir -p ~/bin

Ensuite, téléchargez la CLI. Cela dépend de l'architecture utilisée par votre système.

TIP

Si vous ne connaissez pas votre architecture CPU, vous pouvez exécuter la commande suivante pour la trouver :

uname -m

La sortie de cette commande affichera votre architecture. Notez que x86_64 est la même chose que x64 et amd64. Notez que aarch64 est la même chose que arm64.

Pour les systèmes x64 (la plupart des ordinateurs normaux) :

wget https://github.com/rocket-pool/smartnode/releases/latest/download/rocketpool-cli-linux-amd64 -O ~/bin/rocketpool

Pour les systèmes arm64 :

wget https://github.com/rocket-pool/smartnode/releases/latest/download/rocketpool-cli-linux-arm64 -O ~/bin/rocketpool

Marquez-le comme exécutable, afin qu'il ait les permissions d'exécution :

chmod +x ~/bin/rocketpool

Ensuite, déconnectez-vous et reconnectez-vous (ou fermez SSH et reconnectez-vous), ou redémarrez simplement. Ceci est dû au fait que le chemin où vous avez enregistré la CLI (~/bin) pourrait ne pas encore être dans la variable PATH de votre système (la liste des endroits où votre système recherche des exécutables). Se déconnecter et se reconnecter l'y mettra.

Maintenant, testez son exécution avec le flag --version. Vous devriez voir une sortie comme celle-ci :

rocketpool --version
rocketpool version 1.18.10

TIP

Si vous voyez un message d'erreur comme celui-ci,

-bash: /home/user/rocketpool: cannot execute binary file: Exec format error

cela signifie que vous avez téléchargé la mauvaise version ci-dessus. Veuillez vérifier si votre système est x64 ou arm64 en utilisant la commande dans l'astuce ci-dessus, et télécharger la version appropriée. Si votre système n'est ni l'un ni l'autre, alors vous ne pourrez pas exécuter Rocket Pool.

Installation de la pile Smartnode

Maintenant que vous avez installé la CLI, vous pouvez déployer la pile Smartnode. Cela préparera votre système avec Docker, docker-compose, et chargera les fichiers Smartnode afin qu'ils soient prêts à être utilisés. Cela n'exécutera rien pour le moment ; cela viendra plus tard.

Pour déployer la pile Smartnode, vous devrez exécuter la commande suivante sur votre machine de nœud (soit en vous connectant localement, soit à distance via SSH) :

rocketpool service install

Cela récupérera la dernière version de la pile Smartnode et la configurera. Vous devriez voir une sortie comme celle-ci (au-dessus de quelques notes de version pour la dernière version qui seront imprimées à la fin) :

S'il n'y a pas de messages d'erreur, alors l'installation a réussi. Par défaut, elle sera placée dans le répertoire ~/.rocketpool à l'intérieur du dossier personnel de votre compte utilisateur.

NOTE

Notez que l'installateur Smartnode ne peut pas installer docker et docker-compose automatiquement sur toutes les plateformes. Si vous recevez un message d'erreur comme celui-ci pendant l'installation :

Automatic dependency installation for the Mint operating system is not supported.
Please install docker and docker-compose manually, then try again with the '-d' flag to skip OS dependency installation.
Be sure to add yourself to the docker group with 'sudo usermod -aG docker $USER' after installing docker.
Log out and back in, or restart your system after you run this command.

Alors vous devez simplement installer ces deux éléments manuellement.

Docker fournit des instructions d'installation communes ici.

Docker-compose fournit des instructions d'installation communes ici.

Une fois les deux installés, assurez-vous de donner à votre compte utilisateur la permission d'utiliser Docker :

sudo usermod -aG docker $USER

Enfin, réexécutez l'installateur avec le flag -d pour ignorer l'installation de Docker :

rocketpool service install -d

Après cela, déconnectez-vous et reconnectez-vous ou redémarrez votre session SSH pour que les paramètres prennent effet.

Une fois cela terminé, la pile Smartnode sera prête à fonctionner.

Configuration de l'emplacement de stockage de Docker

Par défaut, Docker stockera toutes les données de ses conteneurs sur le disque de votre système d'exploitation. Dans certains cas, ce n'est pas ce que vous voulez.

NOTE

Si vous êtes satisfait de ce comportement par défaut, passez à la section suivante.

Pour ce faire, créez un nouveau fichier appelé /etc/docker/daemon.json en tant qu'utilisateur root :

sudo nano /etc/docker/daemon.json

Ce fichier sera vide au début, ce qui est normal. Ajoutez ceci comme contenu :

{
  "data-root": "<your external mount point>/docker"
}

<your external mount point> est le répertoire où votre autre disque est monté.

Appuyez sur Ctrl+O, Entrée pour enregistrer le fichier, et Ctrl+X, Entrée pour quitter l'éditeur.

Ensuite, créez le dossier :

sudo mkdir -p <your external mount point>/docker

Maintenant, redémarrez le démon docker afin qu'il prenne en compte les modifications :

sudo systemctl restart docker

Après cela, Docker stockera ses données sur le disque souhaité.

Configuration de la pile Smartnode

La prochaine étape du processus d'installation est de faire une configuration initiale de votre nœud. Passez à la section Configuration de Rocketpool pour une présentation de ce processus.