Install dependencies:
npm install
Create config.json
from config.example.json
:
cp config.example.json config.json
Start master:
npm run start
Note: Mater requires data cluster to be running. See: https://github.com/noia-network/noia-data-hog and dataCluster.host
config.json
option.
After npm install
node ./node_modules/geoip-lite/scripts/updatedb.js
key | value | Description |
---|---|---|
api.port | number | API port address. |
api.authToken | string | API secret auth token. API endpoint: /nodes?authToken=<api.authToken>. |
proxyControlAddress | string | See: https://github.com/noia-network/webrtc-direct/tree/master/api-proxy. |
master.domain | string | Master domain name (ex: "master-domain.com"). |
master.host | string | Master host address (ex: "0.0.0.0"). |
master.id | string | Master id. |
master.ip | string | Master public IP. |
master.isPrivate | boolean | Private masters accept only internal nodes connetions. |
master.location.countryCode | string | Master location country code (ex: "GB"). |
master.version | string | Master version. |
node.version | string | Pattern to determine if connecting node version is acceptable (ex: "1.") |
content.encryption.isEnabled | boolean | Indicates if encryption is enabled. |
content.encryption.secretSalt | boolean | Secret encryption salt. |
content.maxDownloadSize | string | Maximum cachable content size in bytes. |
system.usage.interval | number | System usage refresh interval |
system.usage.isEnabled | boolean | Indicates if system usage is displayed. |
dataCluster.host | string | Data cluster address (ex: "ws://data-cluster.master.com:port") |
dataCluster.queueIntervalMs | number | 100 |
dataCluster.checkNodeOnline | boolean | Additional check against multiple nodes connecting with same nodeId. |
dataCluster.bandwidthQueueIntervalMs | number | Internal reported node statistics pooling (ex: 60000) |
protocols.ws.api.isSecure | boolean | Indicates if SSL should be used. |
protocols.ws.api.port | number | API port number. |
protocols.ws.client.isSecure | boolean | Indicates if SSL should be used. |
protocols.ws.client.port | number | Client port number. |
protocols.ws.controller.isSecure | boolean | Indicates if SSL should be used. |
protocols.ws.controller.port | number | Controller port number. |
protocols.ws.node.isSecure | boolean | Indicates if SSL should be used. |
protocols.ws.node.port | number | Node port number. |
cloudflare.domain | string | Cloudflare domain. |
cloudflare.email | string | Cloudflare email. |
cloudflare.key | string | Cloudflare key. |
cloudflare.isEnabled | boolean | Is cloudflare enabled. |
database.dir | string | Master database directory (ex: "./data"). |
database.name | string | Master database name (ex: "master.db"). |
ssl | boolean | Indicates if SSL should be used. |
ssl.bundle | string | SSL bundle path. |
ssl.cert | string | SSL cert path. |
ssl.privateKey | string | SSL private key path. |
blockchain.mnemonic | string | Blockchain mnemonic. |
blockchain.providerUrl | string | Blockchain provider url. |
blockchain.jobPostInterval | number | Blockchain job posting interval. |
blockchain.rewardInterval | number | Blockchain reward interval. |
blockchain.rewardAmount | string | Blockchain reward amount. |
blockchain.isEnabled | boolean | Is blockchain enabled. |
caching.interval | number | Caching interval . |
caching.removeDelay | number | Caching removing delay. |
caching.returnedNodesCount | number | Nodes returned to SDK count. |
caching.whitelist | array<string> | Whitelisted domains. To whitelist all domains use ["*"]. |
caching.auto | boolean | Is auto caching enabled. |
caching.maxDownloads | number | Maximum concurrent downloads. |
caching.onlyToSucceededWebRtc | boolean | Indicates if WebRTC check should be performed. |
webrtc.checkSchedulerInterval | number | WebRTC check internal scheduling interval. |