Skip to content
Snippets Groups Projects
Select Git revision
  • 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
40 results

docker

  • Clone with SSH
  • Clone with HTTPS
  • 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 ...