Table of Contents | ||
---|---|---|
|
...
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
...
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 | ||
/keycloak (mandatory after 6.0.0-ce) | Authentication server | configdb, schedulerdb, realtimedb, quasar | controlpanel | ||
/routerRouting modulekeycloak-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 | Authentication server | configdb(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.
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 |
Once edited, you launch the service as you have done previously with other services. From the directory /nginx-proxy, execute:
...
Code Block | ||
---|---|---|
| ||
> # 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 iotbrokerrouter and cacheservice > cd iotbrokercacheserver > docker-compose up -d > cd .. > #cd First 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;
}
}
|
...