AladdinSDS Configuration
The Aladdin SDS ecosystem includes two services, each with its own configuration:
-
AladdinSDS (this page) - Main scanning/detection service
Configuration:C:\ProgramData\Datalogic\AladdinSDS\config.toml -
Datalogic SDS Updater - Manages service updates
Configuration:C:\ProgramData\Datalogic\SDSUpdater\config.toml
→ See SDS Updater Configuration
This page documents all configuration sections and options for the main AladdinSDS service.
Configuration File Location
Windows
C:\ProgramData\Datalogic\AladdinSDS\config.toml
Linux
/usr/lib/AladdinSDS/config.toml
Format Notes
The configuration uses TOML (Tom's Obvious, Minimal Language) format:
- Strings must be in quotes:
"value" - Numbers have no quotes:
1234 - Booleans:
trueorfalse(no quotes) - Windows paths: Use double backslashes
"C:\\Path\\To\\File"
Configuration Sections
[agent] - Agent Behavior
Controls core agent behavior including telemetry, downloads, and logging.
sendTelemetryMs
- Type: Integer (milliseconds)
- Default:
3600000 - Valid Range: 60000 (1 min) to 86400000 (24 hours)
- Description: How often the agent sends device telemetry data to the Edge gateway.
- Examples:
300000= 5 minutes (frequent monitoring)3600000= 1 hour (default)7200000= 2 hours (minimal network usage)
[agent]
sendTelemetryMs = 3600000
downloadPath
- Type: String (file path)
- Default:
"download/" - Description: Directory where SDS packages are downloaded. Supports relative or absolute paths.
- Windows Recommended:
"C:\\ProgramData\\Datalogic\\AladdinSDS\\download" - Linux Recommended:
"/var/lib/AladdinSDS/download"
Ensure this directory has write permissions and sufficient disk space for package downloads.
downloadPath = "download/"
logLevel
- Type: String (enum)
- Default:
"INFO" - Valid Values:
"TRACE","DEBUG","INFO","WARN","ERROR","FATAL","OFF" - Description: Controls logging verbosity. Higher detail levels (TRACE, DEBUG) consume more disk space and CPU.
- Recommended:
"INFO"for production,"DEBUG"for troubleshooting
logLevel = "INFO"
[files] - File Transfer Service
HTTP server configuration for receiving firmware packages and file uploads from devices.
protocol
- Type: String (enum)
- Default:
"http" - Valid Values:
"http","https" - Description: Protocol used for file uploads from devices or external systems.
[files]
protocol = "http"
port
- Type: Integer (TCP port)
- Default:
8090 - Valid Range: 1024-65535 (avoid privileged ports below 1024)
- Description: TCP port for the file transfer HTTP server. Used for uploading firmware packages and device configurations.
port = 8090
downloadTimeoutMs
- Type: Integer (milliseconds)
- Default:
3600000 - Valid Range: 60000 (1 min) to unlimited
- Description: Maximum time allowed to download a firmware package before timing out.
downloadTimeoutMs = 3600000
[mqtt] - MQTT Broker Connection
Settings for the MQTT message broker used to communicate with the Edge gateway and cloud services.
clientId
- Type: String
- Default: Auto-generated UUID
- Description: Unique MQTT client identifier. Must be unique across all clients connecting to the same broker.
- Format: Any string, typically UUID or hostname format
[mqtt]
clientId = "332f75bb-d0bd-4630-a81d-fa10e3225211"
port
- Type: Integer (TCP port)
- Default:
1883(unencrypted) or8883(TLS/SSL) - Description: TCP port of the MQTT broker for device-to-gateway communication.
port = 1883
protocol
- Type: String (enum)
- Default:
"tcp" - Valid Values:
"tcp"(no encryption),"ssl"(TLS encryption) - Description: Determines encryption and transport mechanism for MQTT connections.
protocol = "tcp"
username (Optional)
- Type: String
- Description: MQTT authentication username. Uncomment and set if your broker requires authentication.
# username = "aladdin-sds-client"
password (Optional)
- Type: String
- Description: MQTT authentication password. Uncomment and set if your broker requires authentication.
# password = "your-secure-password-here"
[mqtt.certificates] - TLS/SSL Certificates
Certificate configuration for secure MQTT connections (when protocol = "ssl").
caFilePath
- Type: String (file path)
- Format: PEM encoded .crt or .pem file
- Default:
"./certs/ca.crt" - Description: Path to the Certificate Authority (CA) certificate that signed the broker's certificate. Used to verify the broker's identity.
[mqtt.certificates]
caFilePath = "./certs/ca.crt"
crtFilePath
- Type: String (file path)
- Format: PEM encoded .crt or .pem file
- Default:
"./certs/client.crt" - Description: Path to this client's public certificate for mutual TLS authentication. Required if broker enforces client certificate verification.
crtFilePath = "./certs/client.crt"
keyFilePath
- Type: String (file path)
- Format: PEM encoded .key or .pem file
- Default:
"./certs/client.key" - Description: Path to this client's private key corresponding to the client certificate. Keep this file secure with restricted permissions (owner read-only).
keyFilePath = "./certs/client.key"
Protect the private key file (client.key) - it should only be readable by the AladdinSDS service account.
[http] - HTTP API Server
REST API server configuration for device management, configuration, and monitoring.
tlsEnabled
- Type: Boolean
- Default:
false - Description: When
true, the API server uses HTTPS instead of HTTP.
[http]
tlsEnabled = false
host
- Type: String (IP address or hostname)
- Default:
"localhost" - Description: IP address or hostname the HTTP server listens on.
- Values:
"localhost"or"127.0.0.1"= Local access only (secure, default)"0.0.0.0"= Listen on all network interfaces (allows remote access)- Specific IP = Listen only on that interface
host = "localhost"
port
- Type: Integer (TCP port)
- Default:
9000 - Valid Range: 1024-65535
- Description: TCP port for the REST API HTTP/HTTPS server. Used to access the AladdinSDS API and web interface.
port = 9000
[service] - Service Metadata
Service version and identification information.
version
- Type: String (semantic version)
- Format:
MAJOR.MINOR.PATCH(e.g.,1.1.2) - Description: Current version of the AladdinSDS service. This reflects the installed binary version.
[service]
version = "1.1.2"
[edge] - Edge Gateway Connection
Settings for communicating with the Datalogic Edge gateway for cloud connectivity.
host
- Type: String (hostname or IP address)
- Default:
"localhost" - Description: Network address of the Edge gateway.
- Values:
"localhost"= Edge running on same machine (development/testing)- IP address = Remote Edge (e.g.,
"192.168.1.100") - Hostname = DNS-resolvable name (e.g.,
"edge-gateway.local")
[edge]
host = "localhost"
[usbDeviceFilter] - USB Device Filtering
Controls which USB devices the service monitors and manages.
connectionFilter
- Type: String (enum)
- Default:
"All" - Valid Values:
"All"= Detect all Datalogic device connections (default)"Host"= Only manage device host connections"Service"= Only manage device service connections"OEM"= Only manage device OEM host connections
- Description: Determines which USB devices are detected and managed by the service.
[usbDeviceFilter]
connectionFilter = "All"
[updater] - Auto-Update Settings
Configuration for the automatic service updater component.
windowsPath
- Type: String (file path)
- Default:
"C:\\Program Files\\Datalogic\\SDSUpdater\\DatalogicSDSUpdater.exe" - Description: Full path to the SDSUpdater.exe on Windows systems. The service calls this executable to check for and install updates.
[updater]
windowsPath = "C:\\Program Files\\Datalogic\\SDSUpdater\\DatalogicSDSUpdater.exe"
linuxPath
- Type: String (file path)
- Default:
"/usr/bin/datalogic-sds-updater" - Description: Full path to the sds-updater binary on Linux systems.
linuxPath = "/usr/bin/datalogic-sds-updater"
scheduleEnabled
- Type: Boolean
- Default:
true - Description: When
true, the updater checks for and installs updates on schedule. Whenfalse, updates must be triggered manually via API.
scheduleEnabled = true
scheduleHour
- Type: Integer (24-hour format)
- Default:
6 - Valid Range: 0-23 (0 = midnight, 12 = noon, 23 = 11 PM)
- Description: Hour of the day (local time) when scheduled update checks run.
scheduleHour = 6
triggerOnStart
- Type: Boolean
- Default:
true - Description: When
true, the updater checks for updates immediately when the service starts. Whenfalse, only scheduled or manual updates occur.
triggerOnStart = true
manifestUrl
- Type: String (URL)
- Default:
"https://aladdin.datalogic.com/sds/aladdin-sds-manifest.json" - Description: URL of the JSON manifest file listing available service updates. The updater fetches this file to determine if new versions are available.
manifestUrl = "https://aladdin.datalogic.com/sds/aladdin-sds-manifest.json"
[commands.beep] - Device Beep Command
Default parameters for the device beep/buzzer command.
count
- Type: Integer
- Default:
1 - Description: Number of times the device beeps when the beep command is executed.
[commands.beep]
count = 1
delayMs
- Type: Integer (milliseconds)
- Default:
500 - Description: Time delay between consecutive beeps.
delayMs = 500
Common Configuration Scenarios
Enable HTTPS for API Server
To secure the REST API with HTTPS/TLS:
[http]
tlsEnabled = true
protocol = "ssl"
Configure for Remote Access
To allow API access from other machines on the network:
[http]
host = "0.0.0.0"
port = 9000
Enable MQTT Encryption
To use TLS encryption for MQTT communication:
[mqtt]
protocol = "ssl"
port = 8883
[mqtt.certificates]
caFilePath = "./certs/ca.crt"
crtFilePath = "./certs/client.crt"
keyFilePath = "./certs/client.key"
Enable MQTT Authentication
To authenticate with an MQTT broker:
[mqtt]
username = "aladdin-sds-user"
password = "secure-password-here"
Disable Scheduled Updates
To prevent automatic updates and require manual update checks:
[updater]
scheduleEnabled = false
triggerOnStart = false
Configure Frequent Telemetry
To send device telemetry more frequently:
[agent]
sendTelemetryMs = 300000 # 5 minutes instead of 1 hour
After Making Changes
- Backup: Always backup the original
config.tomlbefore making changes - Restart Service: Restart the AladdinSDS Windows Service for changes to take effect
- Verify: Check the service logs to ensure the service started correctly
Access the service logs in: C:\Program Files\Datalogic\AladdinSDS\ or the user-selected installation folder under log/ directory.
Related Documentation
- Installation Guide: See Installation for setup instructions
- SDS Updater Configuration: See SDS Updater Configuration for updater service settings