Sign inSign up

fractalworks/joule

By fractalworks

Updated about 2 years ago

Joule is a Low Code AI use case platform designed to deliver business impact at pace

Image
Internet of things
Machine learning & AI
Developer tools
1

373

fractalworks/joule repository overview

Joule

Joule is a Low Code use case platform designed to deliver business impact at pace by reducing time to design, build, pilot and scale.

For an overview of Joule go to the FractalWorks Joule Platform Overview site. Or for the complete documentation go to Joule Platform Documentation

latest updated to Joule 1.2.0

The latest tag for this image now points to the latest released implementation of Joule 1.2.0

Running the container

The Joule image exposes a shared volume under /app/joule. You can mount a host directory to that point to access persisted container data. A typical invocation of the container might be:

docker run -d --name=joule_processor \
-p 1098:1098 \
-p 7070:7070 \
-v $PWD/conf:/app/joule/conf \
-v $PWD/userlibs:/app/joule/userlibs \
-v $PWD/logs:/app/joule/logs: \
-v $PWD/data:/app/joule/data: \
-v $PWD/META-INF:/app/joule/META-INF: \
--network joule_network \
--env-file ./bin/app.env \
fractalworks/joule:latest

CD in to the directory where the configuration, user jars, logs and data are located on the local machine. Joule container will use these directories to configure the process and to write log and data files.

Exposed Ports

Joule provides monitoring standard JMX beans, accessible on localhost port 1098. The following port is configured to enable remote monitoring through the use of tools such as JConsole, DataDog, VisualVm etc,.

  • 1098 JMX port

The JMX port will be automatically exposed when using docker run -p.

-- 7070 Rest API port

The Rest port will be automatically exposed when using docker run -p.

Configuration

A Joule container is configured through the app.env which sets up the required data sources, including reference data, use case processing and target publishing sinks.

conf directory

The app.env file defines the key configurations for Joule process to start. Each file specifies key components to load, register and startup.

Example:

JOULE_HOST_NAME=localhost
JOULE_JMX_PORT=1098
JOULE_MEMORY=-Xmx4G

SOURCEFILE=./conf/sources/eventStream.yaml
ENGINEFILE=./conf/usecases/eventAnonymisation.yaml
PUBLISHFILE=./conf/publishers/anonymisedEventFile.yaml

Additionally, reference data sources, for event enrichment, can be added the following to app.env

REFERENCEDATA=./conf/joules/sources/appReferenceData.yaml

Typically the yaml files will reside within the conf directory.

userlibs directory

Custom user components are deployed to the Joule classpath from the userlibs directory.

log directory

Joule generates standard log4j logging file, using logback binding, which is configured to exist beyond the lifetime of the container. A default ./META-INF/joule/log4j2.xml is provided.

data directory

Joule has the ability to generate event files which are persisted to a configured volume mount. This directory is not required if event data is not saved to file.

Tag summary

Content type

Image

Digest

sha256:ac2c0dcd4

Size

1.4 GB

Last updated

about 2 years ago

docker pull fractalworks/joule