Installation

Supported FIWARE GEs and third-party open source software

Supported FIWARE GEs

  • Keyrock
  • Wilma
  • Orion
  • Orion-LD
  • Mintaka
  • Cygnus
  • Comet
  • Perseo
  • QuantumLeap
  • WireCloud
  • Ngsiproxy
  • IoT Agent for UltraLight (over HTTP and MQTT)
  • IoT Agent for JSON (over HTTP and MQTT)

Supported third-party open source software

  • Node-RED
  • Grafana
  • Apache Zeppelin
  • Mosquitto
  • Elasticsearch (as a database for persitenting context data)

Requirements

Virtual machine

A virtual machine with a public IP address (global IP address) or a virtual machine that can be accessed from the Internet via a network equipment

Supported Linux distribution

The FIWARE Big Bang supports Ubuntu, Rocky Linux and AlmaLinux as Linux distribution. The recommended Linux distribution is Ubuntu 22.04.

Domain name

An own domain name is needed to access Web Applications and APIs with a domain name. You can access each Web Application or API with a sub-domain name.

Ports exposed on the internet

The Web Applications and APIs installed by FIWARE Big Bang uses some ports.

  • Port 443 (HTTPS) is used by Web Applications and APIs
  • Port 80 (HTTP) is used to get Let's encrypt Server certificates
  • Port 1883 is used by Mosquitto when enabling MQTT
  • Port 8883 is used by Mosquitto when enabling MQTT TLS

Prerequisite

Before running the setup script, you need to register sub-domain names of FIWARE GEs in DNS using A records or CNAME records.

  • keyrock.example.com
  • orion.example.com

Getting Started

Download a tar.gz file for the FIWARE Big Bang.

curl -sL https://github.com/lets-fiware/FIWARE-Big-Bang/releases/download/v0.37.0/FIWARE-Big-Bang-0.37.0.tar.gz | tar zxf -

Move to the FIWARE-Big-Bang-0.37.0 directory.

cd FIWARE-Big-Bang-0.37.0/

Run the lets-fiware.sh script with your own domain name and a public IP address.

./lets-fiware.sh example.com XX.XX.XX.XX

Command syntax

The lets-fiware.sh command accepts two arguments. The first argument is a domain name. The second one is a public IP address. It can be omitted when your virtual machine has a public IP address.

./lets-fiware.sh DOMAIN_NAME [PUBLIC_IP_ADDRESS]

Examples:

  • ./lets-fiware.sh example.com
  • ./lets-fiware.sh example.com XX:XX:XX:XX

Configuration

You can specify configurations by editing the config.sh file. Please see each documentation for details as below:

Multi-server installation

The multi-server installation allows to install FIWARE GEs and other OSS to multiple servers. Please see this documentation for details.

Expose ports

Some FIWARE GEs and other OSS running in a Docker container can expose a port for their service. Please see this documentation for details.

Examples

Configuration examples are as shown:

Example 1

Configure Orion Context broker.

KEYROCK=keyrock
ORION=orion

Example 2

To store persistent context data to PostgreSQL, configure Cygnus and PostgreSQL.

KEYROCK=keyrock
ORION=orion
CYGNUS=cygnus
CYGNUS_POSTGRES=true

Example 3

To persists Time Series Context Data, configure Comet and Cygnus.

KEYROCK=keyrock
ORION=orion
COMET=comet
CYGNUS=cygnus

Example 4

Configure IoT Agent for UltraLight 2.0 over HTTP with basic authentication.

KEYROCK=keyrock
ORION=orion
IOTAGENT_UL=iotagent-ul
IOTAGENT_HTTP=iotagent-http
IOTA_HTTP_AUTH=basic

Example 5

Configure IoT Agent for UltraLight 2.0 over MQTT TLS.

KEYROCK=keyrock
ORION=orion
IOTAGENT_JSON=iotagent-json
MOSQUITTO=mosquitto
MQTT_TLS=true

Example 6

Configure WireCloud.

KEYROCK=keyrock
ORION=orion
WIRECLOUD=wirecloud
NGSIPROXY=ngsiproxy

Example 7

Configure Node-RED.

KEYROCK=keyrock
ORION=orion
NODE_RED=node-red