General configuration
Application options
The first section is app
, which control general options:
[app]
autosave = true
immersion = false
The autosave
key controls wether the changes on the runtime made via API to the configuration will be saved or not. When enabled, every change triggers first a backup of the current TOML file (in the /backup
directory, with the current UTC timestamp as suffix), and then save the new values on the existing files. Note that only certains commands trigger autosaving.
The immersion
key indicates wether immersion mode is enabled or not. When enabled, this mode sets the fan speed to a fixed zero, and ignores the minimum number of fans check.
Logging
The logging configuration is stored in app.logging
:
[app.logging]
level = "info"
file_level = "trace"
The level
key controls the logging level on stdout
. If you're not running the miner in you ssh session and looking at the live logs while your miner runs, you might as well leave it as off
if you want.
The file_level
is the logging level for file output. Each time luxminer
is ran, a brand new logs/<DATE>/luxminer.log
file is created, and the previous file is kept in the same folder, with a timestamp suffix. Log file rolling happens every run, or when the file reaches around 100MB. Past log files are automatically discarded when the system is close to running out of space.
Both keys can accept either a single "level" value (error
, warn
, info
, debug
or trace
), or a complex logging filter in the form of module=level
, to use different levels for different pieces of the system.
Logging and performance
Choosing the right level of logging depends on a multitude of scenarios like available disk space and being able to track down eventual failures. The correct logging level, will depend of your needs.
As a general rule, more verbose level incurs in more performance penalty, but allows for much more detail when troubleshooting. When requesting support help, try to do the minimun steps to reproduce the problem with file_level=trace
.
API access
API access can be configured on the app.api
section:
[app.api]
port = 4028
http_port = 8080
The "core" API is a TCP, CGMiner-like API, running on port 4028
by default. Additionally, an HTTP RPC layer on port 8080
is provided to make integration with different tools and languages easier. Any of them can be disabled by setting the port number to zero.
It is recommended to leave the API ports on the default setting since they are used (or assumed) as default for most tools and scripts, so consider changing or disabling those ports only if you have a good reason to do so. For usage information and examples, check the API section of the documentation.
If you disable the HTTP layer, the built-in LUXminer UI won't be able to communicate with the miner.