#!/bin/bash function boolean () { echo "$1" | sed -E 's/^(true|yes|1)$/true/i' } function ternary () { if [ $(boolean "$1") = true ]; then echo "$2" else echo "$3" fi } DUNITER_NODE_NAME="${DUNITER_NODE_NAME:-$DUNITER_INSTANCE_NAME}" if [ -n "$DUNITER_NODE_NAME" ]; then set -- "$@" --name "$DUNITER_NODE_NAME" fi _DUNITER_KEY_FILE=/var/lib/duniter/node.key set -- "$@" --node-key-file "$_DUNITER_KEY_FILE" if [ ! -f "$_DUNITER_KEY_FILE" ]; then echo "Generating node key file '$_DUNITER_KEY_FILE'..." duniter key generate-node-key --file "$_DUNITER_KEY_FILE" else echo "Node key file '$_DUNITER_KEY_FILE' exists." fi _DUNITER_PEER_ID="$(duniter key inspect-node-key --file "$_DUNITER_KEY_FILE")" echo "Node peer ID is '$_DUNITER_PEER_ID'." if [ -n "$DUNITER_PUBLIC_ADDR" ]; then set -- "$@" --public-addr "$DUNITER_PUBLIC_ADDR" fi if [ -n "$DUNITER_LISTEN_ADDR" ]; then set -- "$@" --listen-addr "$DUNITER_LISTEN_ADDR" fi DUNITER_RPC_CORS="${DUNITER_RPC_CORS:-all}" set -- "$@" --rpc-cors "$DUNITER_RPC_CORS" DUNITER_VALIDATOR=$(boolean "${DUNITER_VALIDATOR:-false}") if [ "$DUNITER_VALIDATOR" = true ]; then set -- "$@" --rpc-methods Unsafe --validator fi DUNITER_DISABLE_PROMETHEUS=$(boolean "${DUNITER_DISABLE_PROMETHEUS:-false}") if [ "$DUNITER_DISABLE_PROMETHEUS" = true ]; then set -- "$@" --no-prometheus fi DUNITER_DISABLE_TELEMETRY=$(boolean "${DUNITER_DISABLE_TELEMETRY:-false}") if [ "$DUNITER_DISABLE_TELEMETRY" = true ]; then set -- "$@" --no-telemetry fi DUNITER_CHAIN_NAME="${DUNITER_CHAIN_NAME:-dev}" case "$DUNITER_CHAIN_NAME" in dev) chain=(--dev) ;; *) chain=(--chain "$DUNITER_CHAIN_NAME") ;; esac set -- "$@" \ "${chain[@]}" \ -d /var/lib/duniter --unsafe-rpc-external --unsafe-ws-external echo "Starting duniter with parameters:" "$@" exec duniter "$@"