配置

当使用自定义 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

字符串

https://example.com

如果 ssoEnabled 为 true 且启用了独立模式,则为从其检索 SSO 身份验证配置的 URL。

standalone

布尔值

false

确定是否以编辑器模式(false)或阅读器模式(true)运行 NeoDash。术语“阅读器模式”和“独立模式”可以互换使用。

standaloneProtocol

字符串

neo4j

在独立模式下运行时,用于 Neo4j 驱动程序的协议。这应设置为以下之一:neo4jneo4j+sneo4j+sscboltbolt+sbolt+ssc

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 是否应创建任何用户活动日志。可能的值包括:0(不创建日志)、1(跟踪用户登录)、2(跟踪用户访问/加载或保存特定仪表盘时*)。

⚠️ 日志使用当前用户凭据(或如果已配置则使用 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 读取固定仪表盘的独立部署。standaloneDashboardNamestandaloneDashboardDatabase配置参数用于定义这些。

    • URL 读取固定仪表盘的独立部署。standaloneDashboardURL配置参数用于定义此。

  • 独立模式也可以配置为允许用户在预定义的仪表盘加载完成后加载不同的仪表盘(仪表盘标题右侧将显示一个“加载仪表盘”按钮)。standaloneAllowLoadstandaloneLoadFromOtherDatabases 用于定义此功能。

  • 在允许用户在独立模式下动态加载仪表盘时,他们可能还需要连接到不同的数据库,具体取决于正在加载的特定仪表盘。可以通过将 standaloneMultiDatabase 设置为 true 并在 standaloneDatabaseList 参数中提供允许的数据库名称的逗号分隔列表来启用此功能。