Skip to main content

ASIC Hub configuration

ASIC Hub configuration file.

Nazar avatar
Written by Nazar
Updated over a year ago

This article describes ASIC Hub configuration file syntax and options.

Default paths for ASIC Hub configuration are:

  • Linux - /etc/asic-hub/config.toml

  • Windows - C:\Program Files\Hiveon\ASIC Hub\config.toml

Configuration example

# ASIC Hub Configuration
#
# See https://hiveos.farm/ASIC-Hub/ for more information.
## HiveOS API URL (optional)
#APIUrl = "http://api.hiveos.farm"# HiveOS Dashboard URL (optional)
#HiveWebUrl = "https://the.hiveos.farm"# Application Update Server URL
#UpdateServer = "https://download.hiveos.farm/hub"# Max OS threads count (default is CPU cores count)
#MaxThreads=8# Directory for temporary files (download cache, etc)
#
# Default is OS temp directory
#TempDir = "/tmp"# ASIC Hub web server configuration.
[HTTP]
# HTTP server listen address
Listen = ":8800"# Static files directory for web UI
StaticDir = "/opt/asic-hub/public"# HTTP response write timeout (optional)
#WriteTimeout = "40m"# HTTP request read timeout (optional)
#ReadTimeout = "1m"# Additional HTTP API transport configuration
[API]
# If non-zero, controls the maximum idle (keep-alive) connections to keep per-host.
# If zero, MaxThreads value is used.
#MaxIdleConnsPerHost = 10[LocalState]
# Path for SQLite database with appdata
DB = "/var/lib/asic-hub/data.db"# Database backups directory
BackupsDir = "/var/lib/asic-hub/backups"[ARP]
# Enable ARP scanner.
#
# ARP Scanner scans local network and updates matching between IP and MAC addresses.
# This allows to keep actual IP address of ASIC even if original IP address was changed.
#
# Set to "false" if you use static IP addresses or see a high load on network router.
EnableScanner = true# Network scan interval.
#
# Scanner will send ARP request to whole network in specified interval.
#ScanInterval = "30s"# Whole log block is optional.
# "log" block removal disables file logging.
[Log]# Controls debug logging
#Debug = true# Log file path
Path = "/var/log/asic-hub/hub.json"# Max size for log file before roration
MaxFileSize = 12# Max rotated log files count
MaxBackups = 5# Number of last bytes from log to be reported
# to Hive with "miner log" command (default: 1 MiB).
#
# Be careful with this value, Hive UI may freeze if log is too big.
#MaxTailBufferSize = 1048576# Max age in days for log file before rotation
MaxAge = 7[Monitoring]
# Max devices count per thread for monitoring (optional).
# ASIC Hub splits monitored ASICs into chunks and monitors
# each chunk in a separate thread.
#
# MaxGroupSize controls devices count monitored by thread.
# This value depends on your CPU cores/threads count and
# monitored devices amount.
#
# We recommend to increase this value on big farms, by splitting
# devices count by CPU core/thread count (Ndev / Nthreads) for best results.
MaxGroupSize = 30# Device stats collection interval (optional).
# The default value is OK for small farms, but should be increased
# for big amount of connected ASICS (>500).
#StatsCollectInterval = "10s"# ASIC stats submit interval (optional).
# We don't recommend specifing values higher than 1m, or you will
# notice a lot of "device offline" reports in your farm dashboard.
#StatsSendInterval="15s"# IP address probe timeout for scan (optional).
# Increase if you don't see your asics during scan or
# see any "i/o timeout" errors during scan process.
#ProbeTimeout = "5s"# ASIC API request timeout (optional).
# If ASIC doesn't respond in specified time, ASIC Hub will consider it as offline.
# Increase the value if you see a lot of "i/o timeout" errors although device is online.
ConnectTimeout = "10s"# Ignore mirrors list from server hello response and always use host from config file.
#IgnoreMirrorsList=false# Enable bulk stats send. Experimental and not fully supported by API.
#EnableBulkStats=false# Interval after all items in stats queue will be sent
# to the server even if queue is not filled yet.
#
# Works only with EnableBulkStats=true.
#BufferFillTimeout="15s"# Size of a stats queue to be sent to the server.
# Hub collects stats into a queue, and after queue is filled - sends to the server.
#
# Works only with EnableBulkStats=true.
#QueueBufferSize=100# ASIC Hub service heartbeat send interval (optional)
#HubHeartbeatInterval="10s"

Updating configuration

To update configuration, modify a configuration file and restart ASIC Hub to apply changes.

  • Linux - sudo systemctl restart asic-hub

  • Windows - net stop asic-hub && net start asic-hub (as Administrator)

Configuration description

Property

Type

Description

Defaults

APIUrl

String

Hive OS API Address. Can be changed to other API mirror like http://amster.hiveos.farm

http://api.hiveos.farm

UpdateServer

String

ASIC Hub update server URL. Can be changed to other mirror.

https://download.hiveos.farm/hub

MaxThreads

Number

CPU threads count to use by ASIC Hub.

All CPU threads

TempDir

String

Path to temporary directory to store ASIC Hub temporary files

HTTP

[HTTP] block contains settings for ASIC Hub HTTP server that server web interface.

Property

Type

Description

Defaults

Listen

String

Listen address for HTTP server

:8800

StaticDir

String

Path to web ui assets

WriteTimeout

String

Response write timeout

40m

ReadTimeout

String

HTTP request read timeout

1m

LocalState

LocalState Block contains ASIC Hub data storage settings.

Property

Type

Description

Defaults

BackupsDir

String

Database backups directory.

DB

String

Path to ASIC Hub database file.

data.db

ARP

[ARP] block controls ARP scanner.

ARP scanner scans local network for network devices and detects IP address changes using ASIC MAC address. We recommend to turn ARP scanner off if all ASICs in network use static IP addresses.

Property

Type

Description

Defaults

EnableScanner

Boolean

Enable ARP scanner

true for Linux, false for Windows

ScanInterval

String

Interval between ARP requests

30s

Log

[Log] block controls logging.

Property

Type

Description

Defaults

Debug

Boolean

Enable debug log (for troubleshooting purposes)

false

Path

String

Path to log file

MaxFileSize

Number

Max log file size in MiB before rotation

MaxBackups

Number

Max log file backups

MaxAge

Number

Max log file age in days before rotation

API

[API]Additional HTTP API transport configuration

Property

Type

Description

Defaults

MaxIdleConnsPerHost

String

Maximum connections from host. If value is 0, param MaxThreads is used instead.

100

Monitoring

[Monitoring] block controls device monitoring.

Params ConnectTimeout and ProbeTimeout depends on response time of your ASICs. The MaxGroupSize param depends on your host machine hardware.

Property

Type

Description

Defaults

MaxGroupSize

Number

Max devices count per thread for monitoring

10

StatsCollectInterval

String

Interval of collecting device statistics (sec)

10s

StatsSendInterval

String

Statistics sending interval

15s

ProbeTimeout

String

IP address probe timeout during scan

5s

ConnectTimeout

String

ASIC connect timeout

60s

IgnoreMirrorsList

Boolean

Ignoring changing mirrors from an account

false

HubHeartbeatInterval

String

ASIC Hub service heartbeat send interval

10s

Did this answer your question?