Deploying on premise: Technical requirements
Linkurious Enterprise is a Web-application server. It needs to be installed on a server and can then be accessed by multiple users using their Web browser.
Linkurious Enterprise Server
Technical requirements for the machine used to install the Linkurious Enterprise Web-application server:
Hardware
Linkurious Enterprise hardware requirements change according to your needs and setup. Here are some scenarios with their suggested minimum hardware configurations.
Scenario 1
Project up to 20 users and few alerts.
Using the embedded Elasticsearch1:
- 6GB of RAM3
- 4 CPU cores
- 3GB of free space + space for Elasticsearch2 (SSD preferred)
Not using the embedded Elasticsearch:
- 5GB of RAM
- 2 CPU cores
- 3GB of free space (SSD preferred)
Scenario 2
Project up to 100 users and tenth of alerts.
Using the embedded Elasticsearch1:
- 6GB of RAM3
- 8 CPU cores
- 5GB of free space + space for Elasticsearch2 (SSD preferred)
Not using the embedded Elasticsearch:
- 5GB of RAM
- 4 CPU cores
- 5GB of free space (SSD preferred)
Scenario 3
Project with more than 100 users and several alerts.
To maintain stable performance, it is necessary to move heavily loaded components to well-dimensioned dedicated servers/clusters:
- use an external Index Server (i.e. not the embedded Elasticsearch server);
- use an external user-data store (i.e. not the embedded SQLite server).
Hardware requirements only for the Linkurious Enterprise server:
- 6GB of RAM4
- 8 CPU cores
- 3GB of free space (SSD preferred)
Extra information:
Linkurious Enterprise requires a 64-bit system to run.
1The embedded Elasticsearch is not recommended when dealing with large amounts of data, see Elasticsearch documentation.
2Some extra space is required for the Elasticsearch full-text index. This space is proportional to the size of your graph database. A (very) rough estimate could be 50% of your graph database (it also depends on the actual data density).
3It is possible to configure Elasticsearch for higher memory usage, please contact us at support@linkurio.us.
4It is possible to configure Linkurious Enterprise for higher memory usage more, please contact us at support@linkurio.us.
Please keep in mind that these technical requirements are for Linkurious Enterprise server only. For hardware requirements regarding your graph database, please refer to these guides:
Elasticsearch
Linkurious Enterprise includes an embedded Elasticsearch instance for search capabilities. Please keep in mind that this embedded instance will only work for smaller graphs (less than 50M nodes + edges). For larger graphs, you will need to deploy an Elasticsearch cluster. Please refer to Elasticsearch's hardware requirements guide for details.
Operating System
Linkurious Enterprise server can be deployed on the following platforms:
- Windows
- Windows 8.1
- Windows 10
- Windows Server 2012 R2
- Windows Server 2016
- Windows Server 2019
- Linux
- CentOS 7.8+
- Ubuntu 16.04+
- Debian 9+
- Red Hat 7+
- macOS
- 10.11+ (OS X El Capitan and above)
Node.js and GLIBC 2.17
Linkurious Enterprise depends on Node.js that requires a Linux kernel >= 3.10 and a GLIBC >= 2.17.
You can check the Linux kernel and the GLIBC version available on your system on http://distrowatch.com.
SQLite on CentOS 7 / RHEL 7
SQLite requires C++ features provided by GCC >= 10. CentOS 7 and RHEL 7 ship with GCC 4.2 by default. In order to use a SQLite user-data-store on these operating systems, GCC 10 must be installed manually, using the following procedure:
Install
gcc10-libstdc++
(see package information here).Add the environnment variable
LD_LIBRARY_PATH
with the value$PATH:/opt/gcc-10.2.1/usr/lib64/
in thedata/manager/manager.json
configuration file:
{
"name": "Linkurious",
"description": "http://linkurio.us",
"autoStartServices": true,
"port": 5891,
"secret": "graphs-are-awesome",
"services": [
{
"name": "Linkurious Server",
"home": "../../system",
"maxRestarts": 0,
"noRestartExitCodes": [
2,
3
],
"restartDelay": 2000,
"binPath": "node",
"arguments": [
"server/app.js",
"-p"
],
"env": {
"NODE_OPTIONS": "--max-old-space-size=4096",
"LD_LIBRARY_PATH": "$PATH:/opt/gcc-10.2.1/usr/lib64"
}
},
// ...
]
}
Doing this is not necessary on CentOS 8+ / RHEL 8+, or if using another user-data-store than SQLite.