Configuration settings
When using a custom NeoDash deployment, there are several settings you can configure. They mostly relate to Standalone mode and SSO configurations.
For a simple (non-Dockerized) deployment, these configuration parameters can be changed by modifying dist/config.json
after you have built the application.
When using a Docker image, the parameters can be passed as environment variables.
See Standalone mode for more on Docker deployments.
An example configuration for NeoDash (default, running in editor mode) looks like this:
{
"ssoEnabled": false,
"ssoProviders": [],
"ssoDiscoveryUrl": "https://example.com",
"standalone": false,
"standaloneProtocol": "neo4j",
"standaloneHost": "localhost",
"standalonePort": "7687",
"standaloneDatabase": "neo4j",
"standaloneDashboardName": "My Dashboard",
"standaloneDashboardDatabase": "dashboards",
"standaloneDashboardURL": "",
"standaloneAllowLoad": false,
"standaloneLoadFromOtherDatabases": false,
"standaloneMultiDatabase": false,
"standaloneDatabaseList": "neo4j"
"loggingMode": "0",
"loggingDatabase": "logs",
"customHeader": "",
}
See the following table for the full list of configuration settings:
Name | Type | Default value | Description |
---|---|---|---|
ssoEnabled |
Boolean |
false |
If enabled, lets users connect to Neo4j using SSO. This requires a valid ssoDiscoveryUrl to be set. |
ssoProviders |
List |
[] |
When using multiple SSO providers on the database, you can configure the list of providers (by id) to be used on NeoDash. If empty, all providers will be displayed. |
ssoDiscoveryUrl |
String |
If ssoEnabled is true and standalone mode is enabled, the URL to retrieve SSO auth config from. |
|
standalone |
Boolean |
false |
Determines whether to run NeoDash in editor mode (false), or reader mode (true). The terms "reader mode" and "standalone mode" are used interchangeably. |
standaloneProtocol |
String |
neo4j |
When running in standalone mode, the protocol to used for the Neo4j driver.
Set this to one of |
standaloneHost |
String |
localhost |
When running in standalone mode, the hostname to connect to. This is only the hostname, no protocols or ports. |
standalonePort |
String |
7687 |
When running in standalone mode, the Bolt port to connect to. |
standaloneDatabase |
String |
neo4j |
When running in standalone mode, the database to use for reporting. Cypher® queries used in reports read data from this database. |
standaloneDashboardName |
String |
My Dashboard |
The exact name (case-sensitive) of the dashboard to be loaded when running in standalone mode. This must be a dashboard that is saved as a node in the graph. |
standaloneDashboardDatabase |
String |
neo4j |
The name of the Neo4j database that contains the saved dashboard node. This is Neo4j by default unless you are using Neo4j Enterprise Edition, which lets you use multiple databases. |
standaloneDashboardURL |
String |
neo4j |
If you do not save a dashboard inside Neo4j and would like to run a standalone mode deployment with a dashboard from a URL, set this parameter to the complete URL pointing to the dashboard JSON. |
standaloneAllowLoad |
Boolean |
false |
If set to |
standaloneLoadFromOtherDatabases |
Boolean |
false |
If |
standaloneMultiDatabase |
Boolean |
false |
If this parameter is set to |
standaloneDatabaseList |
String |
neo4j |
If |
loggingMode |
String |
none |
Determines whether NeoDash should create any user activity logs.
Possible values include: ⚠️ Logs are created in a Neo4j database using the current user credentials. Write access to the log database must be granted to enable users to create logs. ⚠️ * Load/Save from/to file are not logged (only from/to Database). |
loggingDatabase |
String |
neo4j |
When |
customHeader |
String |
none |
If set, the dashboard header displays the prameter value as a fixed string, otherwise it displays the host and port of the current connection. |
Configuring SSO
NeoDash can use SSO as an alternative for password-based sign-in, if your Neo4j database is enabled to use single sign-on.
To enable SSO, set ssoEnabled
to true
.
Then, set ssoDiscoveryUrl
to the place where your discovery.json
is located (This will often be the hostname of your database, appended by /discovery.json
).
Auth provider
To set up NeoDash to use an external identity provider, you can add a /auth_provider
resource to nginx (in /conf/default.conf
):
location /auth_provider {
default_type application/json;
return 200 '{
"auth_config" : {
"oidc_providers" : [ ... ]
}
}';
}
For basic deployments it might suffice to route requests to /auth_provider
on the HTTPS port of the Neo4j database.
Configuring standalone mode
Standalone mode, or reader-mode, overrides the functionality of NeoDash, allowing you to deploy a fixed dashboard to users. Standalone mode can be enabled by changing the standalone
config parameter:
-
If standalone mode is
false
, all other configuration parameters are ignored. NeoDash runs in editor mode and requires a manual sign-in. -
If standalone mode is
true
, NeoDash reads all configuration parameters. A predefined dashboard loads automatically. It cannot be edited. There are two types of valid standalone deployments:-
A standalone deployment that reads the fixed dashboard from Neo4j. The
standaloneDashboardName
andstandaloneDashboardDatabase
config parameters are used to define these. -
A standalone deployment that reads the fixed dashboard from a URL. The
standaloneDashboardURL
config parameter is used to define this.
-
-
Standalone mode can also be configured to allow users load a different dashboard after the predefined one is loaded (a Load Dashboard button is displayed on the right side of the dashboard title). The
standaloneAllowLoad
andstandaloneLoadFromOtherDatabases
parameters are used to define this. -
When allowing users to load dashboards dyamically in standalone mode, they may also need to connect to different databases, depending on the specific dashboard bing loaded. This can be enabled by setting
standaloneMultiDatabase
totrue
and providing a comma-separated list of the allowed database names in the`standaloneDatabaseList` parameter.