Core Configuration
INX-Dashboard uses a JSON standard format as a config file. If you are unsure about JSON syntax, you can find more information in the official JSON specs.
You can change the path of the config file by using the -c
or --config
argument while executing inx-dashboard
executable.
For example:
inx-dashboard -c config_defaults.json
You can always get the most up-to-date description of the config parameters by running:
inx-dashboard -h --full
1. Application
Name | Description | Type | Default value |
---|---|---|---|
checkForUpdates | Whether to check for updates of the application or not | boolean | true |
shutdown | Configuration for shutdown | object |
Shutdown
Name | Description | Type | Default value |
---|---|---|---|
stopGracePeriod | The maximum time to wait for background processes to finish during shutdown before terminating the app | string | "5m" |
log | Configuration for log | object |
Log
Name | Description | Type | Default value |
---|---|---|---|
enabled | Whether to store self-shutdown events to a log file | boolean | true |
filePath | The file path to the self-shutdown log | string | "shutdown.log" |
Example:
{
"app": {
"checkForUpdates": true,
"shutdown": {
"stopGracePeriod": "5m",
"log": {
"enabled": true,
"filePath": "shutdown.log"
}
}
}
}
2. Logger
Name | Description | Type | Default value |
---|---|---|---|
level | The minimum enabled logging level | string | "info" |
disableCaller | Stops annotating logs with the calling function's file name and line number | boolean | true |
disableStacktrace | Disables automatic stacktrace capturing | boolean | false |
stacktraceLevel | The level stacktraces are captured and above | string | "panic" |
encoding | The logger's encoding (options: "json", "console") | string | "console" |
encodingConfig | Configuration for encodingConfig | object | |
outputPaths | A list of URLs, file paths or stdout/stderr to write logging output to | array | stdout |
disableEvents | Prevents log messages from being raced as events | boolean | true |
EncodingConfig
Name | Description | Type | Default value |
---|---|---|---|
timeEncoder | Sets the logger's timestamp encoding. (options: "nanos", "millis", "iso8601", "rfc3339" and "rfc3339nano") | string | "rfc3339" |
Example:
{
"logger": {
"level": "info",
"disableCaller": true,
"disableStacktrace": false,
"stacktraceLevel": "panic",
"encoding": "console",
"encodingConfig": {
"timeEncoder": "rfc3339"
},
"outputPaths": ["stdout"],
"disableEvents": true
}
}
3. INX
Name | Description | Type | Default value |
---|---|---|---|
address | The INX address to which to connect to | string | "localhost:9029" |
maxConnectionAttempts | The amount of times the connection to INX will be attempted before it fails (1 attempt per second) | uint | 30 |
targetNetworkName | The network name on which the node should operate on (optional) | string | "" |
Example:
{
"inx": {
"address": "localhost:9029",
"maxConnectionAttempts": 30,
"targetNetworkName": ""
}
}
4. Dashboard
Name | Description | Type | Default value |
---|---|---|---|
bindAddress | The bind address on which the dashboard can be accessed from | string | "localhost:8081" |
developerMode | Whether to run the dashboard in dev mode | boolean | false |
developerModeURL | The URL to use for dev mode | string | "http://127.0.0.1:9090" |
auth | Configuration for auth | object | |
debugRequestLoggerEnabled | Whether the debug logging for requests should be enabled | boolean | false |
Auth
Name | Description | Type | Default value |
---|---|---|---|
sessionTimeout | How long the auth session should last before expiring | string | "72h" |
username | The auth username (max 25 chars) | string | "admin" |
passwordHash | The auth password+salt as a scrypt hash | string | "0000000000000000000000000000000000000000000000000000000000000000" |
passwordSalt | The auth salt used for hashing the password | string | "0000000000000000000000000000000000000000000000000000000000000000" |
identityFilePath | The path to the identity file used for JWT | string | "identity.key" |
identityPrivateKey | Private key used to sign the JWT tokens (optional) | string | "" |
rateLimit | Configuration for rateLimit | object |
RateLimit
Name | Description | Type | Default value |
---|---|---|---|
enabled | Whether the rate limiting should be enabled | boolean | true |
period | The period for rate limiting | string | "1m" |
maxRequests | The maximum number of requests per period | int | 20 |
maxBurst | Additional requests allowed in the burst period | int | 30 |
Example:
{
"dashboard": {
"bindAddress": "localhost:8081",
"developerMode": false,
"developerModeURL": "http://127.0.0.1:9090",
"auth": {
"sessionTimeout": "72h",
"username": "admin",
"passwordHash": "0000000000000000000000000000000000000000000000000000000000000000",
"passwordSalt": "0000000000000000000000000000000000000000000000000000000000000000",
"identityFilePath": "identity.key",
"identityPrivateKey": "",
"rateLimit": {
"enabled": true,
"period": "1m",
"maxRequests": 20,
"maxBurst": 30
}
},
"debugRequestLoggerEnabled": false
}
}
5. Profiling
Name | Description | Type | Default value |
---|---|---|---|
enabled | Whether the profiling plugin is enabled | boolean | false |
bindAddress | The bind address on which the profiler listens on | string | "localhost:6060" |
Example:
{
"profiling": {
"enabled": false,
"bindAddress": "localhost:6060"
}
}
6. Prometheus
Name | Description | Type | Default value |
---|---|---|---|
enabled | Whether the prometheus plugin is enabled | boolean | false |
bindAddress | The bind address on which the Prometheus HTTP server listens on | string | "localhost:9312" |
goMetrics | Whether to include go metrics | boolean | false |
processMetrics | Whether to include process metrics | boolean | false |
promhttpMetrics | Whether to include promhttp metrics | boolean | false |
Example:
{
"prometheus": {
"enabled": false,
"bindAddress": "localhost:9312",
"goMetrics": false,
"processMetrics": false,
"promhttpMetrics": false
}
}