J’ai déjà écrit un article sur ce qu’était BOINC sans en détailler l’installation. L’installation classique de BOINC passe par le téléchargement du client BOINC, mais il est aussi possible d’utiliser BOINC dans un conteneur docker.
Cette méthode d’installation est plus facile à scripter et à automatiser, ce qui la rend très intéressante sur un serveur headless par exemple.
Installation de docker
Tout d’abord, installons docker et docker-compose. Sur une distribution linux utilisant le gestionnaire de paquets apt (comme Debian ou Ubuntu), il suffit d’installer les paquets docker.io
et docker-compose
.
sudo apt install docker.io docker-compose
Assurez vous que le service docker est lancé avec :
sudo systemctl enable --now docker
Il est aussi conseillé d’ajouter l’utilisateur courant au groupe docker afin de ne pas avoir à passer par sudo
pour lancer contrôler docker (remplacez $USER par votre nom d’utilisateur)
usermod -a -G boinc $USER
Reconnectez-vous ou redémarrer afin que les nouveaux droits soit appliqués.
Lancement du conteneur docker
Dans le dossier de votre choix, créez un fichier docker-compose.yml
avec le contenu suivant :
version: '2'
services:
boinc:
image: boinc/client:latest
container_name: boinc
restart: always
network_mode: host
pid: host
volumes:
- /opt/appdata/boinc:/var/lib/boinc
environment:
- BOINC_GUI_RPC_PASSWORD=$BOINC_PASSWORD
- BOINC_CMD_LINE_OPTIONS=--allow_remote_gui_rpc
Si vous utilisez une architecture ARM, vous devrez choisir une autre image :
- pour un processeur ARMv7 32-bit (Raspberry Pi 2), remplacez
latest
pararm32v7
- pour un processeur ARMv8 64-bit (Raspberry Pi 3/4), remplacez
latest
pararm64v8
Créez ensuite dans le même dossier un fichier nommé .env
contenant le mot de passe de BOINC :
BOINC_PASSWORD=motdepasse
Vous pourrez ensuite lancer le conteneur avec
docker-compose up -d
Une autre commande à connaître est la commande pour arrêter le conteneur
docker-compose down
Gestion de BOINC
Pour pouvoir gérer le client BOINC lancé avec docker, vous avez deux possibilités :
- passer par le client BOINC installé sur un autre ordinateur
- utiliser l’utilitaire
boinccmd
Via un client BOINC sur un autre ordinateur
À partir du client BOINC d’un autre ordinateur, avec Fichier > sélectionner un ordinateur.
Vous pourrez entrer l’adresse IP de l’ordinateur cible ainsi que le mot de passe renseigné précédemment afin de vous connecter.
Via la commande boinccmd
Il est aussi possible de contrôler directement BOINC avec l’utilitaire boinccmd
.
Pour se connecter à un compte existant pour un certain projet :
docker exec -it docker boinccmd --lookup_account $URL $EMAIL $PASSWORD
# si un compte existe, une clé s'affichera
docker exec -it docker boinccmd --project_attach $URL $KEY
Pour créer un compte pour un certain projet :
docker exec -it docker boinccmd --create_account $URL $EMAIL $PASSWORD $USERNAME
Pour se connecter à un gestionnaire de comptes (https://bam.boincstats.com par exemple) :
docker exec -it boinc boinccmd --join_acct_mgr $URL $USERNAME $PASSWORD
Pour surveiller l’état de BOINC :
docker exec -it boinc boinccmd --get_simple_gui_info
Liens
Une remarque, un commentaire ? Réagissez sur Mastodon !
>> Home