diff --git a/docker/compose-examples/live-template.docker-compose.yml b/docker/compose-examples/live-template.docker-compose.yml
new file mode 100644
index 0000000000000000000000000000000000000000..7592a235b469ed06ff076c17e38382b1f29d6815
--- /dev/null
+++ b/docker/compose-examples/live-template.docker-compose.yml
@@ -0,0 +1,105 @@
+version: "3.4"
+
+services:
+  db:
+    image: postgres:12
+    restart: always
+    volumes:
+      - /var/lib/postgresql/data
+    environment:
+      POSTGRES_USER: postgres
+      POSTGRES_PASSWORD: postgres
+
+  duniter-rpc:
+    image: duniter/duniter-v2s:debug-sha-acaf89a4
+    restart: unless-stopped
+    ports:
+      - "9944:9944"
+      - "30333:30333"
+    volumes:
+      - ./duniter-rpc/:/var/lib/duniter/
+    environment:
+      - DUNITER_CHAIN_NAME=/var/lib/duniter/genesis-raw.json
+    command:
+      - "--bootnodes"
+      - "/dns/duniter-validator/tcp/30333/p2p/VALIDATOR_NODE_KEY"
+      - "--node-key-file"
+      - "/var/lib/duniter/node-key"
+      - "--unsafe-rpc-external"
+      - "--rpc-cors"
+      - "all"
+
+  duniter-validator:
+    image: duniter/duniter-v2s:debug-sha-acaf89a4
+    restart: unless-stopped
+    ports:
+      - "127.0.0.1:9945:9944"
+      - "30334:30333"
+    volumes:
+      - ./duniter-validator/:/var/lib/duniter/
+    environment:
+      - DUNITER_CHAIN_NAME=/var/lib/duniter/genesis.json
+    command:
+      - "--bootnodes"
+      - "/dns/duniter-rpc/tcp/30333/p2p/RPC_NODE_KEY"
+      - "--node-key-file"
+      - "/var/lib/duniter/node-key"
+      - "--rpc-methods=Unsafe"
+      - "--validator"
+      - "--unsafe-rpc-external"
+      - "--rpc-cors"
+      - "all"
+
+  indexer:
+    image: subsquid/hydra-indexer:5
+    restart: unless-stopped
+    environment:
+      - WORKERS_NUMBER=1
+      - DB_NAME=indexer
+      - DB_HOST=db
+      - DB_USER=postgres
+      - DB_PASS=postgres
+      - DB_PORT=5432
+      - REDIS_URI=redis://redis:6379/0
+      - FORCE_HEIGHT=true
+      - BLOCK_HEIGHT=0 # starting block height
+      - WS_PROVIDER_ENDPOINT_URI=ws://duniter-rpc:9944/
+    depends_on:
+      - db
+      - redis
+    command: >
+      sh -c "yarn db:bootstrap && yarn start:prod"
+
+  indexer-gateway:
+    image: subsquid/hydra-indexer-gateway:5
+    restart: unless-stopped
+    depends_on:
+      - redis
+      - db
+      - indexer-status-service
+      - indexer
+    ports:
+      - "4010:8080"
+    environment:
+      - DEV_MODE=true
+      - DB_NAME=indexer
+      - DB_HOST=db
+      - DB_USER=postgres
+      - DB_PASS=postgres
+      - DB_PORT=5432
+      - HYDRA_INDEXER_STATUS_SERVICE=http://indexer-status-service:8081/status
+
+  indexer-status-service:
+    image: subsquid/hydra-indexer-status-service:5
+    restart: unless-stopped
+    depends_on:
+      - redis
+    environment:
+      REDIS_URI: redis://redis:6379/0
+      PORT: 8081
+
+  redis:
+    image: redis:6.0-alpine
+    restart: always
+    ports:
+      - "6379"
diff --git a/resources/gdev.json b/resources/gdev.json
new file mode 100644
index 0000000000000000000000000000000000000000..65e51d52a5a454fb01e190ec80c4d801a323b71d
--- /dev/null
+++ b/resources/gdev.json
@@ -0,0 +1,67 @@
+{
+  "first_ud": 1000,
+  "identities": {
+    "Elois1": {
+      "balance": 1000,
+      "certs": ["Elois2", "Elois3"],
+      "pubkey": "5H95G8bwuf4yyNNNa83hDhj7wpYaSRhZiGezZ9TDbyqNdAhY"
+    },
+    "Elois2": {
+      "balance": 1000,
+      "certs": ["Elois1", "Elois3"],
+      "pubkey": "5GFEEx7kqvP4QEPCAXkALeYCG7m8DiA5LQ4YzW62j7FytQyg"
+    },
+    "Elois3": {
+      "balance": 1000,
+      "certs": ["Elois1", "Elois2"],
+      "pubkey": "5HNFikZ2smaTvWSfxHBRXpPVkCVeiKs6oBjGBn95RCs1RPRB"
+    }
+  },
+  "parameters": {
+    "babe_epoch_duration": 30,
+    "cert_period": 15,
+    "cert_max_by_issuer": 10,
+    "cert_min_received_cert_to_issue_cert": 2,
+    "cert_renewable_period": 50,
+    "cert_validity_period": 100000,
+    "idty_confirm_period": 40,
+    "idty_creation_period": 50,
+    "idty_max_disabled_period": 1000,
+    "membership_period": 100000,
+    "membership_renewable_period": 50,
+    "pending_membership_period": 500,
+    "ud_creation_period": 10,
+    "ud_first_reeval": 0,
+    "ud_reeval_period": 50,
+    "ud_reeval_period_in_blocks": 500,
+    "smith_cert_period": 15,
+    "smith_cert_max_by_issuer": 8,
+    "smith_cert_min_received_cert_to_issue_cert": 2,
+    "smith_cert_renewable_period": 50,
+    "smith_cert_validity_period": 100000,
+    "smith_membership_period": 100000,
+    "smith_membership_renewable_period": 50,
+    "smith_pending_membership_period": 500,
+    "smiths_wot_first_cert_issuable_on": 20,
+    "smiths_wot_min_cert_for_membership": 2,
+    "wot_first_cert_issuable_on": 20,
+    "wot_min_cert_for_create_idty_right": 2,
+    "wot_min_cert_for_membership": 2
+  },
+  "smiths": {
+    "Elois1": {
+      "authority": true,
+      "certs": ["Elois2", "Elois3"],
+      "session_keys": "0x90ea1e9059fd30860fc14370b62a3675a720763913e0aa41fa01b268c33afd3b64c9301d94f7a043ac6714c8a6301541e56e833c1b13170c19f9785fa469407864c9301d94f7a043ac6714c8a6301541e56e833c1b13170c19f9785fa469407864c9301d94f7a043ac6714c8a6301541e56e833c1b13170c19f9785fa4694078"
+    },
+    "Elois2": {
+      "certs": ["Elois1", "Elois3"],
+      "session_keys": "0x1a1c5027d35e315efde9b9296a0ff80920a9d448a7d0480080d9773e4035ec85a270415a3a2f5392df3185bc9f3d2d7a3cb158f55ebdf6ccc42da8ab26d96f7ca270415a3a2f5392df3185bc9f3d2d7a3cb158f55ebdf6ccc42da8ab26d96f7ca270415a3a2f5392df3185bc9f3d2d7a3cb158f55ebdf6ccc42da8ab26d96f7c"
+    },
+    "Elois3": {
+      "certs": ["Elois1", "Elois2"],
+      "session_keys": "0xcde37cd0d59573465dacd587f0759c93a82e9f0a40ee8f547772446abe846b86f0badfddff9238d6f18ab5ef8fa5fdd3d5edd29a9f6b097416ffc87e2f774022f0badfddff9238d6f18ab5ef8fa5fdd3d5edd29a9f6b097416ffc87e2f774022f0badfddff9238d6f18ab5ef8fa5fdd3d5edd29a9f6b097416ffc87e2f774022"
+    }
+  },
+  "sudo_key": "5H95G8bwuf4yyNNNa83hDhj7wpYaSRhZiGezZ9TDbyqNdAhY"
+}
diff --git a/scripts/create-live-network.sh b/scripts/create-live-network.sh
new file mode 100755
index 0000000000000000000000000000000000000000..7345c540ccd1df4954124740d7fc090b84635e4c
--- /dev/null
+++ b/scripts/create-live-network.sh
@@ -0,0 +1,46 @@
+#!/usr/bin/env bash
+# This script is meant to be run on Unix/Linux based systems
+set -e
+
+# params
+VALIDATOR_SESSION_KEYS_SURI=$1
+GENESIS="${2:-resources/gdev.json}"
+CURRENCY="${3:-gdev}"
+WORK_DIR="${4:-tmp/$CURRENCY}"
+
+echo "CURRENCY=$CURRENCY"
+
+# constants
+DUNITER_BINARY="./target/debug/duniter"
+
+# Clean and (re-)create working forders
+rm -rf $WORK_DIR
+mkdir -p $WORK_DIR/duniter-rpc
+mkdir -p $WORK_DIR/duniter-validator
+
+# build client in debug mode
+#cargo clean -p duniter && cargo build
+
+# generate raw_chain spec
+export DUNITER_GENESIS_CONFIG=$GENESIS
+$DUNITER_BINARY build-spec --chain $CURRENCY-gl --raw > $WORK_DIR/duniter-rpc/genesis-raw.json
+cp $WORK_DIR/duniter-rpc/genesis-raw.json $WORK_DIR/duniter-validator/genesis-raw.json
+
+# generate rpc node key
+RPC_NODE_KEY=$($DUNITER_BINARY key generate-node-key --file $WORK_DIR/duniter-rpc/node-key 2>&1)
+
+# generate validator node key
+VALIDATOR_NODE_KEY=$($DUNITER_BINARY key generate-node-key --file $WORK_DIR/duniter-validator/node-key 2>&1)
+
+# generate docker-compose file
+cp docker/compose-examples/live-template.docker-compose.yml $WORK_DIR/docker-compose.yml
+sed -i -e "s/RPC_NODE_KEY/$RPC_NODE_KEY/g" $WORK_DIR/docker-compose.yml
+sed -i -e "s/VALIDATOR_NODE_KEY/$VALIDATOR_NODE_KEY/g" $WORK_DIR/docker-compose.yml
+
+# Inject validator session keys in validator node keystore
+$DUNITER_BINARY key generate-session-keys --chain "${CURRENCY}_local" --suri "$VALIDATOR_SESSION_KEYS_SURI" -d $WORK_DIR/duniter-validator
+mv $WORK_DIR/duniter-validator/chains/${CURRENCY}_local $WORK_DIR/duniter-validator/chains/$CURRENCY
+
+# Launch the network
+cd $WORK_DIR
+#docker-compose up -d