Lancer automatiquement Duniter au démarrage

Oui je veut bien que tu essaye ça :slight_smile:

C’est fait… J’ai maintenant l’id 47.

1 Like

Hop te voilà membre du dépôt officiel :wink:

1 Like

J’ai encore fait quelques modifications afin qu’un utilisateur système duniter soit créé lors d’une installation du paquet debian (pour que le service puisse s’exécuter sans être root).

Par contre, je n’ai pas pu tester ces modifications, puisque je ne peux pas générer le paquet. :frowning:

1 Like

58 messages ont été déplacés vers un nouveau sujet : Build des releases duniter dans Docker

@sveyret j’ai builder les .deb depuis ta branche tu peut les télécharger et les tester :slight_smile:

https://ifee.fr/pub/duniter-server-v20171218.2339.10-linux-x64.deb

https://ifee.fr/pub/duniter-desktop-v20171218.2339.10-linux-x64.deb

a noter que j’en ai profiter pour merger des correctifs de cgeek dans ta branche afin de tester d’une pierre deux coups :slight_smile: (On pourra toujours les revert de ta branche si nécessaire)

1 Like

Merci, j’y jetterai un œil demain. Je suis en déplacement professionnel aujourd’hui et n’ai pas mon ordinateur sous la main.

Merci pour le script OpenRC par contre il y a une typo ligne 16 dans duniter.initd

remplacer
command_args="${command_args} \"--webmport ${DUNITER_WEB_PORT}\""
par
command_args="${command_args} --webmport \"${DUNITER_WEB_PORT}\""

en outre, je plug manuellement duniter-ui donc dans mon cas j’ai du ajouter le répertoire d’exécution pour pouvoir utiliser webstart
workdir="/opt/duniter"
start_stop_daemon_args="--chdir \"${workdir}\" --user \"${DUNITER_USER}\":\"${DUNITER_GROUP}\""

1 Like

Merci pour les infos, je vais faire la correction rapidement. Est-ce que la spécification de DUNITER_HOME ne suffit pas pour spécifier le répertoire de travail ?

Non car --home c’est un paramètre de Duniter pour l’emplacement de ses données (par défaut $HOME/.config/duniter), alors que --chdir c’est un paramètre de start-stop-daemon pour savoir où se placer pour exécuter le script (par défaut /) or en installation manuelle depuis les sources (dans mon cas /opt/duniter) il faut exécuter ./bin/duniter pour charger les plugins également.

2 Likes

D’accord. Je n’ai pas rencontré ce problème au niveau de l’ebuild, donc soit il m’a échappé, soit je l’ai compilé différemment de toi… Si tu as l’occasion de tester l’installation par emerge et me faire un retour, n’hésite pas (il n’y a pas encore le script OpenRC, par contre) !

Pour emerge je ne vais pas pouvoir t’aider avec Gentoo, mon serveur dédié est sous AlpineLinux qui utilise également OpenRC. J’ai simplement téléchargé/décompressé le .tar.gz, installé yarn puis ajouté sqlite3, pluggé duniter-ui et roulez jeunesse.

2 Likes

Oui effectivement, je suis tombé sur ce problème aussi suite au bug de la commande plug. Des correctifs sont présents dans ce commit mergé dans la branche 1.6, qui devrait donc fonctionner pour @sveyret.

1 Like

Merci pour ta contribution !

Je suis en train de tester ton script systemd sur Ubuntu 16.04 (en l’adaptant à ma config…).

J’ai ajouté la directive

WorkingDirectory=[chemin du dossier duniter]

sinon duniter ne trouve pas la commande “webstart”.

Mais il ne fonctionne pas :disappointed_relieved:

Quand duniter tente de lancer

#!/usr/bin/env node

j’ai le message

/usr/bin/env : "node": Aucun fichier ou dossier de ce type

Une idée ?

[edit]
Il faut mettre le chemin complet de la commande “node” devant les commandes duniter et le script fonctionne !

Sauf que le noeud lancé par systemd :

  • Voit son interface web complètement cassé (pas de binding angular, des variables comme {{ title }} apparaissent).
  • Aucune API réseau n’est publiée, ni WS2P , ni BMA… Seule l’accès à localhost:9220 pour l’interface.

C’est pas gagné…

Je suis aussi sur le salon de discussion XMPP pour deboguer plus vite si tu es dispo…

Bonjour,

Où se trouve le salon XMPP ? J’ai Pidgin, je devrais pouvoir m’y connecter…

As-tu bien la dernière version du script, celle que l’on trouve ici :

Parce que ce script appelle le script duniter qui se trouve normalement dans /usr/bin, donc si le service ne démarre pas, c’est peut-être que le script ne démarre pas, même à la main.
Sinon, le script est prévu pour être exécuté par l’utilisateur duniter:duniter, dans son répertoire principal /var/lib/duniter. Si tu n’as pas modifié cela, ça ne fonctionnera pas non plus (note que l’installation Ubuntu a été modifié pour préparer cela dans la prochaine version).

Le salon xmpp : https://duniter.org/fr/contact/

Oui, j’ai adapté le script à mon utilisateur, à l’endroit où j’ai compilé Duniter pour mon netbook 32bits.
Le script fonctionne, mais il manque quelquechose dans l’environnement d’exécution qui fait que Duniter ne retrouve pas ses petits.
Note aussi que Duniter se lance, mais ne crée pas de fichier de logs… Donc pas facile à déboguer !

[EDIT]
Problème résolu !

Voici le script de démarrage pour systemd pour une installation manuelle de Duniter à partir des sources. Nodejs est géré par NVM, ce qui nécessite de préciser le chemin où se trouve la commande node.

[Unit]
Description=Duniter g1-test node
After=network.target

[Service]
# Should be set to web in order to start with web GUI
Environment="DUNITER_WEB=web"
Environment="DUNITER_HOME=/home/vit/.config/duniter"
Environment="DUNITER_DATA=duniter_default"

# If using a key file, DUNITER_OPTS can be defined like so:
#Environment="DUNITER_OPTS=--keyfile /etc/duniter/keys.yml"
Environment="DUNITER_OPTS="

# NVM and NODEJS
Environment=NODE_VERSION=6
Environment=NODE_ENV=production
Environment=PATH=/home/vit/.nvm/versions/node/v6.11.4/bin

Group=vit
User=vit
Type=forking

# Duniter install path
WorkingDirectory=/home/vit/Logiciels/duniter-g1-test

# Commands
ExecStart=/home/vit/Logiciels/duniter-g1-test/bin/duniter ${DUNITER_WEB}start --home ${DUNITER_HOME} --mdb ${DUNITER_DATA} $DUNITER_OPTS
ExecReload=/home/vit/Logiciels/duniter-g1-test/bin/duniter ${DUNITER_WEB}restart --home ${DUNITER_HOME} --mdb ${DUNITER_DATA} $DUNITER_OPTS
ExecStop=/home/vit/Logiciels/duniter-g1-test/bin/duniter stop --home ${DUNITER_HOME} --mdb ${DUNITER_DATA}
Restart=on-failure

[Install]
WantedBy=multi-user.target

J’ajouterai un modèle de script dans le wiki du site duniter.org.

Un message a été intégré dans un sujet existant : Build des releases duniter dans Docker

@sveyret afin de séparer les sujet j’ai migrer les messages relatif au build des releases dans un nouveau thread :wink:

1 Like

@sveyret Il ne reste plus que cette MR a traiter avant de pouvoir livrer la 1.6 je vais donc tester ça ce soir :slight_smile:

@vit je crois que tu a déjà pas mal testé, tu peut nous faire un point ? merci

EDIT : @sveyret je me suis permis de remerger la branche 1.6 dans StartUp qu’on puisse tester avec tout les derniers changements :wink:

J’ai déjà ajouté un article dans le wiki. S’il a besoin de précisions, dites le moi…

https://duniter.org/fr/wiki/duniter/lancement-au-boot/

1 Like