Image Docker de duniter 1.9 pour Raspberry Pi2 1v1 32bit

Bonjour à tous

Après plusieurs essaie de de synchronisation des noeuds sur ma raspberry Pi 2 ARMV7 on m’a conseillé dans une visio de passer à docker car la 1.9 serait mieux adaptée .
Donc j’ai regardé comment installer celui-ci ( voici la source pour raspberry Getting Started With Docker On Raspberry Pi (Full Guide) – RaspberryTips)

Puis j’ai commencé à faire une : $ docker search duniter

donc cela me donne comme retour une liste avec différente image .

ensuite pour installer l’image j’ai fait : $ docker run duniter/duniter (nom dans la liste)
à la fin du processus l’image n’est pas bonne car elle est pour une architecture amd64. et le container ne c’est pas fait.

Ma question est: Est-il possible de faire une image de duniter 1.9 pour ARMV7 ( hardware Raspberry pi2) pour docker.

(pourquoi le choix une Raspberry Pi2 me direz-vous? : Car dans le contexte économique actuel où les composant deviennent rares (les raspberrys distillé au compte goûte par le distributeur officiel), il va du bon sens de s’orienté sur du matériel déjà existant . j’ai cette raspberry qui dormait au fond d’un tiroir depuis 2016. Donc autant qu’elle soit au service pour le nouveau monde de la monnaie libre. De plus par sa faible consommation d’énergie cela va en adéquation avec cette bloc chaîne.)

En vous remerciant par avance pour le retour de votre réponse et de votre action

Cordialement Wilfried

( apprenti bidouilleur en informatique dans le but defaire un noeud miroir duniter avec un raspberry Pi 2 1v1; OS bullseye 32bits installé sur SD 64Go)

2 Likes

@Wilfriedg39

Il est peut-être possible de builder l’image directement sur ton RasPi :

$ git clone https://git.duniter.org/nodes/typescript/duniter
$ cd duniter
$ docker build -t duniter/duniter:dev-armv7 -f release/docker/Dockerfile .
2 Likes

@Pini
merci pour ton aides j’ai saisi les lignes de code et ma raspberry n’a jamais autant travailler que maintenant ( elle est en rodage :- :joy: ) . bon au bout il ya eu une Hic .

J’ai donc tapé dans le prompte le curl https et il a installer rust

j’ai re lancer les lignes que tu m’as transmis mais j’ai toujours l’erreur à la fin du build.

et là je suis un peu perdu car il met un .cargo au lieu de docker.
aurais-tu un solution car pour moi là je sais pas.

en te remerciant par avance pour ton aide.
cordialement Wilfried

1 Like

il y a d’ autres dépendance que rust à installer avant de redemarrer et de commencer la construction si je lis bien README.md

curl --proto ‘=https’ --tlsv1.2 -sSf https://sh.rustup.rs | sh
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
nvm install v10.22.1
nvm use v10.22.1
sudo apt install cmake

1 Like

@ness
ok je vais faire les prompts et je verrais bien comment cela se comporte
encore merci ness a+

Non non non ! Tout ça est censé être pris en charge par le Dockerfile.

@Wilfriedg39
Peux-tu poster la trace complète issue de la commande docker build stp ?

1 Like

bon euuu j’ai fait une capture d’écran :frowning:

c’est pas très réjouissant et pas bien facile à lire . comme je suis en SSH le copier coller ne marche pas.
j’ai tester > et fair un fuchier = marche pas
j’ai tester | tee et faire le fichier = marche pas

tu aurais une solution @Pini ?

ah oké jpensais que le but était de faire tourner la V1.9 sur arm7 et puis seulement ensuite la dockeriser

L’erreur est donc celle-ci :


Le téléchargement de rustup pour armv7 + musl ne fonctionne pas.

Peux-tu tenter après avoir modifié la première ligne FROM du Dockerfile ainsi ?

FROM node:10 as build

L’idée c’est d’utiliser une image node non alpine, voir si ça marche mieux.

bon donc cela me donne cela

et j’ai oublier de copier le fichier avant de la modifier donc je me souvien plus ce que j’ai supprimé :grimacing:

Je ne vois pas comment la modif que je t’ai indiquée pourrait générer cette erreur :thinking:

Aurais-tu moyen de me donner un accès SSH à ton RasPi ? Si oui je te ferai passer ma clef SSH publique par MP.

Pas de problème à mettre ta clé publique ssh en public, c’est fait pour ça :slight_smile:
D’ailleurs, on pourrait même faire un export des clés Ğ1 ed25519 au format ssh pour pouvoir se connecter à son serveur en utilisant ses clés Ğ1 ^^

2 Likes

Ça commence à ressembler furieusement à des trucs qu’on compte en zen avec des étoiles sur gchange.

2 Likes

J’ai trouvé un moyen de builder une image pour armv7. Mais il faut que je recommence car j’ai foiré la dernière étape, et l’ensemble du build prend plusieurs heures :confused:

Ça devrait être prêt demain du coup.

2 Likes

a ok donc il faut de la ram donc je comprends qu ma Pi2 à fait flop. en tout cas merci beaucoup @Pini pour ton investissement et ton aide

J’ai enfin réussi à builder de façon reproductible une image Duniter-dev pour armv7. Mais je ne peux la tester car elle consomme trop de RAM pour mon système qemu qui semble bloqué à 2 Go.

Si quelqu’un veut tester je peux transmettre le fichier qui fait 876M.

1 Like

ce n’ est que la synchro qui déborde les deux gigas

Merci de ne pas balancer des affirmations non vérifiées. Ça n’aide pas. Si je dis que la RAM est insuffisante c’est que j’ai un message système qui l’atteste.

c’est plus que vérifié c’est attesté par l’ ensemble des forgerons loL

ps / je rappelle que le but ici est de faire tourner un mirroir sur une pi2 avec moins d’ un giga et que ça ne serait réalisable qu’ en cas où la synchro passe. là même avec 4Giga elle passe pas et les tests avec du swap non plus

ps2/ peut etre que docker et la 1.9 règle le souci donc faudrait que jt’ envoie une carte arm en fait

Eh bien je ne suis pas forgeron ğ1 (mais ğ1-test et gdev) , je te laisse donc avec ton argument d’autorité.

Ce que je peux affirmer avec certitude c’est que sur mon infra de test (qemu-system-arm avec émulation CPU cortex-a15) je suis limité à 2Go de RAM et le lancement de duniter plante direct avec un OOM kill :


duniter@b8e7f46e8bad:/var/lib/duniter$ /docker-entrypoint.sh 
Starting duniter with:
/usr/bin/duniter direct_webstart

<--- Last few GCs --->


<--- JS stacktrace --->


#
# Fatal process OOM in insufficient memory to create an Isolate
#