Skip to content

NXT-Technologies-INC/Active-NXTreme-Dashboard

 
 

Repository files navigation

NXTreme dashboard

Requirements

Lite mode:

Node.js >= 8.0 (https://nodejs.org/en/download/)

NPM >= 6.0 (NPM is distributed with Node.js. For more infos see: https://www.npmjs.com/get-npm)

Deepstream >= 3.1 (https://github.com/deepstreamIO/deepstream.io/releases)

Redis >= 3.2 (https://redis.io/download)

Cluster mode additions:

Cassandra >= 3.10 (https://cassandra.apache.org/download/)

Kafka >= 0.11 (https://kafka.apache.org/downloads)

Shell options

      General
        --help, -h              Show help
        --version, -V           Show version

      Logging
        --verbose, -v           Output detailed information
        --debug, -d             Output debug values
        --logs2json             Output logs in JSON format

      Application
        --host, -H              App hostname
        --port, -p              App port (default: 3000)
        --app, -a               App name (default: server). Run specific app as separate service (Available: server|consumer|api|configurator|kohera).
                                Recommended for cluster environments. If --lite is specified, this option is ignored.

        --lite                  Run in lite mode (default: off). In a single instance will be started all necessary services (server, consumer, api).
                                DB will be persisted in memory, no Kafka needed for queuing and no Redis for caching.
                                Only Deepstream is needed for real time data reporting in the front end application.
        --lite-api-port         Lite mode API port (default: 3030)
        --lite-db-limit         Number of blocks to persist in memory (default: 3000).
        --lite-db-persist       Persist DB in Redis. This option is available only in lite mode and consistent with --lite-db-limit (default: off).

      Consumer
        --topic, -t             Topic name to consume

      Kohera
        --interval              Block interval to be checked for consistency. Value format: "start:end"
                                The missing blocks found are fetched and sent to the consumer.
                                If not specified the service will continuously check the consistency.
        --check-only            Only check the missing blocks without fetching the data.

      Metrics
        --metrics-port          Http port for metrics (default: 8888)

Docker

Lite mode

In lite mode the total number of blocks persisted is by default 3000. See --lite-db-limit option if custom value is needed.

There are 2 ways to start the server in lite mode.

  • Memory persistence - in case of a crash/restart the gathered data is lost.
  • Redis persistence - in case of a crash/resstart the gathered data is persisted into Redis.

Lite mode will use the default settings and some 3rd party dependent services like: Deepstream, Dashboard or Redis depending on the persistence needs. For more details on the default settings see .env.sample. And because of the dependent services, docker-compose is used, to include them.

No persistence:

cd docker/lite-mode/no-persistence
docker-compose up

With persistence:

cd docker/lite-mode/with-persistence
docker-compose up

Cluster mode

In cluster mode a single service will be started depending the configs specified in the .env file for via CLI flags. See .env.sample file or shell options.

docker build . -t <serviceName>
docker run -d <serviceName>

or

docker run -d alethio/ethstats-network-server:latest

License

MIT ©

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 98.6%
  • Other 1.4%