Configuration

Changes from 2.0

Major difference in configuration files between 2.0 and 2.1 is that we no longer use JSON in favor of YAML file format.

Some variables have been renamed for more verbose equivalents.

If you already have json config it will be converted to YAML with all your settings preserved. Your old configuration will be renamed so you wont loose old settings.

Net-Api v2.1

name:

Application identifier. May be used in logs.

uploadFileStoreTimeInSeconds:

Time after the file will be deleted after the upload.

database [array]:

rasServer:

IP of the RAS (Remote Access Server) to which you wish to connect.

rasServerPorts [array]:

Array of ports the RAS is listening. When you have multiple ports then the first to respond will handle your request.

databaseServer:

IP of the Database Server.

databaseName:

Path or alias of the database.

databaseAlias:

Allows to run single REST-Api with multiple databases. Each database must have its own unique alias. For more information please check the "Connecting to more than one database" on REST API/Information/Installation page.

Alias 'v1' and 'v2' are not permitted to avoid naming conflicts.

userName:

Username which will init the connection.

userPassword:

MD5 hash of the user's password.

tmpDir:

Absolute/Relative path where REST-Api should store/look for files from DOCUframe

docuframeTmpDir (optional):

[Since 2.1.2] Absolute path where DOCUframe will store/fetch files. If not set then DF will get path from its config. Allows to use multiple REST-Api databases while having single DOCUframe application without file overlapping.

tmpDir and docuframeTmpDir must point to the exact catalog

If your DF is on another server then you must mount docuframeTmpDir to the tmpDir in order to be able to upload/download files.

session:

sessionTimeoutInSeconds:

Time after the session becomes invalid.

maxSessionLoad:

Maximum amount of request that single session can make.

pool:

driver:

Tells which driver should handle session storage. Using memory will allow users to connect only to the single instance of this app. This means that if you have two application running then you must log to each separately.

redis:
host:

IP address of redis application.

port:

Redis port.

primaryDb:

Primary database which stores user sessions.

secondaryDb:

Secondary database which stores generic application data.

memory:

Setting's placeholder. May be used in future.

listener [array]:

Listeners on which application will wait for client's requests.

HTTP2 and HTTPS require keys and certificates.

Keep in mind that you should always use your own certificate. The ones bundled with the app do not guarantee maximum security and should only be used in non-production environments.

encryption:

Enables second layer of encryption. Application was tested with PKCS 1 or 8 key standard.

publicKey:

Path to public key. Will be generated if does not exists.

privateKey:

Path to private key. Will be generated if does not exists.

salt:

String of random characters.

This option makes your AES keys much more secure and cryptographically safe.

Info

It is advised to set this configuration by typing random string directly from your keyboard.

enabled:

Enables secure routes registration. If disabled then keys will not generate.

connection:

acquireTimeoutMilliseconds:

Time after client will be timed out. It will work when the number of current connections is equal to maximum connections allowed.

idleTimeoutMilliseconds:

The time after connection socket will be disconnected and removed.

minimum:

Minimum number of connections that stay available for clients.

maximum:

Maximum number of simultaneous connection to DOCUframe.

logger:

trimLogs:

Turn on if you want to trim part of logs.

maximumLogCharacters:

Number of characters from the begging you want to preserve in a console when trimLogs is enabled.

ansiColoring:

Enables log coloring. If your logs do not color and contain strange characters then turn this option off.

This feature requires an ANSI support in console.

It is enabled by default on Windows 10 and Unix. Older operating systems do not support it.

statistics:

enabled:

[Since 2.1.3] Enables statistics logging.

More information can be found here

messageBus:

[Since 2.1.4]

driver:

Tells which driver should handle messaging between rest-api instances. Using memory will allow users to connect only to the single instance of this app. This means that if you scaling rest-api horizontally you must use rabbitMQ otherwise rest-api may work instable.

rabbitMQ:
host:

IP address of rabbitMQ application.

port:

RabbitMQ port.

userName:

RabbitMQ username.

password:

RabbitMQ password.