Server Configuration
  • 17 Jun 2024
  • 5 Minutes to read
  • Dark
    Light
  • PDF

Server Configuration

  • Dark
    Light
  • PDF

Article summary

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
  }
PropertyDescriptionDefault value
levelDefines 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
pathYou can define an alternate path of the Agent log files here. The default location isC:\ProgramData\Liquit Workspace\Server\Logs.
rotateCountThe number of log files that will be archived.5
rotateSizeThe 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"
}
PropertyDescriptionDefault
cacheDefines whether or not the content of files that are smaller than 1 MB should be cached in memory.true
replicationEnables the replication of the local server content across Liquit Workspace Servers.true
threadsThe number of threads available for content.8
intervalThe number of seconds between idle checks performed to see if any content needs to be replicated.5
pathThe 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
                        }
  }
PropertyDescriptionDefault
enabledDefines 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
threadsDefines how many threads that handle tasks can run simultaneously.8
untargetedDefines whether or not the Liquit Workspace Server is allowed to start tasks that were not created for the current server.true
preferSelfWhen set to true, the Liquit Workspace Server will handle tasks that have been initiated on the current server.false
intervalThe number of seconds between idle checks performed to see if any tasks are queued for execution.5
typeLimitsDefines 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
  }
]
PropertyDescriptionDefault
requiredWhen the required value is set to true, the Liquit Workspace Server will not continue to start up when it can't be registeredfalse
certificateThe friendly name of the certificate Liquit Workspace Server should use. SSL/TLS is only used when this property has a value set.
addressThe address of the Liquit Workspace Server. Wildcards (*) are permitted.*
portThe port used by the Liquit Workspace Server to receive and handle requests..80
redirectPortSpecifies 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
offloadingPortIndicates 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

Was this article helpful?