The project is a containerized package of:
- FRINX UniConfig
- FRINX fork of Netflix's Conductor
- Elastic's
- FRINX microservices to execute conductor tasks
- Device simulation container
- Uniconfig-ui
- Portainer
- PostgreSQL
- 16GB and 4 CPU
- Docker
- Docker Compose
- Manage Docker as a non-root user
- License for FRINX UniConfig (you can find a trial license in the "Installation Guide" section below)
- Ubuntu 16.04 / 18.04 /
- docker 18.03.1-ce, v18.06.1-ce, 18.09.5
- docker-compose 1.21.2, v1.22.0
- Chrome browser
- uniconfig
- dynomite
- conductor-server
- elasticsearch
- kibana
- logstash
- micros
- uniconfig-ui
- sample-topology
- portainer
- postgresql
We offer a 30 day trial license. No signup needed! Alredy bundled in release. License token:
e326aaa7b1741bb530d201c49f4311d3d0f391893e15393894a77180e6478289cd1709e4afe3a643100ccd31052430de1955540cf5ae1e510d657bd2af8ef2fc
30 days after your first installation, your token will expire and you will see an error message during Uniconfig startup. If you would like to continue with your evaluation, please register as a user on our homepage, where you will find another 30 day token under the section "My License Information". After the second trial period has expired, you can continue with a commercial license that has no time limitations.
Download zip of release v1.1: https://github.com/FRINXio/FRINX-machine/releases/download/v1.1/FRINX-machine_v1.1.zip
Unzip:
unzip FRINX-machine_v1.1.zip -d /path/to/unzip/to
Change to FRINX-machine directory:
cd /path/to/unzip/to/FRINX-machine
The installation script install.sh
is in the FRINX-machine folder.
The installation script does the following things:
- Copies license token
- Pulls conductor project parts from maven repository
- Builds conductor-server .jar file
- Pulls and creates docker images
- Creates external volumes for data persistence
We recommend to run the install script as regular user and not as sudo, so all files can be edited by the regular user later. Installation with the trial license token:
./install.sh -l e326aaa7b1741bb530d201c49f4311d3d0f391893e15393894a77180e6478289cd1709e4afe3a643100ccd31052430de1955540cf5ae1e510d657bd2af8ef2fc
After the first run the license token is saved to a /uniconfig/frinx.license.cfg and will be copied to image after each update.
The startup script startup.sh
can be found in the FRINX-machine folder.
Here is what it does:
- Creates the docker containers from the images and starts them.
- Imports workflow definitions.
- Adds sample devices to inventory
- Starts simulated devices
- Deploys bridge (default) or host networking (optional)
Bridge networking is executed by command:
./startup.sh
Host networking is executed by command:
./startup.sh -n host
Open web page: http://localhost:3000
Container management(portainer): http://localhost:9000
After following the steps above you will have a clean installation of FRINX Machine and you can create or load your own workflows. We have created a repository of demo and sample workflows to get familiar with FRINX Machine and to have a starting point for your own work.
Go to the Frinx-machine folder and clone the following respoitory:
cd FRINX-machine/
git clone https://github.com/FRINXio/fm-workflows.git
While FRINX Machine is running execute the startup script inside the fm-workflows folder
cd fm-workflows/
./startup.sh
The startup script will load sample devices and sample workflows into your FRINX Machine setup.
More detailed documentation and use cases can be found at https://docs.frinx.io/FRINX_Machine/index.html.
The teardown.sh
script in the FRINX-machine folder:
- Stops and removes containers
- Optionially removes volumes and images used by services in the
docker-compose.*.yml
file.
Using docker, also needs privileged mode:
./teardown.sh [-v|--volumes] [-i|--images]
Once images were downloaded, to update images from Docker Hub:
./install.sh [service]
To build image from cloned repository:
./install.sh -b [service]
If no container is specified all are updated.
To use latest version of submodules for locally built images:
./install.sh --dev -b [service]
To replace running service with new one run after updating the image:
docker stop [service]
docker rm [service]
docker-compose up -d [service]