Installation d'un Pod Cesium+

Bonjour.
J’ai installé depuis quelques semaines un pod cesium+ (g1.data.mithril.re) qui à l’air de bien tourner mais je n’ai pas compris comment le lier à mon identité.
Pour le moment il tourne sur une clé qu’il a à mon avis automatiquement générée.
Comment le rattacher à mon identité ?
Merci.

1 J'aime

Bonjour @jnoel !
Désolé de répondre aussi tardivement (merci pour ta patience).

Alors il te faut simplement :

  • éditer le fichier config/elasticsearch.yml, en y renseignant ton Salt (identifiant secret) et password;
  • redémarrer ton pod;
  • vérifier dans ta fiche de paire, le champs pubkey : g1.data.mithril.re/network/peering
  • Vérifier que tout fonctionne en ouvrant Cesium sur ton pod (changer de noeud dans les paramètres de l’extension Cesium+)

Il faut en effet sûrement que tu configure ton nginx pour que les websockets passent bien, en forçant en HTTP 1.1
Je te redonnerai la conf si besoin. Faudra que je penses a mettre une dos là dessus…

Concernant la config, regarde dans le fichier, il y a plein d’options qui peuvent être utilisent. Par exemple si tu veux activer ou non le module « subscription » pour l’envoi des e-mails.

Merci @kimamila !

Je pensais avoir bien regardé tout le fichier elasticsearch.yml mais je ne cherchais pas le mot « salt ».
Donc pour cette partie c’est ok, j’ai bien le pod qui tourne sur mon identité.

Je suis preneur de ta config nginx pour ce qui est du forçage en HTTP/1.1.
En ce moment dans les logs de cesium+, j’ai régulièrement des lignes du style :

Refused GET request to [/ws/event/user/Bf9… (avec ma clé).

Ca le fait quand je me connecte avec cesium sur mon pod.
Tu penses que ça vient de cette config nginx ?

Merci encore.

Oui, clairement. Je t’envoie ça dans l’après-midi.

As tu également un nœud Duniter qui tourne ? Si non, quel nœud Duniter utilises tu ?

J’ai ajouté ces lignes à la doc d’installation :

Error Refused GET request to [/ws/event/user/…

  • Message:

    Refused GET request to [/ws/event/user/<pubkey>…
    
  • Cause:

    Cesium try to open a WebSocket on your pod throw HTTP v1.0, and not throw HTTP v1.1.

  • Solution:

    Configure your web server to force HTTP 1.1 connection.

    On a Nginx server:

    • Edit the web site configuration (usually at /etc/nginx/site-available/<site-name>);
    • Add this lines:
      server {
    
          server_name pod.domain.org;
    
          (...)
    
          location /ws/ {
              # Replace by your Pod local address:
              proxy_pass http://127.0.0.1:9200;
    
              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;
              proxy_read_timeout 86400s;
              proxy_send_timeout 86400s;
          }
    }
    
    • Restart Nginx service;

Ah oui avec cette config Nginx je n’ai plus ces messages d’erreur et l’utilisation de mon pod sur cesium est beaucoup plus fluide !
Merci.
J’ai aussi un noeud duniter sur g1.mithril.re mais je n’arrive pas à voir la mention Cs+ sur mon noeud dans la page réseau de Cesium comme c’est le cas pour le tiens par exemple.


Il faut aussi que je regarde cette config de subscription également.
Merci pour ton aide.

Pour cela, il faut que tu déclare les endpoints Cesium+ dans ta config Duniter, afin qu’il les envoi sur le réseau Duniter :

duniter --addep "ES_CORE_API [ipv4] [ipv6] [dns] [port]"
duniter --addep "ES_USER_API [ipv4] [ipv6] [dns] [port]"
duniter --addep "ES_SUBSCRIPTION_API [ipv4] [ipv6] [dns] [port]"

(tu n’es pas obligé de mettre ipv4 et ipv6.

Ensuite, tu dois redémarrer ton noeud duniter, et vérifier sa fiche de pair : /network/peering.

Voir la mienne si besoin : https://g1.duniter.fr/network/peering

Bon pour l’instant je galère pour la liaison duniter <> ES.
Je rajoute cette configuration sur mon noeud duniter :

duniter --addep "ES_CORE_API g1.data.mithril.re 443"
duniter --addep "ES_USER_API g1.data.mithril.re 443"
duniter --addep "ES_SUBSCRIPTION_API g1.data.mithril.re 443"

Je redémarre le service mais je ne le vois pas apparaître dans la fiche de pair.

Je n’ai pas configuré la subscription sur ES, c’est peut-être à cause de ça.
J’essaie petit à petit…

C’est un problème Duniter, et non Cesium+, du coup.
Ta fiche de pair Duniter n’est effectivement pas à jour.

Peux tu ajouter l’option config, pour qu’elle soit sauvegarder (d’après duniter --help):

duniter config --addep "ES_CORE_API g1.data.mithril.re 443"
duniter config --addep "ES_USER_API g1.data.mithril.re 443"
duniter config --addep "ES_SUBSCRIPTION_API g1.data.mithril.re 443"

Puis redémarrer duniter

1 J'aime

C’est ça tu as raison, ça fonctionne bien maintenant !
Merci @kimamila !

Bravo à toi :

La Cesium+ Pod Team à augmenter nettement !

2 J'aimes

En revanche il faut que tu penses à mettre à jour en v1.6.4.
Je vois que tu es de la Réunion en plus : vous allez donc pouvoir utiliser ce noeud par défaut, depuis l’île.
(une pensée pour @Moul :slight_smile: )

1 J'aime

Ok je vais faire ça.
Je n’ai pas trouvé de doc sur la bonne façon de faire une mise à jour.
Je décompresse mon tar.gz de la 1.6.4 dans le dossier de l’ancienne version ?

Oui c’est ma motivation première de pouvoir fournir un noeuds duniter et cesium+ sur l’île. Ca accélère pas mal nos clients cesium…
Le seul truc qui reste assez lent c’est l’affichage de la carte openstreetmap sur cesium et comme elle n’est pas centrée sur la Réunion, ça nous prends du temps d’avoir cette info.