Skip to content
Snippets Groups Projects
Select Git revision
  • 4358acc74337b4e08e3b1729748d53d88a79d715
  • master default protected
  • 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
  • tuxmain/anonymous-tx
  • debug/podman
  • hugo/195-doc
  • hugo/195-graphql-schema
  • hugo-tmp-dockerfile-cache
  • release/client-800.2 protected
  • release/runtime-800 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
  • v0.4.1 protected
  • runtime-401 protected
  • v0.4.0 protected
41 results

docker

user avatar
bgallois authored
1b44330d
History

duniter/duniter-v2s

Duniter is the software that supports the Ğ1 libre-currency blockchain.

Duniter v2s is a complete rewrite of Duniter based on the Substrate / Polkadot framework. This is alpha state work in progress.

Minimal docker-compose file for an mirror node

version: "3.5"

services:
  duniter-mirror:
    image: duniter/duniter-v2s-gdev:latest
    restart: unless-stopped
    ports:
      # Prometheus endpoint
      - 9615:9615
      # rpc via http
      - 9933:9933
      # rpc via websocket
      - 9944:9944
      # p2p
      - 30333:30333
    volumes:
      - data-mirror:/var/lib/duniter/
    environment:
      - DUNITER_CHAIN_NAME=gdev
      - DUNITER_NODE_NAME=<my-node-name>

volumes:
  data-mirror:

Minimal docker-compose file for a validator node

version: "3.5"

services:
  duniter-validator:
    image: duniter/duniter-v2s-gdev:latest
    restart: unless-stopped
    ports:
      # Prometheus endpoint
      - 9615:9615
      # p2p
      - 30333:30333
    volumes:
      - data-validator:/var/lib/duniter/
    environment:
      - DUNITER_CHAIN_NAME=gdev
      - DUNITER_VALIDATOR=true
      - DUNITER_NODE_NAME=<my-validator-node-name>

volumes:
  data-validator:

Environment variables

Name Description Default
DUNITER_NODE_NAME The node name. This name will appear on the Substrate telemetry server when telemetry is enabled. Random name
DUNITER_CHAIN_NAME The currency to process. "gdev" uses the embeded chainspec. A path allows to use a local json raw chainspec. dev (development mode)
DUNITER_PUBLIC_ADDR The libp2p public address base. See libp2p documentation. This variable is useful when the node is behind a reverse proxy with its ports not directly exposed.
Note: the p2p/<peer_id> part of the address shouldn't be set in this variable. It is automatically added by Duniter.
duniter-v2s guesses one from the node's IPv4 address.
DUNITER_LISTEN_ADDR The libp2p listen address. See libp2p documentation. This variable is useful when running a validator node behind a reverse proxy, to force the P2P end point in websocket mode with:
DUNITER_LISTEN_ADDR=/ip4/0.0.0.0/tcp/30333/ws
Non validator node: /ip4/0.0.0.0/tcp/30333/ws
Validator node: /ip4/0.0.0.0/tcp/30333
DUNITER_RPC_CORS Value of the polkadot --rpc-cors option. all
DUNITER_VALIDATOR Boolean (true / false) to run the node in validator mode. Configure the polkadot options --validator --rpc-methods Unsafe. false
DUNITER_DISABLE_PROMETHEUS Boolean to disable the Prometheus endpoint on port 9615. false
DUNITER_DISABLE_TELEMETRY Boolean to disable connecting to the Substrate telemetry server. false
DUNITER_PRUNING_PROFILE * default
* archive: keep all blocks and state blocks
* light: keep only last 256 state blocks and last 14400 blocks (one day duration)
default

Other Duniter options

You can pass any other option to Duniter using the command docker-compose element:

    command:
      # workaround for substrate issue #12073
      # https://github.com/paritytech/substrate/issues/12073
      - "--wasm-execution=interpreted-i-know-what-i-do"

Start Duniter

Once you are happy with your docker-compose.yml file, run in the same folder:

docker compose up -d

Running duniter subcommands or custom set of options

To run duniter from the command line without the default configuration detailed in the "Environment variables" section use -- as the first argument. For example:

$ docker run --rm duniter/duniter-v2s-gdev:latest -- key generate
$ docker run --rm duniter/duniter-v2s-gdev:latest -- --chain gdev ...