You are viewing the documentation for Blueriq 17. Documentation for other versions is available in our documentation directory.

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Introduction

The DCM Dashboard Frontend is a frontend application which can be used to serve and display your dashboard applications. The Dashboard Frontend is an extension of the Blueriq Material Theme. This page however displays additional information you'll need to consider when deploying the DCM Dashboard infrastructure.

Installation

Just like the existing Material theme the DCM Dashboard Frontend must be deployed. A way to do so can be done via Nginx / Tomcat / or whatever you prefer to use. Below you will find an example on how to do this for nginx. 

Opposed to the Blueriq Material theme the Dashboard Frontend is not scoped to a single Runtime it may be setup to connect to multiple Runtime instance. To support this we have added additional environment properties to the building phase of the Dashboard Frontend. Another change between the Blueriq Material theme and Dashboard Frontend is that all of the requests to downstream service are send through the Gateway Service instead of directly to the Services itself. 

Yarn build

The DCM Dashboard Frontend Kickstarted comes with 2 build scripts and both use a different environment.ts file which can be configured if needed. Configurating in this case means changing the baseUrl.

  1. Change the `environment.runtime.ts` baseUrl to `/server`
  2. Run `yarn build:runtime` (which uses the environment.runtime.ts's configuration)
  3. When finished: Copy the content of /dist to a application server you prefer (for NGINX that would be: /html

NGINX

For getting started with NGINX please take a look at their documentation: https://www.nginx.com/resources/wiki/ 
The following configuration is the minimum needed to get the theme up and running. You could need adjustments to fit your own specific setup.

nginx.conf
error_log logs/error.log;

events {
	worker_connections 1024;
}

http {
	upstream revProxyRuntime {
		# 1: Replace <host>:<port>, example: my.runtime.local:8080
		server <host>:<port>;
	}
	
	server {
		include ../conf/mime.types;
		listen 1337;

		# Instruct the browser to always verify that its cache is up-to-date
		add_header Cache-Control 'max-age=0, must-revalidate';

		location / {
			root html;
			index index.html index.htm;
			try_files $uri $uri/ /index.html =404;
		}
		
		# 2: /server matches with what was configured in the environment.ts baseUrl
		location /server/ {
			proxy_set_header Host $host;
			proxy_set_header X-Forwarded-Host $host:$server_port;
			proxy_set_header X-Forwarded-Server $host;
			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
			proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header X-Forwarded-Port $server_port;
			
			# 3: This uses the upstream (step 1): So this becomes: http://<host>:<port>/<context>/server/$and_the_rest_of_it;
			# Change the <context> part to the context root of the runtime. This is 'Runtime' if you installed Blueriq with the installer.
			proxy_pass http://revProxyRuntime/<context>$request_uri;
			
			proxy_cookie_path /<context> /;
		}

	}
}  

HTTP Session Management

Http Sessions  

  • No labels