Visionect Software Suite Installation

Visionect provides Software Suite packages in multiple variations, based on your specific requirements. You can deploy the Suite either as a Virtual Machine (with tools for demo purposes) or a Docker image.

Before installing or upgrading the Software Suite, we suggest you consult our extensive Release notes

Default settings

  1. Access to the Management Interface:
  • Port: 8081 (i.e.: http://your_server_ip:8081)
  • User: admin
  • Password: admin123
  1. Access to the console if deploying the Virtual machine:
  • User: visionect
  • Password: visionect
  1. Access to the Digital signage demo app if deploying the Virtual machine:
  • Port: 8000 (i.e.: http://your_server_ip:8000/)

Installation

The Visionect Software Suite is a container/Docker-first software, which means that it is run in a container by default. Native packages are not available, with Visionect internally running all servers with Docker.

You will need to install Docker, which is supported on most modern operating systems and natively integrated in the latest Microsoft Windows Server 2016. More information regarding Docker installation can be found at https://docs.docker.com/engine/installation/

The containers are available on Docker Hub and include installation instructions.

Docker Hub repositories:

Docker containers are currently the only way to get the Visionect Software Suite running on embedded boards such as Raspberry Pi 2 and similar. For more information on embedded check Embedded Boards (Raspberry Pi 2 and others).

Quick start

This will deploy a fresh Visionect Software Suite container, PostgreSQL container and configure data volumes for data persistence.

# create postgres container
docker run -d --restart=always -e POSTGRES_PASSWORD=visionect -e POSTGRES_USER=visionect -e POSTGRES_DB=koala --name vserver_postgres postgres
# create data container  named 'vdata' (persistent volumes for things like, log files, firmware packages and configuration files)
docker create --name vdata visionect/visionect-server-v3
# run docker container
docker run --privileged --cap-add=MKNOD --cap-add SYS_ADMIN -v /dev/shm:/dev/shm --device /dev/fuse -d --restart=always -p 8081:8081 -p 11112:11112 -p 11113:11113 --link vserver_postgres:db2_1 --volumes-from vdata --name vserver visionect/visionect-server-v3

Upgrade

To upgrade existing Visionect Software Suite only remove current Visionect Software Suite docker container and run it again. If there is a newer version published it will automatically download the latest image. Vdata and postgres containers do not need to be upgraded.

# remove current Visionect Software Suite container
docker rm -f vserver
# pull newer image from repository
docker pull visionect/visionect-server-v3
# run it again
docker run --privileged --cap-add=MKNOD --cap-add SYS_ADMIN -v /dev/shm:/dev/shm --device /dev/fuse -d --restart=always -p 8081:8081 -p 11112:11112 -p 11113:11113 --link vserver_postgres:db2_1 --volumes-from vdata --name vserver visionect/visionect-server-v3

Note

If not sure about the name of Visionect Software Suite container run docker ps command.

Installation on Ubuntu

To run the Visionect Software Suite on your Ubuntu machine, the Docker must be installed. Read the: https://docs.docker.com/engine/installation/linux/ubuntu/

After the Docker is installed, type in the commands listed in the ‘Quick start’ section of your terminal window.

After all the commands have been executed, type in docker ps -a and check if your Visionect Software Suite and postgres DB are running. The command execution should look similar to the image below.

../_images/ubuntu_installation.png

Installation on Windows

Note

Docker for Windows requires 64-bit Windows 10 Pro and Microsoft Hyper-V. To install on older Windows systems please check https://docs.docker.com/toolbox/toolbox_install_windows/

To run Visionect Software Suite on your Windows machine, the Docker must be installed. The requirements and installations steps are available on the: https://docs.docker.com/docker-for-windows/

After Docker is installed and running, open PowerShell in administrator mode. Type in all the commands listed in the Quick Start section.

After all the commands are being executed, type in docker ps -a and check if your Visionect Software Suite and postgres DB are running. The command execution should look similar to the image below.

../_images/win_installation.png

Installation on Mac

To run the Visionect Software Suite on your Mac, the Docker must be installed. Read the: https://docs.docker.com/docker-for-mac/

After the Docker is installed, type in the commands listed in the ‘Quick start’ section of your terminal window.

After all the commands have been executed, type in docker ps -a and check if your Visionect Software Suite and postgres DB are running. The command execution should look similar to the image below.

../_images/mac_installation.png

Environmental Variables

The following is a list of the environmental variables that can be passed when starting the docker container.

Database-related Environmental Settings

The database settings below are mandatory and should be set if you are using an external PostgreSQL server.

DB2_1_PORT_5432_TCP_ADDR

The TCP host address of the PostgreSQL server to use

DB2_1_PORT_5432_TCP_PORT

The TCP port of the PostgreSQL server

DB2_1_PORT_5432_TCP_USER

The PostgreSQL database owner username

DB2_1_PORT_5432_TCP_PASS t

The PostgreSQL database owner password

DB2_1_PORT_5432_TCP_DB

The PostgreSQL database name to be used for this deployment

Software Suite Configuration

The settings below are not mandatory, but should be used to set up a master/slave Software Suite configuration.

VISIONECT_SERVER_CONFIG

If set, the content should be a JSON-formatted configuration file that will be used on the first run to store the entire server configuration. Use this if you want to migrate an older config.json configuration to a new Visionect Software Suite 3.x setup.

VISIONECT_SERVER_DEPLOYMENT_KEY

If set, the value overrides any set deployment key in the configuration and uses it to identify the components of the deployment

VISIONECT_SERVER_MASTER_HOST

If set, the value is used as the master host if setting up a master/slave configuration.

VISIONECT_SERVER_ENGINE_HOST

If set, the value is the hostname of the engine if the engine is to be a part of a master/slave server configuration.

Virtual Machines

We provide Oracle VirtualBox (https://www.virtualbox.org/) Virtual Machines for customers that want to try out the Visionect Software Suite or for those that do not have the option of installing the Suite directly under Ubuntu.

Virtual Machines are available for download at http://files.visionect.com/vm-2/visionect_server.tgz . If you’re not too familiar with how to deploy a virtual machine, please consult the following guide:

../_images/net-primer-1.png

Network setup example

  • Please check the network configuration before starting the Virtual Machine. Open the imported appliance’s settings and check under Networking tab. Adapter 1 should be configured as Attached to: Bridged adapter and Name: {your network adapter}. This will bind your appliance’s network adapter with your network / wireless adapter - make sure you select the one that is connected to the network that your device will be using. Also check if Advanced > Cable connected is ON (has a checkmark).
../_images/vm-config-network-adapter.png

The correct network adapter configuration. Note that the adapter name will vary amongst computers

  • Start the Virtual Machine. As it starts, you should see a login prompt and just above it your Visionect Software Suite IP (quad in the form of aaa.bbb.ccc.ddd). If the IP is not visible, please consult the advanced guides below.
../_images/net-primer-login.png

Login prompt in the Visionect Software Suite virtual machine

  • Your Virtual Machine is now up and running. All you need to do is connect the client device to the Visionect Software Suite IP.

Defaults:

Management Interface:
  • Port:8081: (ie: http://your_server_ip:8081)
  • Username: admin
  • Password: admin123
Console access:
  • Username: visionect
  • Password: visionect

The user ‘visionect’ is a sudoer, which means you can run privileged commands by running sudo {your command}

Logs are located in /var/log/koala2/.

Getting the server IP from the console

In some cases you will need to get the current server’s IP address manually from the console.

In some cases you will need to get the current Suite’s IP address manually from the console. Log into the Virtual Machine and type the ip addr command. The out of the command will display the current networking configuration. Find the eth0 adapter and search for a line inet - the quad in the form of aaa.bbb.ccc.ddd is your current IP. If you do not see the inet line, you might have issues with your network configuration. The possible causes are a restricted use of DHCP (check with your network administrator), issues with your router, or the fact that you did not bridge the virtual adapter with the right networking adapter (see image).

../_images/net-primer-ip-addr.png

An example output of IP addr command. The IP address of the virtual machine is highlighted

Embedded Boards (Raspberry Pi 2 and others)

Docker container are the only way to deploy the Visionect Software Suite on ARMv7 based embedded boards such as Raspberry Pi 2 and Odroid U2/U3. You should be able to run the Visionect Software Suite on an embedded board if Docker is supported, as long as you download the ARM version of the Visionect Software Suite from the Docker Hub.

Currently tested boards include:

Warning

Raspberry Pi 1 is an ARMv6 board and is not supported.

Installation

# create postgres container
docker run -d --restart=always -e POSTGRES_PASSWORD=visionect -e POSTGRES_USER=visionect --name vserver_postgres zsoltm/postgresql-armhf:9.4
# export environment variables
export POSTGRES_PORT_5432_TCP_ADDR=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' vserver_postgres)
export POSTGRES_PORT_5432_TCP_PORT=5432
# create the server database
docker exec vserver_postgres sh -c 'exec psql -h "$POSTGRES_PORT_5432_TCP_ADDR" -p "$POSTGRES_PORT_5432_TCP_PORT" -U visionect -c "CREATE DATABASE koala WITH owner=visionect;"'
# create data container  named 'vdata' (persistent volumes for things like, log files, firmware packages and configuration files)
docker create --name vdata visionect/visionect-server-v3-armhf
# run docker container
docker run --privileged --cap-add=MKNOD --cap-add SYS_ADMIN --device /dev/fuse -d --restart=always -p 8081:8081 -p 11112:11112 -p 11113:11113 --link vserver_postgres:db2_1 --volumes-from vdata --name vserver visionect/visionect-server-v3-armhf

Other ARMv7 boards should also work. A couple of caveats:

  1. Performance on the embedded boards is limited. These are not high performance servers. IN certain applications this should not pose an issue: non-interactive applications should work just fine.
  2. The embedded boards are mostly bound by memory, and general Visionect Software Suite limitations still apply. If you want to run a couple of screens from a i.MX 6 you’ll need to change the rendering backend from HTML to HTTP and build your app differently - check Graphics Engine and rendering backends for more information.
  3. You’ll need to make sure that you run PostgreSQL if you plan on hosting the database on the embedded board.

Performance Example:

i.MX 6 Sabre Lite development kit with 1 GB of memory:

  • HTML backend, interactive app. We run 3x 6” panels or 2x 9.7” panels. 1x 32” should also work.
  • HTTP backend. We run 5x 32” panels + 1x 6” as a remote control on the same system.