J’ai l’impression de l’avoir déjà fait plusieurs fois auparavant, mais voici un nouvel appel à lancer des noeuds wotwizard. Pour rappel :
wotwizard-ui ( extension ou wotwizard.axiom-team.fr) est juste une “coquille vide” qui se connecte à un des serveurs wotwizard listés dans le menu à gauche
le serveur “trentesaux” est hébergé par moi-même dans mon salon à côté d’un nœud Duniter qui crashe régulièrement et que je ne souhaite pas redémarrer automatiquement, donc il est régulièrement désynchronisé
Comme vous le savez, je travaille sur Duniter et poka travaille sur Ğecko, l’administration de serveurs wotwizard n’est donc pas notre priorité. Si vous voulez augmenter la résilience du service wotwizard, il faut donc installer plus d’instances.
Pour cela, il faut :
un nœud Duniter avec l’option wotwizard dans son fichier de configuration conf.json :
@gerard94 semble avoir supprimé tout le code et la documentation de wotwizard il y a trois semaines
Donc demandez de l’aide ci-dessous. Je ne vais pas écrire une doc détaillée pour wotwizard si personne n’a envie de l’installer, je préfère concentrer mes efforts sur Duniter v2.
Je n’en doute pas, mais où sont-ils ? Sur https://git.duniter.org/gerard94/wotwizard/ je ne vois plus qu’un fichier README et un commit “initial commit” datant d’il y a trois semaines.
Ooooh ! Merci
Mais pourquoi avoir créé une branche “main” il y a trois semaines ? Peut-on la supprimer ? Oui puis-je définir la branche “master” comme branche principale ?
Il n’y a pas de docker pour wotwizard pour l’instant. Je n’avais pas les compétences à l’époque pour écrire un Dockerfile, et je commence à apprendre mais n’ai pas beaucoup de temps. Si quelqu’un a envie d’essayer, ça serait une super contribution d’écrire le Dockerfile et de combiner duniter et wotwizard dans un docker-compose pour que ce soit hyper facile à installer. Chatgpt peut aider à commencer parce qu’il répond en général mieux que la documentation docker que je trouve abominable. On pourrait également écrire un bounty pour la dockerisation de wotwizard et récompenser en Ǧ1 la personne qui s’y colle. Et ça c’est plutôt facile à faire ^^
Il me semble que tu avais choisi de ne pas exposer l’API GraphQL car certaines requêtes pouvaient être très gourmandes, notamment le calcul de la betweeness centrality. Si tu exposes un endpoint graphql, on pourra l’ajouter à la liste.
Assurez vous que Duniter tourne et que votre conf se trouve dans ~/.config/duniter, sinon éditez le volume du compose en conséquence
est toujours valide
Je n’ai pas fait de conf avec Duniter en docker car la seul version dockerisé que je connaisse est 1.9.0-dev, et il n’y a pas la possibilité d’éditer la conf.json facilement pour passer le storage wotwizard à true, que je sache
Je n’ai pas dockerisé Duniter 1.8.7 car je me demande si ça n’a pas déjà été fait par @Pini quelque part et que je n’ai juste pas vue.
J’ai fais en sorte que le container affiche les bon logs, c’est à dire venant du fichier rsrc/duniter/log.txt, car la sortie du build wwServer n’affiche rien après le numéro de version, ce qui est très trompeur, et très chiant…
J’ai passé le noeud wotwizard axiom-team en mode docker, là ça sync les blocs, je vais me coucher, en attendant c’est down, on verra bien demain si ça up (oui je test mes trucs en prod…)
Sinon juste docker compose up -d et votre noeud wotwizard server tourne sur le port 8080 ou celui que vous aurez définit dans le compose
Passer "wotwizard" à true dans le conf.json sans avoir à le monter (j’imagine que dans l’image il se trouve dans ~/config/duniter par defaut vue que non spécifier dans le Dockerfile
Partager les mêmes data duniter entre docker correctement (on peut monter ~/config/duniter mais encore une fois pas sûr que ce soit la meilleur approche)
Si @Pini à le temps/l’envie de se pencher là dessus, ou d’expliquer quoi faire, c’est cool.
Non ça ne peut pas marcher comme ça. Il faut que tu utilises des volumes docker.
En supposant que tu ai quelque chose comme pour ton compose Duniter:
volumes:
- duniter-data:/var/lib/duniter
Tu dois faire quelque chose comme ça pour wotwizard:
volumes:
- duniter-data:/app/data/duniter
avec les deux config dans le même docker-compose.
Mais il faut tester ça, car il y a une écriture de fichier de conf dans le dockerfile qui ne doit pas être écrasé par la monté du volume.
Pour voir si ça marche regarde les logs de wotwizard, et regarde si au bout de 5 minutes il commence à déclacher la sync des bloc, ou si ça ne bouge pas.