Git Product home page Git Product logo

frinx-machine's Introduction

FRINX-machine

The project is a containerized package of:

Requirements

Tested on

  • 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

Services used in the project

  • uniconfig
  • dynomite
  • conductor-server
  • elasticsearch
  • kibana
  • logstash
  • micros
  • uniconfig-ui
  • sample-topology
  • portainer
  • postgresql

Installation Guide

Trial license

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.

Get the project

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

Installation

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.

Startup

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

Web interface

Open web page: http://localhost:3000

Container management(portainer): http://localhost:9000

Install demo workflows

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.

Documentation & Use Cases

More detailed documentation and use cases can be found at https://docs.frinx.io/FRINX_Machine/index.html.

Teardown

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]

Caution all data will be lost if you use the --volumes flag!

For developers

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]

frinx-machine's People

Contributors

jrozsa avatar tomashodor avatar gwieser1234 avatar moravekl avatar marosmars avatar viktorfrinx avatar dkutenicsova avatar nevolnikova avatar chmarax avatar fglemba avatar martinsunal avatar fontealpina avatar martinus550 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.