Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
stylenone

...

If you prefer a videotutorial you can watch this: 

https://www.youtube.com/watch?time_continue=5&v=ZcLdEhI5Lfg

Pre-requirements:

1- Have Docker, Community Edition installed

...

keu

value

REPOSITORY

registry.hub.docker.com

PERSISTENCE_TAG

mariadb

MODULE_TAG

2.0.0-ce (or the proper version)

MONGO_TAG

latest6.0-noauth

QUASAR_TAG

14 (not neccesary after 5.0.0-ce)

/docker-compose.yml: if we want to launch the databases without persistence, then we run from a terminal the following command, from the same directory that the file is:

...

Path

Module

DBs up required

Modules up required

/control-panel

Platform's web console.

configdb, schedulerdb, realtimedb, quasar

/webprojects

Platform web hosting

configdb, schedulerdb, realtimedb, quasar

controlpanel

/routerRouting modulekeycloak (mandatory after 6.0.0-ce)

Authentication server

configdb, schedulerdb, realtimedb, quasar

controlpanel

/cacheserverCache keycloak-manager (mandatory after 6.0.0-ce)

Authentication server

configdb, schedulerdb, realtimedb, quasar

controlpanel, keycloak

/cacheserver

Cache server

configdb, schedulerdb, realtimedb, quasar

controlpanel

/iotbroker

Platform's IoT broker.

configdb, schedulerdb, realtimedb, quasar

controlpanel, router, cacheserver

/flowengine

Platform's Flow engine.

configdb, schedulerdb, realtimedb, quasar

controlpanel, router, cacheserver

/api-manager

API Manager Module.

configdb, schedulerdb, realtimedb, quasar

controlpanel, router, cacheserver, iotbroker

/oauth-server (deprecated after 6.0.0-ce)

Authentication server

configdb, schedulerdb, realtimedb, quasar

controlpanel, router, cacheserver, 

/notebooks

Notebooks module

configdb, schedulerdb, realtimedb, quasar

controlpanel, router, cacheserver, iotbroker

/dashboard-engine

Dashboard module

configdb, schedulerdb, realtimedb, quasar

controlpanel, router, cacheserver, iotbroker

/rules-engine

Rules engine module

configdb, schedulerdb, realtimedb, quasar

controlpanel, router, cacheserver

/dataflow

Dataflow module

configdb, schedulerdb, realtimedb, quasar

controlpanel, router, cacheserver, iotbroker

/devicesimulator

Device simulator module

configdb, schedulerdb, realtimedb, quasar

controlpanel, router, cacheserver, iotbroker

/digitaltwinbroker

Digital twin broker module

configdb, schedulerdb, realtimedb, quasar

controlpanel, router, cacheserver, iotbroker

/monitoringui

Monitoring UI module

configdb, schedulerdb, realtimedb, quasar

controlpanel, router, cacheserver, iotbroker

...

The ./tls folder will be generated, then you can install the certificates in the host. This folder will be mapped to the container.

Once edited, you launch the service as you have done previously with other services. From the directory /nginx-proxy, execute:

Code Block
Note

Starting in 6.0.0-ce version, keycloak and keycloak-manager modules must be up and running in order to log into the Platform. When running keycloak-manager, keycloak and control panel must be up and running previously.

Once edited, you launch the service as you have done previously with other services. From the directory /nginx-proxy, execute:

Code Block
languagebash
> docker-compose up -d

...

Code Block
languagebash
> # First launch controlpanel
> cd control-panel
> docker-compose up -d
> cd ..
> # First launch routerkeycloak and cacheservicekeycloak-manager
> cd cacheserverkeycloak
> docker-compose up -d
> cd ..
> cd routerkeycloak-manager
> docker-compose up -d
> cd ..
> # First launch router and cacheservice
> cd cacheserver
> docker-compose up -d
> cd ..
> cd router
> docker-compose up -d
> cd ..
> # First launch iotbroker
> cd iotbroker
> docker-compose up -d
> cd ..
> # First launch dashbardengine
> cd dashboard-engine
> docker-compose up -d
> cd ..

...

Code Block
user www-data;
worker_processes 4;
pid /run/nginx.pid;

events {
	worker_connections 4000;
	use epoll;
	multi_accept on;
}

http {
	##
	# Basic Settings
	##

	sendfile on;
	tcp_nopush on;
	tcp_nodelay on;
	keepalive_timeout 65;
	types_hash_max_size 2048;
	
	# disable any limits to avoid HTTP 413 for large image uploads
	client_max_body_size 0;
	
    # required to avoid HTTP 411: see Issue #1486 (https://github.com/docker/docker/issues/1486)
    chunked_transfer_encoding on;	
	
	server_tokens off;
    proxy_pass_header Server;
	
	include /etc/nginx/mime.types;
	default_type application/octet-stream;

	##
	# Logging Settings
	##

	access_log /var/log/nginx/access.log;
	error_log /var/log/nginx/error.log;

	##
	# Gzip Settings
	##

	gzip on;
	gzip_disable "msie6";

	##
	# Virtual Host Configs
	##
	
	# Importante para nombres de dominio muy largos
	server_names_hash_bucket_size 128;

	include /etc/nginx/conf.d/*.conf;
	include /etc/nginx/sites-enabled/*;

	server {
			
			listen 443 ssl;
    		# Replace ${SERVER_NAME} with name obtained from console command output: "hostname"
			server_name ${SERVER_NAME}; 
			
			# SSL configuration (for https)
			add_header Strict-Transport-Security "max-age=31536000";
			ssl_certificate /usr/local/tls/selfsigned.crt;
    		ssl_certificate_key /usr/local/tls/selfsigned.key;
			ssl_protocols SSLv2 SSLv3 TLSv1.1 TLSv1.2;
			ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK';
					
			# Uncomment if ControlPanel module is deployed
			# Required databases up (po_data): [ConfigDB, SchedulerDB, RealTimeDB, Quasar]
			include /usr/local/conf.d/controlpanel.conf;
			
			# Uncomment if Keycloak module is deployed
			# Required modules up and uncommented (op_modules): [ControlPanel]
			# Required databases up (op_data): [ConfigDB, SchedulerDB, RealTimeDB, Quasar]
			include /usr/local/conf.d/keycloak.conf;
			
			# Uncomment if Router (Sematic inf. Broker) module is deployed
			# Required modules up and uncommented (op_modules): [ControlPanel]
			# Required databases up (op_data): [ConfigDB, SchedulerDB, RealTimeDB, Quasar]
			include /usr/local/conf.d/router.conf;

			# Uncomment if DigitalBroker (IoTBroker) module is deployed
			# Required modules up and uncommented (op_modules): [Router, ControlPanel]
			# Required databases up (op_data): [ConfigDB, SchedulerDB, RealTimeDB, Quasar]
			include /usr/local/conf.d/digitalbroker.conf;

			# Uncomment if you want to use web projects. 
			# Required modules up and uncommented (op_modules): [ControlPanel]
			# Required databases up (op_data): [ConfigDB, SchedulerDB, RealTimeDB, Quasar]
			#include /usr/local/conf.d/web.conf;

			# Uncomment if you want to use APIs projects. 
			# Required modules up and uncommented (op_modules): [Router, DigitalBroker, ControlPanel]
			# Required databases up (op_data): [ConfigDB, SchedulerDB, RealTimeDB, Quasar]
			#include /usr/local/conf.d/apimanager.conf;
			
			# Uncomment if DashboardEngine module is deployed
			# Required modules up and uncommented (op_modules): [Router, DigitalBroker, ControlPanel]
			# Required databases up (op_data): [ConfigDB, SchedulerDB, RealTimeDB, Quasar]
			include /usr/local/conf.d/dashboardengine.conf;

			# Uncomment if Notebooks module is deployed
			# Required modules up and uncommented (op_modules): [Router, DigitalBroker, ControlPanel]
			# Required databases up (op_data): [ConfigDB, SchedulerDB, RealTimeDB, Quasar]
			#include /usr/local/conf.d/notebook.conf;

			# Uncomment if FlowEngine (Nodered) module is deployed
			# Required modules up and uncommented (op_modules): [Router, DigitalBroker, ControlPanel]
			# Required databases up (op_data): [ConfigDB, SchedulerDB, RealTimeDB, Quasar]
			#include /usr/local/conf.d/flowengine.conf;

			# Uncomment if OauthServer module is deployed
			# Required modules up and uncommented (op_modules): [Router, DigitalBroker, ControlPanel]
			# Required databases up (op_data): [ConfigDB, SchedulerDB, RealTimeDB, Quasar]
			#include /usr/local/conf.d/oauthserver.conf;

			# Uncomment if DeviceSimulator module is deployed
			# Required modules up and uncommented (op_modules): [Router, DigitalBroker, ControlPanel]
			# Required databases up (op_data): [ConfigDB, SchedulerDB, RealTimeDB, Quasar]
			#include /usr/local/conf.d/devicesimulator.conf;
			
			# Uncomment if DigitalTwinBroker module is deployed
			# Required modules up and uncommented (op_modules): [Router, DigitalBroker, ControlPanel]
			# Required databases up (op_data): [ConfigDB, SchedulerDB, RealTimeDB, Quasar]
			#include /usr/local/conf.d/digitaltwinbroker.conf;
			
			# Uncomment if MonitoringUI module is deployed
			# Required modules up and uncommented (op_modules): [Router, DigitalBroker, ControlPanel]
			# Required databases up (op_data): [ConfigDB, SchedulerDB, RealTimeDB, Quasar]
			#include /usr/local/conf.d/monitoringui.conf;
			
			# Uncomment if RulesEngine Service module is deployed
			# Required modules up and uncommented (op_modules): [Router, DigitalBroker, ControlPanel]
			# Required databases up (op_data): [ConfigDB, SchedulerDB, RealTimeDB, Quasar]
			#include /usr/local/conf.d/rulesengineservice.conf;

			
			
	}


}

...