Skip to content
Snippets Groups Projects
Select Git revision
  • 7b2550bf35e788aa09c324ff581fbdb5aa84cfc5
  • master default protected
  • 313_ci_image
  • 311_gtest_fixes
  • set_UniversalDividendApi_in_RuntimeApiCollection
  • tuxmain/fix-change-owner-key
  • network/gtest-1000 protected
  • upgradable-multisig
  • runtime/gtest-1000
  • network/gdev-800 protected
  • cgeek/issue-297-cpu
  • gdev-800-tests
  • update-docker-compose-rpc-squid-names
  • fix-252
  • 1000i100-test
  • hugo/tmp-0.9.1
  • network/gdev-803 protected
  • hugo/endpoint-gossip
  • network/gdev-802 protected
  • hugo/distance-precompute
  • network/gdev-900 protected
  • gtest-1000-0.11.1 protected
  • gtest-1000-0.11.0 protected
  • gtest-1000 protected
  • gdev-900-0.10.1 protected
  • gdev-900-0.10.0 protected
  • gdev-900-0.9.2 protected
  • gdev-800-0.8.0 protected
  • gdev-900-0.9.1 protected
  • gdev-900-0.9.0 protected
  • gdev-803 protected
  • gdev-802 protected
  • runtime-801 protected
  • gdev-800 protected
  • runtime-800-bis protected
  • runtime-800 protected
  • runtime-800-backup protected
  • runtime-701 protected
  • runtime-700 protected
  • runtime-600 protected
  • runtime-500 protected
41 results

rpc.md

Blame
  • How to deploy a permanent rpc node on ĞDev network

    Publish a node

    Duniter part

    • Add this docker-compose template on your server: docker/compose/gdev-rpc.docker-compose.yml
    • Rename the file : mv gdev-mirror.docker-compose.yml docker-compose.yml
    • In the same folder, create a .env file that defime environment variables SERVER_DOMAIN:
    SERVER_DOMAIN=YOUR_DOMAIN
    • Do docker compose up -d to start your node

    Reverse-proxy part (with Nginx)

    In /etc/nginx/sites-enabled/gdev.YOUR_DOMAIN put (you can probably do simpler):

    server {
      server_name gdev.YOUR_DOMAIN.fr;
    
      listen 443 ssl http2;
      listen [::]:443 ssl http2;
      ssl_certificate /etc/nginx/ssl/YOUR_DOMAIN.cert;
      ssl_certificate_key /etc/nginx/ssl/YOUR_DOMAIN.key;
    
      root /nowhere;
    
      add_header X-Frame-Options SAMEORIGIN;
      add_header X-XSS-Protection "1; mode=block";
      proxy_redirect off;
      proxy_buffering off;
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Forwarded-Proto $scheme;
      proxy_set_header X-Forwarded-Port $server_port;
      proxy_read_timeout 90;
    
      location /http {
        proxy_pass http://localhost:9933;
        proxy_http_version 1.1;
      }
      location /ws {
        proxy_pass http://localhost:9944;
    
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_http_version 1.1;
    
        proxy_read_timeout 1200s;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $host;
      }
    }

    and replace YOUR_DOMAIN by your domain each time.

    Your node is now online as a rpc node. It's fully capable for wallet use.

    To go further, read How to become a (black)smith

    Upgrade your node with minimal interruption

    1. Modify docker image tag on your compose file
    2. Run docker compose pull, this will pull the new image.
    3. Run docker compose up -d --remove-orphans, this will recreate the container
    4. Verify that your node restarted well docker compose logs duniter-rpc
    5. Remove the old image docker images rmi duniter/duniter-v2s:OLD_TAG