Installation¶
Requirements¶
Dataristix runs on the following platforms.
- Microsoft Windows Server 2016 later
When using the SOAP Connector: Windows Server 2016 and Windows Server version 1709 may require installation of .Net Framework 4.7.2 which is not included in the Dataristix installers.
When using Windows Server Core then please see the headless deployment notes.
- Microsoft Windows 10 or later
When using the SOAP Connector: Windows 10 version 1709 or earlier may require installation of .Net Framework 4.7.2 which is not included in the Dataristix installers.
- Linux
Dataristix runs on Linux as a containerized application. Containers for x64 and arm64 architectures are available on Docker Hub.
- Azure Kubernetes
Visit the Azure Marketplace and search for Dataristix.
Installation on Microsoft Windows¶
The recommended installer for the first installation on Windows 10 or later or Windows Server with Desktop Experience is the “Dataristix Core Bundle”. This installer contains the Dataristix core service and application and all required Microsoft runtime dependencies. Additional connector services and application plugins can be installed separately. Launch the application and pick other modules by selecting menu item “Add Modules” to download installer packages.
Please visit the Dataristix download page to choose an installer or visit the Dataristix Download Index for Dataristix 3.
The Dataristix Service, application, connectors and application plugins are available as individual installer packages. When selecting “Check for Updates” from the application’s main menu, then updated installer packages for installed modules are listed (if any). It is recommended to install all available updates at the same time.
Read more about modules here or see available modules in the Dataristix Download Index.
Docker Compose¶
Dataristix containers are available on Docker Hub.
A working Dataristix instance consists of the Core modules and selected connector modules configured using docker compose.
Module images share layers; actual storage size on disk will be less than the sum of image sizes.
Containers are tagged with a version number and suffix -latest for the latest release version.
Containers in preview are tagged with -beta. When referencing a beta version, then preferably reference the latest-beta tag because
older -beta tags may not stay around that long. In production, you may want to use a version tag.
Container Release Notes¶
Release notes for the various images can be found here: Dataristix Download Index.
Container image version may have an additional build number suffix, indicating when an underlying base image or dependency has been updated.
Because the dataristix-proxy image bundles the browser apps into the same image, the proxy versions may change more frequently.
Release notes for the IoT connector module will follow soon.
Security¶
Dataristix containers run as a non-root user and store data into volumes dataristix-data and dataristix-secret.
The secret folder in particular should be protected from unauthorized read or write access as it may contain encryption keys or certificates with private keys.
The data folder should be writable by Dataristix containers only and read access should be restricted to Dataristix administrators.
Further, the default dataristix-proxy uses http and does not encrypt traffic.
Without additional modification, remote connections to the Dataristix containers will therefore transmit passwords and so forth in plain text.
You may want to use a load balancer or other proxy in front that encrypts traffic for remote connections.
Deployment Summary¶
Use docker compose up with the files provided below, then browse to http://localhost:8383.
Docker Compose File¶
The following Docker Compose file configures Dataristix for all available modules except of the IoT device module, which may be added separately.
Save the text below into a docker-compose.yml file together with the docker-compose.override.yml file below, remove modules that are not required,
then type docker compose up to run.
name: dataristix-pod
# Common settings for services. The 'dataristix-secrect' volume should be configured with restricted access.
# ===========================================================================================================
x-dataristix-common: &dataristix-common
volumes:
- dataristix-data:/dataristix-data
- dataristix-secret:/dataristix-secret
services:
# Core Service. Module services specified with '--modules=' must follow below.
# =============================================================================
dataristix-core:
image: dataristix/dataristix-core:latest
container_name: dataristix-core
<<: *dataristix-common
# Dataristix proxy and backend-for-frontend
# =================================
dataristix-proxy:
image: dataristix/dataristix-proxy:latest
container_name: dataristix-proxy
depends_on:
- dataristix-core
ports:
- "8284:8383"
expose:
- "8284"
<<: *dataristix-common
# Dataristix identity
# =================================
dataristix-identity:
image: dataristix/dataristix-identity:latest
container_name: dataristix-identity
<<: *dataristix-common
# CSV Connector
# ===============================
dataristix-for-csv:
image: dataristix/dataristix-for-csv:latest
container_name: dataristix-for-csv
# command: --CsvDataFolder="<defaults to /dataristix-data/modules/CSV Connector/CSV>"
<<: *dataristix-common
# Email Connector
# ===============================
dataristix-for-email:
image: dataristix/dataristix-for-email:latest
container_name: dataristix-for-email
<<: *dataristix-common
# Event Hubs Connector
# ===============================
dataristix-for-eventhubs:
image: dataristix/dataristix-for-eventhubs:latest
container_name: dataristix-for-eventhubs
<<: *dataristix-common
# Excel Connector
# ===============================
dataristix-for-excel:
image: dataristix/dataristix-for-excel:latest
container_name: dataristix-for-excel
ports:
# Expose remote RTD server port
- 22784:22783
<<: *dataristix-common
# Google Sheets
# ===============================
dataristix-for-googlesheets:
image: dataristix/dataristix-for-googlesheets:latest
container_name: dataristix-for-googlesheets
<<: *dataristix-common
# Kafka
dataristix-for-kafka:
image: dataristix/dataristix-for-kafka:latest
container_name: dataristix-for-kafka
<<: *dataristix-common
# MQTT Connector
# ===============================
dataristix-for-mqtt:
image: dataristix/dataristix-for-mqtt:latest
container_name: dataristix-for-mqtt
ports:
# Expose broker ports. Adjust if different ports are configured. Add WebSocket ports if required.
# Expose default TCP broker port
- 1883:1883
# Expose TLS TCP broker port
- 8883:8883
<<: *dataristix-common
# MySQL Connector
# ===============================
dataristix-for-mysql:
image: dataristix/dataristix-for-mysql:latest
container_name: dataristix-for-mysql
<<: *dataristix-common
# OPC UA Connector
# ===============================
dataristix-for-opcua:
image: dataristix/dataristix-for-opcua:latest
container_name: dataristix-for-opcua
<<: *dataristix-common
# Oracle Connector
# ===============================
dataristix-for-oracle:
image: dataristix/dataristix-for-oracle:latest
container_name: dataristix-for-oracle
<<: *dataristix-common
# PostgreSQL Connector
# ===============================
dataristix-for-postgresql:
image: dataristix/dataristix-for-postgresql:latest
container_name: dataristix-for-postgresql
<<: *dataristix-common
# Power BI Connector
# ===============================
dataristix-for-powerbi:
image: dataristix/dataristix-for-powerbi:latest
container_name: dataristix-for-powerbi
<<: *dataristix-common
# REST Connector
# ===============================
dataristix-for-rest:
image: dataristix/dataristix-for-rest:latest
container_name: dataristix-for-rest
<<: *dataristix-common
# Script Connector
# ===============================
dataristix-for-script:
image: dataristix/dataristix-for-script:latest
container_name: dataristix-for-script
<<: *dataristix-common
# SQL Server Connector
# ===============================
dataristix-for-sqlserver:
image: dataristix/dataristix-for-sqlserver:latest
container_name: dataristix-for-sqlserver
<<: *dataristix-common
# SQLite Connector
# ===============================
dataristix-for-sqlite:
image: dataristix/dataristix-for-sqlite:latest
container_name: dataristix-for-sqlite
<<: *dataristix-common
volumes:
dataristix-data:
name: dataristix-data
dataristix-secret:
name: dataristix-secret
Docker Compose Override File¶
Dataristix containers run as a non-root user.
If you plan to run on Docker Desktop or restricted environments, then add the following docker-compose.override.yml file to override
the container user as root or other privileged user to ensure that Dataristix containers have read and write access to the
dataristix-data and dataristix-secret volumes.
# Override user as 'root' or specific Dataristix user with read and write access
# to the 'dataristix-data' and 'dataristix-secret' volumes.
services:
# Core
# ===============================
dataristix-core:
user: root
# Identity
# ===============================
dataristix-identity:
user: root
# CSV
# ===============================
dataristix-for-csv:
user: root
# Email
# ===============================
dataristix-for-email:
user: root
# Excel
# ===============================
dataristix-for-excel:
user: root
# Event Hubs
# ===============================
dataristix-for-eventhubs:
user: root
# Google Sheets
# ===============================
dataristix-for-googlesheets:
user: root
# Kafka
# ===============================
dataristix-for-kafka:
user: root
# MQTT
# ===============================
dataristix-for-mqtt:
user: root
# MySQL
# ===============================
dataristix-for-mysql:
user: root
# OPC UA
# ===============================
dataristix-for-opcua:
user: root
# Oracle
# ===============================
dataristix-for-oracle:
user: root
# PostgreSQL
# ===============================
dataristix-for-postgresql:
user: root
# Power BI
# ===============================
dataristix-for-powerbi:
user: root
# REST
# ===============================
dataristix-for-rest:
user: root
# Script
# ===============================
dataristix-for-script:
user: root
# SQL Server
# ===============================
dataristix-for-sqlserver:
user: root
# SQLite
# ===============================
dataristix-for-sqlite:
user: root
# Proxy
# ===============================
dataristix-proxy:
user: root
Kubernetes¶
Dataristix is available on the Azure Marketplace as a Kubernetes App (arriving in Q1 2026) for cloud deployments. Combine Dataristix on-premises with the cloud instance to facilitate a controlled dataflow from on-premises devices to the cloud. For example, use the MQTT connector on-premises to forward MQTT data or data originating from other connector modules (for example, OPC UA) to your cloud instance.
Please visit Azure Marketplace and search for Dataristix or view the introduction to Dataristix on Azure (→ YouTube).
Headless Deployment Notes¶
Headless Deployment refers to scenarios where Dataristix Services are installed on a separate computer with the browser application connecting remotely. The operating system that hosts the services may be Windows Server Core or a containerized Dataristix instance on a Linux platform. Kubernetes deployments are always headless with the browser client managing the Dataristix instance remotely.
In the headless deployment and remote administration scenario, User Access Control should be enabled, and a proxy or load balancer with TLS termination should be placed in front of Dataristix to ensure that all traffic is encrypted.
Warning
Without TLS termination, credentials will be transmitted in plain text.
Browser shortcut¶
Some browers may offer to install the Dataristix browser client as an application with shortcut and application icon. Installing the browser client as an application has the advantage that no URL needs to be entered into the browser window to open the app with a single click on the icon.