To include in a semantic.works stack, include the following in docker-compose.yml:
dashboard:
image: lblod/frontend-dashboard
links:
- identifier:backend
restart: always
The dashboard has support for displaying reports, errors and jobs and these features are enabled by default. However, some projects only want to use some of the features.
For those apps we also support disabling them by configuring the corresponding environment variable.
dashboard:
#...
environment:
EMBER_DISABLE_REPORTS: "true"
EMBER_DISABLE_ERRORS: "true"
EMBER_DISABLE_JOBS: "true"
Note: At least one feature needs to stay enabled, otherwise an error will be thrown
The dashboard supports different methods of authentication. The default login route can be configured by setting the EMBER_LOGIN_ROUTE
environment variable.
This is the default method, so the EMBER_LOGIN_ROUTE
variable doesn't need to be set.
In order to be able to log in with mu-login in the dashboard, you should include the mu-login-service in your docker-compose.yml:
login:
image: semtech/mu-login-service:2.9.1
links:
- database:database
dispatcher.ex should contain the following rule in order to get ember-mu-login working:
match "/sessions/*path", %{ accept: %{json: true} } do
Proxy.forward conn, path, "http://login/sessions/"
end
The mock-login
route needs the mock-login-service. Follow the instructions in the readme.
dashboard:
#...
environment:
EMBER_LOGIN_ROUTE: "mock-login"
The acmidm-login
route needs the acmidm-login-service. Follow the instructions in the readme.
It also requires some extra environment variables in the frontend:
The code snippet contains example values, adjust these based on your environment
dashboard:
#...
environment:
EMBER_LOGIN_ROUTE: "acmidm-login"
EMBER_ACMIDM_CLIENT_ID: "client-id"
EMBER_ACMIDM_BASE_URL: "https://authenticatie.vlaanderen.be/op/v1/auth"
EMBER_ACMIDM_REDIRECT_URL: "https://your-dashboard-domein/authorization/callback"
EMBER_ACMIDM_LOGOUT_URL: "https://authenticatie.vlaanderen.be/op/v1/logout"
EMBER_ACMIDM_SCOPE: "openid rrn vo profile"
The dashboard makes it possible for admin users to impersonate different user accounts so things can be verified without having to change accounts.
To enable this you need to configure the EMBER_ADMIN_ROLE
environment variable and set up the impersonation service in your backend app.