Server Configuration

server.json is the configuration file of the Liquit Workspace Server.
It's default location path is C:\Program Files (x86)\Liquit Workspace\Server\Server.json

The config file is always specific to a single server so we recommend you do not copy it to another server unless you want to migrate an existing Liquit Workspace Server installation to a new server.

The values in a JSON file should always be escaped. For example, "C:\temp" should be "C:\\temp".

Example of a complete server.json configuration

{
  "log": {
    "level":  "Info",
    "path":  "Server.log",
    "rotateCount":  6,
    "rotateSize":  1048576
  },
  "contents":{ 
        "cache": true,
        "replication":  true,
        "threads":  8,
        "interval": 5,
        "path":  "Content"
  },
  "tasks":{
        "enabled": true,
        "threads": 8,
        "untargeted": true,
        "preferSelf": false,
        "interval": 5
  }, 
  "listeners": [
    {
      "required": true,
      "address": "*",
      "port": 80
    },
    {
      "required": true,
      "certificate": "lws",
      "address": "*",
      "port": 443
    }
  ],
  "systemId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "serverId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "connectionString": "Data Source=database.liquit.com;Initial Catalog=Liquit;Integrated Security=False;User ID=db-user;Password=db-password",
  "readOnlyReplicaSupport": true,
  "ignoreUnknownZones": false,
  "redirect": true
}

Example of objects you can use in a config file

log

The Liquit Workspace Server logs events that are initiated.

  "log": {
    "level": "Info",
    "path": "Server.log",
    "rotateCount": 6,
    "rotateSize": 1048576
  }
Property Description Default value
level Defines the level of logging:
  • None Nothing will be logged to the log file
  • Critical only critical errors will be logged to the log file.
  • Error Only errors and critical errors will be logged to the log file.
  • Warning Only warnings, errors and critical errors will be logged to the log file.
  • Info Basic information and warnings, errors and critical errors will be logged to the log file.
  • Debug Detailed information will be logged to the log file about all actions. You can use this information when troubleshooting.
Info
path You can define an alternate path of the Agent log files here. The default location is C:\ProgramData\Liquit Workspace\Server\Logs.
rotateCount The number of log files that will be archived. 5
rotateSize The limit of log file size in bytes. When this limit is reached, a new log file will be created and the old file will be archived. 1048576

contents

Defines how the Liquit Workspace Server should handle its content.

"contents":{ 
    "cache": true,
    "replication": true,
    "threads": 8,
    "interval": 5,
    "path": "C:\\ProgramData\\Liquit Workspace\\Server\\Content"
}
Property Description Default
cache Defines whether or not the content of files that are smaller than 1 MB should be cached in memory. true
replication Enables the replication of the local server content across Liquit Workspace Servers. true
threads The number of threads available for content. 8
interval The number of seconds between idle checks performed to see if any content needs to be replicated. 5
path The path where contents are stored. C:\ProgramData\Liquit Workspace\Server\Content

connectionString

This object is automatically generated when you use the installer to install Liquit Workspace. If the credentials or the location of the database is changed, these changes should be applied to the connectionString object.

"connectionString": "Data Source=database.liquit.com;Initial Catalog=Liquit;Integrated Security=False;User ID=db-user;Password=db-password"

preferredIp

Allows you to set a specific IP which will be used for server communication instead of relying on the automatically detected IP that Liquit Workspace might use.

"preferredIp": "192.168.1.1"

tasks

Control how the Liquit Workspace Server should execute tasks.

  "tasks":{
        "enabled": true,
        "threads": 8,
        "untargeted": true,
         "preferSelf": false,
         "interval": 5,
         "typeLimits": {
                        "sync*": 4, 
                        "cleancontent": 2
                        }
  }
Property Description Default
enabled Defines whether or not the Liquit Workspace Server is allowed to execute tasks. We recommend you always leave it set to true. Disabling tasks will cause unexpected behaviour, so, as an alternative, we recommend you set the untargeted property to false if you want to prevent non-server-specific tasks from being executed by this server. true
threads Defines how many threads that handle tasks can run simultaneously. 8
untargeted Defines whether or not the Liquit Workspace Server is allowed to start tasks that were not created for the current server. true
preferSelf When set to true, the Liquit Workspace Server will handle tasks that have been initiated on the current server. false
interval The number of seconds between idle checks performed to see if any tasks are queued for execution. 5
typeLimits Defines a maximum number of tasks to run simultaneously grouped by their type. This should only be configured if instructed by Liquit. You can use wildcards to configure multiple task limits for a single pattern. Two rules apply:
  • If there are 2 strings with different length matching the same item, the longer string overrules the shorter string (syncconnect* overrules sync*)
  • If there are 2 strings with the same length matching the same item, the one with the highest limit will be used. In the following example, "sync*": 4 will be used:
    {
    "sync*": 4,
    "sync*": 2
    }
For all the available scheduled tasks types, see Scheduled Tasks.

listeners

The listeners property defines which IP and/or ports Liquit Workspace will receive and handle requests.

"listeners": [
  {
    "required": true,
    "address": "*",
    "port": 80
  },
  {
    "required": true,
    "certificate": "lws",
    "address": "*",
    "port": 443
  }
]
Property Description Default
required When the required value is set to true, the Liquit Workspace Server will not continue to start up when it can't be registered false
certificate The friendly name of the certificate Liquit Workspace Server should use. SSL/TLS is only used when this property has a value set.
address The address of the Liquit Workspace Server. Wildcards (*) are permitted. *
port The port used by the Liquit Workspace Server to receive and handle requests.. 80
redirectPort Specifies to which port the browser redirects for secure connections. Works only for non-secure ports. When not specified, the first secure listener available on the same network address (including offloading ports) will be used. 0
offloadingPort Indicates that the listener is HTTPS offloaded (TLS termination). The webserver will use an HTTP listener but will handle incoming traffic as secure. 0

readOnlyReplicaSupport

When set to true, the server will defer read-only queries that do not require the latest data to secondary SQL servers. This option is useful for large deployments where the Liquit Workspace database is hosted in Azure SQL or on an AlwaysOn SQL cluster. This option has no effect on single SQL server deployments.

"readOnlyReplicaSupport": true

ignoreUnknownZones

When set to true, the server will return a "404 not found" error message when the requested page is not found on the server.
When set to false, and the requested page is not found on the server, the message "Zone not found" is displayed, meaning the server is running.

"ignoreUnknownZones": true

redirect

When set to true, the server will redirect incoming insecure requests to the secure port (by default 443), as configured within the listeners. When set to false, the server will NOT redirect insecure requests.

"redirect": true