+++ aliases = [ "lancement-au-boot",] date = 2018-01-07 weight = 9 title = "Lancement au démarrage de la machine" [taxonomies] authors = [ "vit",] +++ # Lancement au démarrage de la machine Scripts de lancement au démarrage de la machine. ## Systemd ### Version simple *Testée sur Lubuntu 16.04 32bits.* Cette version est destinée à une installation manuelle d'après les sources Duniter. Avec nodejs installé et géré par NVM. Créer un fichier de service pour systemd : ```bash sudo nano /etc/systemd/system/duniter-g1-test.service ``` Et y mettre le script suivant : ``` [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" # Config path Environment="DUNITER_HOME=/home/your_user/.config/duniter" # Database name 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/your_user/.nvm/versions/node/v6.11.4/bin Group=your_group User=your_user Type=forking # Duniter install path WorkingDirectory=/home/your_user/Logiciels/duniter-g1-test # Commands ExecStart=/home/your_user/Logiciels/duniter-g1-test/bin/duniter ${DUNITER_WEB}start --home ${DUNITER_HOME} --mdb ${DUNITER_DATA} $DUNITER_OPTS ExecReload=/home/your_user/Logiciels/duniter-g1-test/bin/duniter ${DUNITER_WEB}restart --home ${DUNITER_HOME} --mdb ${DUNITER_DATA} $DUNITER_OPTS ExecStop=/home/your_user/Logiciels/duniter-g1-test/bin/duniter stop --home ${DUNITER_HOME} --mdb ${DUNITER_DATA} Restart=on-failure [Install] WantedBy=multi-user.target ``` Remplacer `your_group` et `your_user` par l'utilisateur et le groupe qui lance le processus. Adapter les chemins selon votre installation. A chaque modification du fichier, vous devez avertir systemd avec cette commande : ```bash sudo systemctl daemon-reload ``` Tester le lancement du service : ```bash sudo systemctl start duniter-g1-test.service ``` Stopper le service : ```bash sudo systemctl stop duniter-g1-test.service ``` Activer le lancement du service au démarrage de la machine : ```bash sudo systemctl enable duniter-g1-test.service ``` Redémarrer la machine pour vérifier que Duniter se lance correctement. En cas de problème, vérifier les logs de Duniter et ceux de systemd : ```bash journalctl -xe ``` ### Version avec scripts shell [Version avec gestion plus avancée de NVM](https://diaspora-fr.org/posts/2703333)