Skip to main content

Install with Docker

Installation Requirements

We assume Docker is installed on your system. If not, install it first: Developers - Docker .

Download and run with Docker

The following terminal command will download and run the layline.io docker container:

docker run -p 5841:5841 -p 5842:5842 docker.io/layline/layline-samples:1.2.4

Parameters:

  • Mapping internal Config Server port to external: 5841 --> 5841
  • Mapping internal Reactive Engine port to external: 5842 --> 5842
  • Path to layline.io docker container:
    docker.io/layline/layline-samples:1.2.4

Should the external ports already be in use on your installation target, then change them to an open port to your end.

    # EXAMPLE for Version 1.2.2
| => docker run -p 5841:5841 -p 5842:5842 docker.io/layline/layline-samples:1.2.2
Unable to find image 'layline/layline-samples:1.2.2' locally
1.2.2: Pulling from layline/layline-samples
7783ecb52c24: Pull complete
49059e88484f: Pull complete
bf8e3aac0151: Pull complete

...

c4cc113ea44d: Pull complete
Digest: sha256:b40c29d47dd96bbc95824909b446b1922dc4c611115114e5ad65fa752ef3fd65
Status: Downloaded newer image for layline/layline-samples:1.2.2

...
# Container automatically starts ...
22-05-05 14:45:10.116 INFO Layline - [LAY-00050] ###################################################################
22-05-05 14:45:10.122 INFO Layline - [LAY-00050] # Layline Reactive Engine 1.2.2
22-05-05 14:45:10.122 INFO Layline - [LAY-00050] # #
22-05-05 14:45:10.122 INFO Layline - [LAY-00050] # Copyright (C) 2018-2023 layline.io GmbH <https://layline.io> #
22-05-05 14:45:10.122 INFO Layline - [LAY-00050] ###################################################################
22-05-05 14:45:13.197 INFO ConfigServer - [LAY-00050] ###################################################################
22-05-05 14:45:13.201 INFO ConfigServer - [LAY-00050] # Layline Config Server 1.2.2
22-05-05 14:45:13.202 INFO ConfigServer - [LAY-00050] # #
22-05-05 14:45:13.203 INFO ConfigServer - [LAY-00050] # Copyright (C) 2018-2023 layline.io GmbH <https://layline.io> #
22-05-05 14:45:13.203 INFO ConfigServer - [LAY-00050] ###################################################################
22-05-05 14:45:17.757 INFO ConfigServer.SecurityStorage - [LAY-12200] starting the security storage
22-05-05 14:45:17.987 INFO ConfigServer.Plugins - [LAY-10014] successfully registered plugin 's3' ('io.layline.config.plugin.common.s3.PluginFactory')
22-05-05 14:45:18.004 INFO ConfigServer.Plugins - [LAY-10014] successfully registered plugin 'ftp' ('io.layline.config.plugin.common.ftp.FtpPluginFactory')
22-05-05 14:45:18.007 INFO ConfigServer.Plugins - [LAY-10014] successfully registered plugin 'kafka' ('io.layline.config.plugin.common.kafka.KafkaPluginFactory')
22-05-05 14:45:18.012 INFO ConfigServer.Plugins - [LAY-10014] successfully registered plugin 'processor_mapping'
('io.layline.config.plugin.processor.mapping.PluginFactory')
22-05-05 14:45:18.033 INFO ConfigServer.Plugins - [LAY-10014] successfully registered plugin 'format_generic'
('io.layline.config.plugin.format.generic.PluginFactory')
22-05-05 14:45:18.058 INFO ConfigServer - [LAY-10016] starting the configuration server root actor
22-05-05 14:45:18.107 INFO ConfigServer.Plugins - [LAY-10014] successfully registered plugin 'format_asn1' ('io.layline.config.plugin.format.asn1.PluginFactory')
22-05-05 14:45:18.355 INFO ConfigServer.UserStorage - [LAY-12303] recovery of the user storage completed (0 user(s) loaded)

...

22-05-05 14:45:20.920 INFO ConfigServer.SecurityStorage - [LAY-12214] creating new RSA key 'DefaultKey' for user admin
(fingerprint=ilUEKcOzCRC4TvmiZF88YkZQ8ztit/CwPujP6ii+6p8=)
22-05-05 14:45:20.973 INFO Layline.StreamMonitor - [LAY-11410] recovery of the stream monitor completed
22-05-05 14:45:20.975 INFO Layline.DeploymentStorage.Objects - [LAY-11505] recovery of the object database completed
22-05-05 14:45:20.977 INFO Layline.DeploymentStorage.Deployments - [LAY-11510] recovery of the deployment database completed
22-05-05 14:45:21.031 INFO ConfigServer.SecurityStorage - [LAY-12212] successfully created the cluster's default RSA key
22-05-05 14:45:21.034 INFO Layline - [LAY-11009] all system components are up and running

That's it! You're all set.

Configiration Center Web UI

Open Configuration Center

It's time to check if we can start the web-based Configuration Center.

Please note:

The web-based Configuration Center is served by the Configuration Server. Because the Docker image starts everything automatically, the Configuration Server should already be running.

:::: tabs ::: tab Linux/MacOS Open a web browser and enter the url: http://localhost:5841.

In case you have installed the Configuration Server on another machine reachable through a different url, then enter the respective url instead of localhost. Should you have changed the port number during installation, you also need to change the port number to what you have set it to. ::: ::: tab Windows On Windows you first need to determine the IP-Address of Docker container running layline.io. Please refer to the Docker documentation for more information.

Open a web browser and enter the url: http:// <ip-address>:5841.

If in doubt, try: http://192.168.99.100:5841 ::: ::::

You should be taken to the login page:

efb40761.png

The default login is admin with password admin. Once logged in, you should see this:

9641e48f.png

Operations Center

Let's check the status of the Reactive Engine which auto-runs as part of the Docker image. We can do so in the Operations section of the UI (1):

76edd61c.png

Depending on whether your host system is MacOS/Linux or Windows, pick the respectively named Cluster from the drop-down menu (2).

You are currently logged in to the Configuration Server only. To monitor the Reactive Cluster you also need to separately log in to it (3). The credentials for the Cluster are user "admin" and password "admin".

Running on Windows and unable to log in?

If the IP-address of your docker image does on Windows does not default to 192.168.100.199, you are uneble to log in to the Reactive Cluster. In this case you need to change the pre-configured IP-address to the actual IP-address of you docker image. Follow these simple steps:

  1. Head to Settings (1)
  2. Select the Docker-Cluster-Windows in the left pane (2)
  3. Change the IP-address to the one of your Docker container instance (3). Make sure that you leave the port as 5842. If you remove it, it's not going to work.

e4ec0320.png

The settings will not persist if you shut down the docker container. You have the repeat change of the IP-address in that case. :::

Check that the Reactive Cluster is up and running:

  1. Make sure you are logged in to the Reactive Cluster (1).
  2. Head to Operations --> Cluster (2).
  3. All items on the left pane should be green (3).
  4. Select the one node in the Cluster at the bottom of the left pane. This sample Cluster runsn with only one Reactive Engine node.
  5. On the right pane check the node status (4). It should show "Up".

e75acc77.png

If the above is true, your docker container is in good shape.

Sample Projects

The Docker container of layline.io comes with pre-installed sample Projects.

Click on Project --> Open:

1ec349e3.png

Select any of the Projects (list is probably longer by the time you download layline.io) and open it.

Explore the container

Let us show you a few things inside the container.

Log in to the container

# Find container name/id
> docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2b1846d34a28 layline/layline-samples:0.9.3-SNAPSHOT "/opt/layline/bin/st…" 22 minutes ago Up 22 minutes 0.0.0.0:5841-5842->5841-5842/tcp priceless_zhukovsky

# Execute bash shell on container
> docker exec -it 2b1846d34a28 /bin/bash
layline@2b1846d34a28:/opt$

Directory structure

The docker image comes with a number of pre-conconfigured directories. Let us take a look at them:

/opt/layline/ Directory:

/opt/layline/
|-- bin # Binaries of layline.io
| |-- ConfigServer # Configuration Server with interface
| |-- ConfigServer.vmoptions # Virtual machine options for ConfigServer
| |-- ReactiveEngine # Reactive Engine with interface
| |-- ReactiveEngine.vmoptions # Virtual machine options for ReactiveEngine
| |-- config-server # Configuration Server command line
| |-- config-server.vmoptions # Virtual machine options for config-server
| |-- layctl # CLI for layline.io
| |-- layctl.vmoptions # Virtual machine options for layctl
| |-- reactive-engine # Reactive Engine command line
| |-- reactive-engine.vmoptions # Virtual machine options for reactive-engine
| `-- start-config-and-engine.sh # Shell script to start both Config Server and Reactive Engine
|-- config # Runtime configurations directory
| |-- config-server
| | `-- application.conf # Runtime configuration for Configuration Server
| `-- reactive-engine
| `-- application.conf # Runtime configuration for Reactive Engine
|-- jre # Java runtime files
| |-- ...
|-- lib # layline.io Java libraries
| |-- ...
|-- samples
|-- templates # Configuration templates
| |-- config-server # Templates for Configuration Server
| | |-- application.conf
| | `-- log4j2.xml
| |-- layctl # Templates for layctl
| | |-- application.conf
| | |-- clusters
| | | `-- local.json
| | `-- config-servers
| | `-- local.json
| `-- reactive-engine # Templates for Reactive Engine
| |-- application.conf
| `-- log4j2.xml
`|-

/home/layline/ Directory:

/home/layline/
|-- layline-data # Data directory configured in Sample Projects
| |-- done # Output for files which are done processing
| |-- error # Output for files which caused processing errors
| |-- in # Input directory for files to be processed
| `-- out # Output of files created by Projects
|-- layline-projects # Sample projects
| |-- sample-file-copy
| | |-- ...
| `-- sample-kafka
| |-- ...
`-- sample-data # Example files for processing in sample Projects.
|-- bank-transactions # Check documentation for each Project, if any.
| |-- 100-BT-Records.csv
| `-- 2-BT-Records.csv
`-- sample-data-key
`-- sample-data-key


Can't find what you are looking for?

Please note, that the creation of the online documentation is Work-In-Progress. It is constantly being updated. should you have questions or suggestions, please don't hesitate to contact us at support@layline.io .