All versions of this manual
X
 

User-data store

Linkurious Enterprise uses an SQL database to store user-data. The database contains:

  • visualizations
  • users
  • groups
  • access-rights

By default, the user-data store is a SQLite file-based database. This makes Linkurious Enterprise easy to deploy.

To see the list of database providers and versions supported by Linkurious Enterprise, please view the compatibility matrix.

For deployment at scale (more than a couple users), we recommend switching to one of the supported server-based databases:

MySQL 8 is not yet supported in Linkurious Enterprise 3.0.14.

Getting started

In order to get started with Linkurious Enterprise, there are few requirements for user-data store to function properly.

  • The database should be empty. Linkurious Enterprise will handle the creation and maintenance of the database structures.
  • For Linkurious Enterprise to perform database operations, a local SQL account with sufficient privileges must be provided to allow running any read / write / DDL query.

Database configuration

Linkurious Enterprise provides many options which can be used to configure user-data store connection. Below, you can find the configuration documentation and configuration examples for popular DBMS solutions.

In the Linkurious Enterprise configuration file, it is possible to configure the database connection under db key.

  • name (default: "linkurious"): Database name for Linkurious Enterprise to use.
  • username (optional): Username for the database user
  • password (optional): Password for the database user
  • options: Child object that contains connection options
    • dialect (default: "sqlite"): The database dialect to be used. Supports: "sqlite", "mysql", "mariadb", "mssql"
    • host: Host address of the database
    • port: Port address of the database
    • storage (only for "sqlite"): Storage location for the database file
    • dialectOptions (optional): Child object that contains dialect specific additional options
      • ssl (default: false, boolean): Whether to use SSL for database connection
      • encrypt (default: false, boolean): Whether to enable encryption (useful for cloud instances with encryption enabled by default)
      • multiSubnetFailover (default: false, boolean): Whether the driver attempts parallel connections to the failover IP addresses during a multi-subnet failover for higher availability.

Configure with SQLite

SQLite if the default user-data store of Linkurious Enterprise.

"db": {
    "name": "linkurious",
    "options": {
      "dialect": "sqlite",
      "storage": "server/database.sqlite"
    }
}

Configure with MySQL

"db": {
    "name": "linkurious",
    "username": "MYSQL_USER_NAME",
    "password": "MYSQL_PASSWORD",
    "options": {
      "dialect": "mysql",
      "host": "MYSQL_HOST",
      "port": 3306
    }
}

Configure with Microsoft SQL Server

"db": {
    "name": "linkurious",
    "username": "MSSQL_USER_NAME",
    "password": "MSSQL_PASSWORD",
    "options": {
      "dialect": "mssql",
      "host": "MSSQL_HOST",
      "port": 1433
    }
}

Configure with MariaDB

"db": {
    "name": "linkurious",
    "username": "MARIADB_USER_NAME",
    "password": "MARIADB_PASSWORD",
    "options": {
      "dialect": "mariadb",
      "host": "MARIADB_HOST",
      "port": 3306
    }
}