You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
system2mqtt is configured through a .env-style file (default: s2m.conf in the working directory). All keys are uppercase. Lines beginning with # are comments.
Loading Order
s2m.conf in the current working directory (default)
A path passed as a command-line argument: python3 run.py /path/to/my.conf
Required Options
Key
Description
COMPUTER_NAME
A unique identifier for this system. Used in MQTT topics and log output. Required.
Logging
Key
Default
Description
LOG_DIR
./logs
Directory where log files are written. Created automatically if it does not exist.
LOG_FILENAME
system2mqtt.log
Name of the active log file.
OLD_LOG_FILENAME
old_system2mqtt.log
Name of the previous log file (rotated on startup).
DEBUG_LOG
False
Set to True to enable verbose debug logging. Debug output is also printed to the console.
MQTT
Key
Default
Description
MQTT_HOST
localhost
Hostname or IP address of the MQTT broker.
MQTT_PORT
1883
TCP port of the MQTT broker.
MQTT_USER
(none)
Username for MQTT broker authentication.
MQTT_PASSWORD
(none)
Password for MQTT broker authentication.
MQTT_BASE_TOPIC
system2mqtt/<COMPUTER_NAME>
Base MQTT topic. All metrics are published under this prefix.
Publishing
Key
Default
Description
PUBLISH_PERIOD
60
How often (in seconds) to collect and publish metrics. Can also be changed at runtime via MQTT — see MQTT Topics.
System / Platform
Key
Default
Description
PROCPATH
/proc
Path to the Linux proc filesystem. Change this if running in a container where /proc is mounted at a different path.
MACOS
(auto-detected)
Set to True to force macOS mode. Usually auto-detected.
Storage Filtering
By default, all mounted disks are included. Use these options to filter which disks are reported.
Key
Default
Description
STORAGE_INCLUDE
(none)
JSON list of disk labels to include. When set, only listed disks are reported. Takes precedence over STORAGE_EXCLUDE. Example: ["sysroot", "data"]
STORAGE_EXCLUDE
(none)
JSON list of disk labels to exclude. Ignored when STORAGE_INCLUDE is set. Example: ["tmpfs", "udev"]
Example:
# Only report these two disksSTORAGE_INCLUDE=["sysroot", "myexternaldrive"]
# OR: report everything except theseSTORAGE_EXCLUDE=["idontwantthisdriveincluded"]
Argon ONE Raspberry Pi Case
Key
Default
Description
ARGON
False
Set to True to enable Argon ONE case fan and HDD temperature monitoring.
When enabled, system2mqtt will:
Read fan speed from /tmp/fanspeed.txt (set by the Argon ONE daemon), or calculate it from CPU temperature using thresholds in /etc/argoneon.conf or /etc/argononed.conf.
Read HDD temperatures using smartctl (requires smartmontools to be installed, and typically elevated privileges).
Note: Reading disk temperatures via smartctl may require running with sudo or granting the user appropriate permissions.
Proxmox VE
Key
Default
Description
PVE_SYSTEM
False
Set to True to monitor a Proxmox VE node via its API instead of the local system.
PVE_HOST
localhost
Hostname or IP address of the Proxmox VE server.
PVE_NODE_NAME
pve
The Proxmox node name as it appears in the Proxmox UI.
PVE_USER
root@pam
Proxmox user account (e.g. root@pam or monitor@pve).
PVE_PASSWORD
(none)
Password for the Proxmox user. Required when PVE_SYSTEM=True.