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
...
keu | value |
---|---|
REPOSITORY | |
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 | ||
---|---|---|
| ||
> docker-compose up -d |
...
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 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;
}
}
|
...