J’ai eu beaucoup de mal à mettre en place un noeud Duniter public.
L’interface web semble un peu buggée et demande de renseigner des IP réseau publiques qui n’ont rien à faire ici.
Voici la solution pour mettre en place un noeud duniter exposé au public à travers Nginx avec chiffrement SSL des communications.
Je pars du principe que vous avez installé le paquet Debian. Le service duniter n’est pas démarré.
Pour installer ses clés
# sudo -u duniter duniter wizard key
Pour configurer la connexion réseau en écoute sur les ports locaux 10901 et 20901:
# sudo -u duniter duniter wizard network
? IPv4 interface lo 127.0.0.1
? IPv6 interface None
? Port 10901
? Remote IPv4 lo 127.0.0.1
? Remote port 10901
? Does this server has a DNS name? Yes
? DNS name: duniter.jesuislibre.net
#sudo -u duniter duniter config --ws2p-public
#sudo -u duniter duniter config --ws2p-noupnp --ws2p-port 20901 --ws2p-host 127.0.0.1 --ws2p-remote-port 443 --ws2p-remote-host duniter.jesuislibre.net
#sudo -u duniter duniter config --ws2p-remote-path /ws2
Pour synchroniser le noeud avec le contenu actuel de la blockchain (attention ca va prendre 20 minutes) :
# sudo -u duniter duniter sync g1.duniter.org
On passe au fichier de configuration Nginx pour écouter en public sur le port 443 avec chiffrement SSL :
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name duniter.jesuislibre.net;
ssl_certificate /etc/letsencrypt/live/jesuislibre.net/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/jesuislibre.net/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/jesuislibre.net/chain.pem;
include snippets/ssltuning.conf;
include snippets/headers.conf;
location / {
proxy_pass http://127.0.0.1:10901;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
location /ws2p {
proxy_pass http://127.0.0.1:20901;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
Pour démarrer les services, nginx et duniter sont gérés par systemd sous Debian. Donc vous savez quoi faire (systemctl start, reload, enable tout ca)
Sources : CrazyPanda et Normandie-libre
Merci pour ce tuto ;)
tu peux ajouter l’option –store-txs pour synchroniser aussi les transactions.
qu’est ce que tu veux dire par là?
Si tu ne mets pas cette option tu ne verras pas les transactions dans Césium
https://forum.duniter.org/t/g1-en-forks-a-partir-du-bloc-206587/5885/44
ok. Il existe une doc sur toutes les options qui sont dans le fichier de config de Duniter?
yes les options sont listées ici https://duniter.org/fr/miner-des-blocs/commandes/
Salut.
J’ai exactement cette config nginx qui fonctionnait sur Debian 9 mais il semble que j’ai un souci maintenant.
Je suis à présent sur Debian 11, nginx 1.18.0 et Duniter 1.8.7 je suis synchro mais quand je clique sur mon noeud dans cesium ca affiche: « Récupération des informations du noeud impossible » et je suis affiché accès privé (alors que non)
Y a t il des mise à jour de la conf à prévoir en 2023 ?
Ca fonctionne toujours cette conf nginx. Le probleme etait la configuration reseau de duniter