Skip to content
Snippets Groups Projects
Select Git revision
  • f4bed52129b4643c4caa94f23cc36f4fc85124ab
  • master default protected
  • 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
  • tuxmain/anonymous-tx
  • debug/podman
  • hugo/195-doc
  • hugo/195-graphql-schema
  • gtest-1000-0.8.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
  • v0.4.1 protected
41 results

docker

user avatar
Gilles Filippini authored
It makes more sense to set the release LTO profile into the related
Cargo.toml section than into the Dockerfile only.

Using LTO 'thin' profile because according to the documentation it is
a good compromise with no or little performance loss.
59111f8f
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: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: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:latest -- key generate
$ docker run --rm duniter/duniter-v2s:latest -- --chain gdev ...