配置
当使用自定义 NeoDash 部署时,可以配置几个设置。这些主要与独立模式和 SSO 配置相关。
对于简单的(非 Docker 化)部署,在构建应用程序后,可以通过修改dist/config.json
来更改这些配置参数。当使用 Docker 镜像时,这些参数可以作为环境变量传递。有关 Docker 部署的更多信息,请参阅独立模式。
NeoDash 的示例配置(默认值,在编辑器模式下运行)如下所示
{ "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": "", }
配置选项
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
ssoEnabled |
布尔值 |
false |
如果启用,则允许用户使用 SSO 连接到 Neo4j。这需要应用程序在独立模式下运行,并且设置有效的 ssoDiscoveryUrl。 |
ssoProviders |
列表 |
[] |
当在数据库上使用多个 SSO 提供程序时,您可以配置要在 Neodash 上使用的提供程序列表(按 ID)。如果为空,则将显示所有提供程序。 |
ssoDiscoveryUrl |
字符串 |
如果 ssoEnabled 为 true 且启用了独立模式,则为从其检索 SSO 身份验证配置的 URL。 |
|
standalone |
布尔值 |
false |
确定是否以编辑器模式(false)或阅读器模式(true)运行 NeoDash。术语“阅读器模式”和“独立模式”可以互换使用。 |
standaloneProtocol |
字符串 |
neo4j |
在独立模式下运行时,用于 Neo4j 驱动程序的协议。这应设置为以下之一: |
standaloneHost |
字符串 |
localhost |
在独立模式下运行时,要连接到的主机名。这应该仅仅是主机名,没有协议或端口。 |
standalonePort |
字符串 |
7687 |
在独立模式下运行时,要连接到的 Bolt 端口。 |
standaloneDatabase |
字符串 |
neo4j |
在独立模式下运行时,用于报告的数据库。报表中使用的 Cypher 查询将从此数据库读取数据。 |
standaloneUsername ⚠️ |
字符串 |
… |
一个隐藏的配置参数允许您默认设置独立模式的用户名。请记住,这存在安全风险,因为它会将 Neo4j 用户名暴露给任何可以访问 NeoDash 部署的人。 |
standalonePassword ⚠️ |
字符串 |
… |
一个隐藏的配置参数允许您默认设置独立模式的密码。如果设置此值,则也会自动建立连接。请记住,这存在安全风险,因为它会将 Neo4j 用户名暴露给任何可以访问 NeoDash 部署的人。 |
standaloneDashboardName |
字符串 |
我的仪表盘 |
在独立模式下运行时要加载的仪表盘的确切名称(区分大小写)。这必须是作为图中节点保存的仪表盘。 |
standaloneDashboardDatabase |
字符串 |
neo4j |
包含已保存仪表盘节点的 Neo4j 数据库的名称。默认情况下为 neo4j,除非您使用 Neo4j 企业版,后者允许您使用多个数据库。 |
standaloneDashboardURL |
字符串 |
neo4j |
如果您没有在 Neo4j 内部保存仪表盘,并且希望使用来自 URL 的仪表盘运行独立模式部署,请将此参数设置为指向仪表盘 JSON 的完整 URL。 |
standaloneAllowLoad |
布尔值 |
false |
如果设置为 yes,则“加载仪表盘”按钮将在独立模式下启用,允许用户从 Neo4J 加载其他仪表盘。默认情况下,此参数为 false,除非您使用 Neo4j 企业版,后者允许您使用多个数据库。注意:当在独立模式下启用加载时,只有数据库可用作源,文件不可用。 |
standaloneLoadFromOtherDatabases |
布尔值 |
false |
如果standaloneAllowLoad设置为 true,则此参数启用或禁用用户从除standaloneDashboardDatabase中定义的数据库之外的其他数据库加载仪表盘。如果standaloneAllowLoad设置为 false,则此参数无效。 |
standaloneMultiDatabase |
布尔值 |
false |
如果此参数设置为 true,则独立配置将忽略standaloneDatabase参数,并允许用户在登录屏幕中从standaloneDatabaseList中提供的数据库中选择要连接到的数据库,并使用下拉列表。默认情况下,此参数为 false,除非您使用 Neo4j 企业版,后者允许您使用多个数据库。 |
standaloneDatabaseList |
字符串 |
neo4j |
如果standaloneMultiDatabase设置为 true,则此参数必须包含一个用逗号分隔的数据库名称列表,这些名称将在用户登录时显示为数据库下拉列表中的选项(例如,'neo4j,database1,database2' 将在连接屏幕中使用值'neo4j'、'database1'和'database2'填充数据库下拉列表)。如果standaloneMultiDatabase设置为 false,则此参数无效。 |
loggingMode |
字符串 |
none |
确定 neodash 是否应创建任何用户活动日志。可能的值包括: ⚠️ 日志使用当前用户凭据(或如果已配置则使用 standaloneUsername)在 Neo4J 数据库中创建;必须授予日志数据库的写入权限才能启用任何用户创建日志。 ⚠️ * 从文件加载/保存到文件不会记录(仅从/到数据库) |
loggingDatabase |
字符串 |
neo4j |
当 loggingMode 设置为除“0”以外的任何值时,要用于日志记录的数据库。日志记录(节点)将在此数据库中创建。 |
customHeader |
字符串 |
none |
设置后,仪表盘标题将显示参数值作为固定字符串,否则它将显示当前连接的主机和端口。 |
配置 SSO
如果您的 Neo4j 数据库已启用使用单点登录,则 NeoDash 可以使用 SSO 作为基于密码的登录的替代方法。要启用 SSO,请将ssoEnabled
设置为true
。然后,将ssoDiscoveryUrl
设置为discovery.json
所在的位置(这通常是数据库的主机名,后跟/discovery.json
)。
请注意,SSO 仅在启用独立模式时可用。
身份验证提供程序
要设置 NeoDash 以使用外部身份提供程序,您可以将 /auth_provider 资源添加到 nginx(在/conf/default.conf
中)
location /auth_provider { default_type application/json; return 200 '{ "auth_config" : { "oidc_providers" : [ ... ] } }'; }
对于基本部署,可能只需将请求路由到 neo4j 数据库 https 端口上的/auth_provider
即可。
配置独立模式
独立模式或阅读器模式会覆盖 NeoDash 的功能,允许您将固定仪表盘部署给用户。可以通过更改standalone
配置参数来启用独立模式
-
如果独立模式为
false
,则所有其他配置参数将被忽略。NeoDash 将在编辑器模式下运行,并需要手动登录。 -
如果独立模式为
true
,则 NeoDash 将读取所有配置参数。将自动加载一个预定义的仪表盘,并且无法对仪表盘进行任何更改。有两种类型的有效独立部署-
从Neo4j 读取固定仪表盘的独立部署。
standaloneDashboardName
和standaloneDashboardDatabase
配置参数用于定义这些。 -
从URL 读取固定仪表盘的独立部署。
standaloneDashboardURL
配置参数用于定义此。
-
-
独立模式也可以配置为允许用户在预定义的仪表盘加载完成后加载不同的仪表盘(仪表盘标题右侧将显示一个“加载仪表盘”按钮)。
standaloneAllowLoad
和standaloneLoadFromOtherDatabases
用于定义此功能。 -
在允许用户在独立模式下动态加载仪表盘时,他们可能还需要连接到不同的数据库,具体取决于正在加载的特定仪表盘。可以通过将
standaloneMultiDatabase
设置为 true 并在standaloneDatabaseList
参数中提供允许的数据库名称的逗号分隔列表来启用此功能。