Standalone Driver
Deploy the standalone driver on a separate machine from the cluster.
The standalone driver makes it possible to integrate data acquisition hardware from multiple host machines into a single Synnax deployment.
Step 1 Installation
To get started, you’ll need to install the Synnax standalone driver. Choose your operating system below to see the installation instructions:
Install and Run the Driver
The Synnax standalone driver is not yet supported on Windows.
Install and Run the Driver
The Synnax standalone driver is not yet supported on macOS.
Install and Run the Driver
To install and start the driver on Linux, run the following command:
curl -LO github.com/synnaxlabs/synnax/releases/download/synnax-v0.39.4/synnax-driver-v0.39.4-linux
This will download, install, and start the Synnax standalone driver. Once the driver is installed, we’ll need to configure it to connect to your cluster.
Prerequisites
Supported Hardware & Software
The Synnax standalone driver supports the cRIO-904x and cRIO-905x families of controllers running NI Linux Real-Time 2024 Q1 and later.
NI-DAQmx Programming Mode
Data acquisition hardware connected to the cRIO must be configured to use the NI-DAQmx real-time programming mode.
To change the programming mode, use NI Measurement & Automation Explorer (MAX). For detailed instructions, see the NI CompactRIO User Manual and the NI-DAQmx on CompactRIO guide.
SSH Access
The easiest way to install the Synnax standalone driver is to use an SSH connection to the cRIO. Once the driver is installed, SSH can be disabled, although we recommend keeping it enabled to install updates and manage the driver.
Network Available Cluster
In order to function properly, the standalone driver must be able to connect to a Synnax cluster running on the same local network. Make sure you have a cluster running and have the connection parameters on hand.
Install and Run the Driver
Installing the Synnax standalone driver is as simple as opening an SSH connection to the cRIO and running the following command:
curl -LO github.com/synnaxlabs/synnax/releases/download/synnax-v0.39.4/install-driver-nilinuxrt.sh && chmod +x install-driver-nilinuxrt.sh && ./install-driver-nilinuxrt.sh
This will download, install, and start the Synnax standalone driver. Once the driver is installed, we’ll need to configure it to connect to your cluster.
Step 2 Connect to a Cluster
To connect to a cluster, you’ll need to know the cluster’s IP address, port, username,
and password. Then run the synnax-driver login
command:
synnax-driver login
This will prompt you to enter the cluster’s connection parameters. Once you’ve entered the parameters, the driver will automatically connect to the cluster. Here’s an example of the output:
synnax-driver login
host (default: localhost): 10.0.0.45
port (default: 9090): 9090
username: synnax
password:
I20250318 04:57:06.681439 25261 login.cpp:47] connecting to Synnax at 10.0.0.45:9090
I20250318 04:57:06.792840 25261 login.cpp:53] successfully logged in!
I20250318 04:57:06.793918 25261 login.cpp:59] credentials saved successfully
Step 3 Check the Driver Status
As a final step, you can check the driver’s status by running the synnax-driver status
command:
synnax-driver status
This will print the driver’s status to the console. Here’s an example of the output:
I20250318 05:07:04.312907 5935 daemon_nilinuxrt.cpp:490] Checking service status
I20250318 05:07:04.346398 5937 version.cpp:21] Synnax Driver v0.39.0 (2025-03-16 00:08:18)
Synnax Driver is running (PID: 28191)
Configuration Methods
In addition to using the synnax-driver login
command, the standalone driver also
allows you to configure parameters for the driver via a configuration file and/or
environment variables.
Precedence
The precedence of the different configuration methods is as follows, with earlier methods taking precedence over later ones:
- Environment variables (Highest)
- Configuration file
- Parameters passed to the
synnax-driver login
command - Internal defaults (Lowest)
Configuration File
The standalone driver can optionally read connection parameters from a JSON configuration file with the following format:
{
// Connection parameters
"connection": {
// The host of the Synnax cluster.
"host": "localhost",
// The port of the Synnax cluster.
"port": 9090,
// The username to use when logging in to the Synnax cluster.
"username": "synnax",
// The password to use when logging in to the Synnax cluster.
"password": "password",
// The path to the CA certificate file to use when connecting
// to the Synnax cluster. This is only required if the cluster
// is configured to use TLS.
"ca_cert_file": "/path/to/ca.crt",
// The path to the client certificate file to use when connecting
// to the Synnax cluster. This is only required when the cluster
// is configured to use TLS and client certificates for authentication.
"client_cert_file": "/path/to/client.crt",
// The path to the client key file to use when connecting to the
// Synnax cluster. This is only required when the cluster is
// configured to use TLS and client certificates for authentication.
"client_key_file": "/path/to/client.key"
}
}
Environment Variables
The standalone driver also supports setting connection parameters via environment variables.
# The host of the Synnax cluster.
export SYNNAX_DRIVER_HOST=localhost
# The port of the Synnax cluster.
export SYNNAX_DRIVER_PORT=9090
# The username to use when logging in to the Synnax cluster.
export SYNNAX_DRIVER_USERNAME=synnax
# The password to use when logging in to the Synnax cluster.
export SYNNAX_DRIVER_PASSWORD=password
# The path to the CA certificate file to use when connecting
# to the Synnax cluster. This is only required if
# the cluster is configured to use TLS.
export SYNNAX_DRIVER_CA_CERT_FILE=/path/to/ca.crt
# The path to the client certificate file to use when
# connecting to the Synnax cluster. This is only required when
# the cluster is configured to use TLS and client certificates
# for authentication.
export SYNNAX_DRIVER_CLIENT_CERT_FILE=/path/to/client.crt
# The path to the client key file to use when connecting
# to the Synnax cluster. This is only required when the cluster
# is configured to use TLS and client certificates for authentication.
export SYNNAX_DRIVER_CLIENT_KEY_FILE=/path/to/client.key
CLI Reference
Start
The start
command starts the driver as a background process on the host machine.
Example Usage
synnax-driver start
To start the driver as a foreground process, use the --standalone
flag:
synnax-driver start --standalone
Flags
Flag | Default | Description |
---|---|---|
--standalone/-s | false | Run the driver directly within the terminal process. |
Stop
The stop
command stops the driver.
Example Usage
synnax-driver stop
Restart
The restart
command restarts the driver. This is equivalent to stopping and then
starting the driver.
Example Usage
synnax-driver restart
Login
The login
command logs in to a Synnax cluster.
Example Usage
synnax-driver login
This will prompt you to enter the cluster’s connection parameters. Once you’ve entered the parameters, the driver will automatically connect to the cluster. Here’s an example of the output:
synnax-driver login
host (default: localhost): 10.0.0.45
port (default: 9090): 9090
username: synnax
password:
Clear
The clear
command clears connection parameters configured through the login
command.
Example Usage
synnax-driver clear
Status
The status
command prints the driver’s status to the console.
Example Usage
synnax-driver status
Uninstall
The uninstall
command uninstalls the driver.
Example Usage
synnax-driver uninstall
Logs
The logs
command prints the driver’s logs to the console.
Example Usage
synnax-driver logs
Version
The version
command prints the driver’s version to the console.
Example Usage
synnax-driver version