Configuring
To edit the Linkurious Enterprise configuration, you can either edit the configuration file located at linkurious/data/config/production.json
or use the Web user-interface:
Using an administrator account, access the Admin > Global configuration menu to edit the Linkurious Enterprise configuration:
Some configuration changes will require restarting the server to be applied. Linkurious Enterprise will notify you and offer you to restart from the Web UI only if you made the changes from the Web UI. If you modified the production.json file manually, changes will not be applied immediately, and you will need to restart Linkurious Enterprise.
Configuration sections are organized by category.
ℹ️ Password fields are obfuscated in the Web UI, but can be edited.
Variable expansion
You can also use dynamic variables in the configuration: these variables will be replaced by values read from environment variables or files at runtime.
For example, if you set {"myKey": "$ENV:NEO4J_PASSWORD"}
in the configuration, the value of
myKey
will take the value of the NEO4j_PASSWORD
environment variable at runtime.
The following variable expressions are supported:
$ENV:VAR1
: replaced with the value of theVAR1
environment variable;$ENV-NUMBER:VAR2
: replaced with the value of theVAR2
environment variable, interpreted as a number;$ENV-JSON:VAR3
: replaced with the value of theVAR3
environment variable, interpreted as JSON;$FILE:/path/to/file
: replaced with the content of the file at/path/to/file
, parsed as UTF-8 text.
In the configuration object, you can use the following syntax:
When you are finished changing, click Save.
ℹ️ Limitations with the
$ENV-JSON
expansion:
$ENV-JSON
does not work when used at the root level or at the first level of the configuration (for example for the wholeserver.*
configuration key).$ENV-JSON
does not work when used at any level within thedataSource.*
configuration key.
🛡 Security considerations for configuration variable expansion:
$FILE
expansion is limited to files of 1MB or less$FILE
expansion can be constrained to only resolve files under a certain folder, for example, setting theLKE_CONFIG_INJECTABLE_FILE_ROOT
environment variable to./my-files
only allows files under thelinkurious/data/my-files
folder to be injected in the configuration.- Variable expansion can be switched to read-only mode by setting the
LKE_CONFIG_EXPANSION_READ_ONLY
environment variable to "true".
Environment variables
In addition to the configuration file, the following environment variables can be used to change the behavior of Linkurious Enterprise:
LKE_PLUGINS
- Example:
LKE_PLUGINS='["image-export"]'
- Default value:
["plugin-manager", "image-export"]
; - Description: A JSON-encoded array of official plugin names that should be installed (i.e., copied from
./data/plugins-available
to./data/plugins
) at startup.
- Example:
LKE_STD_LOG_FORMAT
- Example:
LKE_STD_LOG_FORMAT=json
- Default value:
text
- Description: Whether to generate logs on the standard output as text (
text
) or JSON (json
). This is mainly used to make the Docker version of Linkurious Enterprise generate JSON logs.
- Example:
LKE_CONFIG_INJECTABLE_FILE_ROOT
- Example:
LKE_CONFIG_INJECTABLE_FILE_ROOT=./my-config-files/
- Default value: none (no constraints)
- Description: Force
$FILE
variables to be resolved in this folder. Relative paths are resolved from the data-folder (see details).
- Example:
LKE_CONFIG_EXPANSION_READ_ONLY
- Example
LKE_CONFIG_EXPANSION_READ_ONLY=true
- Default value:
false
- Description: Whether to make configuration variable expansion read-only. In read-only mode, only variables that exist in the configuration file at startup are used, and editing variables (or adding new ones) at runtime via the Web interface is ignored.
- Example
LKE_DATA_PATH
- Example:
LKE_DATA_PATH=/var/lib/linkurious-data
- Default value:
../data
- Description: The path of the data-folder used to read and write the application state
(configuration files, logs, etc.). Relative paths are resolved from the
system
folder.
- Example:
NODE_EXTRA_CA_CERTS
- Example:
NODE_EXTRA_CA_CERTS=./customCA.pem
- Default value: none
- Description: The path to a file with additional certificate authorities (see details).
- Example:
NODE_TLS_REJECT_UNAUTHORIZED
- Example:
NODE_TLS_REJECT_UNAUTHORIZED=0
- Default value:
1
- Description: Whether to reject invalid TLS security certificates (see details).
- Example:
How to set environment variables
On Docker:
When Linkurious Enterprise is installed as a service:
- Environment variables must be set by editing the
"env"
section of server in the./manager/manager.json
file, under the data-folder. - To edit this file: stop and uninstall the Linkurious Enterprise service, edit the file, then reinstall the service.