Installation de Ğchange-pod

J’ai installé Ğchange-pod selon la doc, mais il y a un problème avec Java :

$ ./elasticsearch
Unrecognized VM option 'UseParNewGC'
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

J’ai installé le paquet openjdk-11-jre sur Debian Buster. Il semblerait que l’option UseParNewGC ait été supprimée dans openjdk 10, or le 9 a été supprimé des dépôts Debian.

@kimamila est-il possible de corriger ça ?

Sinon j’avais peur au début, mais en fait c’est très simple, pour l’instant. :slight_smile:

il faut enlever l option

1 J'aime

Ah merci, ça marche. J’ai commenté la ligne avec cette option dans bin/elasticsearch.in.sh. Je pensais que c’était une option de compilation.

Là il prend beaucoup de CPU et de disque dur, apparemment le nœud officiel est arrêté donc il ne doit pas pouvoir se synchroniser.

Je le relance de suite… (pb de certificat SSL…)

1 J'aime

Mon nœud :
http://txmn.tk:9200
https://txmn.tk:9240

D’ailleurs, dans les paramètres de Ğchange, le nœud Ğchange est appelé « nœud Duniter »…

C’est qu’en fait gchange utilise des accès à BMA (pour les paramètres de BC, le montant du DU, etc.)
L’API spécifique à gchange sont isole, dans le code, et utilise le noeud présent ans les options avancé.

Mais… j’ai ajouté progressivement au Pod Gchange tout ce qu’il fallait de BMA, pour maintenant pouvoir accéder uniquement à un pod ghange.
Il me reste donc à fusionner, dans les paramètres, le deux champs « noeud Duniter » et « noeud Gchange ». C’est sur ma liste de trucs à faire. Mais comme elle est longue… :slight_smile:

J’ai ajouté ce problème et son contournement dans la doc : https://github.com/duniter-gchange/gchange-pod/blob/master/src/site/markdown/install.md#troubleshooting

@tuxmain et @Frederic_Renault pourrez vous aider ceux qui veulent monter un pod ? Par exemple ici : https://forum.monnaie-libre.fr/t/gchange-acces-technique-api-aux-annonces/12949/15?u=kimamila
Merci !

1 J'aime

Dans Ğchange, les requêtes websocket vers mon nœud (txmn.tk:9200) font une erreur 400. Pourtant je n’ai pas de reverse-proxy qui pourrait filtrer ça, j’ai mis 0.0.0.0 comme adresse d’écoute. Il y a un reverse-proxy (stunnel4) pour https sur le port 9240.

Je crois qu’il faut forcer ton nginx a passer en http 1.1, comme pour les ws de Duniter.

Ça marche !

Il n’a pas toutes les annonces (par exemple, la seule annonce que j’ai publiée et qu’il a date de 10 mois, alors qu’il y en a des plus récentes). Ça se synchronise tout seul au cours du temps ou pas ? Il faut peut-être le redémarrer pour qu’il se resynchronise, maintenant que la config réseau fonctionne ?

Config Apache
<VirtualHost *:9200 [::]:9200>
    ServerName txmn.tk
    ServerAdmin tuxmain@txmn.tk
    Protocols h2 http/1.1
    
    RewriteEngine On
    RewriteCond %{HTTP:Upgrade} websocket [NC]
    RewriteRule /(.*) ws://127.0.0.1:9199/$1 [P,L]
    
    ProxyPreserveHost On
    ProxyRequests Off
    ProxyTimeout 600
    
    ProxyPass /ws/ ws://127.0.0.1:9199
    <Location />
        ProxyPass http://127.0.0.1:9199/
    </Location>
    
    ErrorLog ${APACHE_LOG_DIR}/gchangepod.error.log
    CustomLog ${APACHE_LOG_DIR}/gchangepod.access.log common env=!dontlog
</VirtualHost>

<IfModule mod_ssl.c>
    <VirtualHost *:9240 [::]:9240>
        ServerName txmn.tk
        ServerAdmin tuxmain@txmn.tk
        Protocols h2 http/1.1
        
        SSLEngine on
        SSLCertificateFile /etc/letsencrypt/live/txmn.tk/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/txmn.tk/privkey.pem
        
        RewriteEngine On
        RewriteCond %{HTTP:Upgrade} websocket [NC]
        RewriteRule /(.*) ws://127.0.0.1:9199/$1 [P,L]
        
        ProxyPreserveHost On
        ProxyRequests Off
        ProxyTimeout 600
        
        ProxyPass /ws/ ws://127.0.0.1:9199
        <Location />
            ProxyPass http://127.0.0.1:9199/
        </Location>
        
        ErrorLog ${APACHE_LOG_DIR}/gchangepod.error.log
        CustomLog ${APACHE_LOG_DIR}/gchangepod.access.log common env=!dontlog
    </VirtualHost>
</IfModule>

Ne pas oublier d’activer les modules :

sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod proxy_wstunnel

Tu peux tenter oui, un redémarrage.
Voir si ça ne marche pas, supprimer dans data/ puis relancer.