Sign inSign up

dataristix/dataristix-core

By dataristix

Updated 4 days ago

Dataristix Industrial Data Processing

Image
Internet of things
Databases & storage
Monitoring & observability
0

10K+

dataristix/dataristix-core repository overview

Dataristix

Note: The following is documentation for Dataristix version 3.0.x. Please contact us for support of previous versions.

Dataristix is a modular industrial data router and processor, connecting disparate data sources and data sinks. Please see Dataristix for an overview or dive into the documentation. 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.

Stay in touch

Stay up to date with recent product developments and updates on important issues. Please contact us and we'll add you to the mailing list (you can unsubscribe any time, just let us know). We welcome any feedback you may have.

Modules

There are a number of connector modules available to connect to various data sources and data sinks, including MQTT, OPC UA, REST Services, databases, and so forth. Each module comes in its own container. Search for Dataristix on Docker Hub to find available containers. A working Dataristix instance consists of the Core module and the selected data source/data sink modules. Use Docker Compose to combine these modules into a working application. Module images share layers; actual storage size on disk will be less than the sum of image sizes.

Release Notes

Release notes for the various images can be found here: https://downloads.rensen.io/dataristix3/v3.0/installers/release/. The 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.

License

Dataristix is either licensed for Personal Use or for Commerical Use. For further information on licensing options please see here. Like other software, Dataristix uses some open source software modules with MIT or similar license. Please see the notices.txt file deployed with Dataristix or the Acknowledgments link in the "About" dialog for additional information or contact us for any questions you may have.

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. Remove modules that are not required. Save the text below into a docker-compose.yml file together with the docker-compose.override.yml file below , then type docker compose up to run. See also notes in the next section.

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:
      - "8383:8383"
    expose:
      - "8383"
    <<: *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
    - 22793:22793
    <<: *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 Support

Please visit our main site for details on Kubernetes deployments.

Tag summary

Content type

Image

Digest

sha256:14e42e3eb

Size

77.2 MB

Last updated

about 1 month ago

docker pull dataristix/dataristix-core