Running the Server as a Windows Service

In some cases it is advisable to run the TDS server as a Windows Service. This means the server will automatically start when the PC starts, and can run without having a user logged in.

This is the default case for current installations and will be setup by the installer automatically. To configure this manually, read on.

To register it as a service, you will need to open a Windows Command Prompt.

  1. Click on the Windows Start button, then type cmd to search for the Windows Command Prompt. Right click on the application and select the option “Run as Administrator”.
  2. Navigate to the installation folder of TDS - C:\Program Files\Tessonics\TDS2 by default. To do that, type: cd "C:\Program Files\Tessonics\TDS2" and hit Enter.
  3. Run the command ./tds-server.exe service-install and hit Enter.
  4. Close the Windows Command Prompt window.

After that, the TDS server can be controlled through Windows’s Service Manager. Click on the Start button, and type service, then select the Services app. The TDS Server will be in the list of services, under the name tds-server.

JSON Configuration

The TDS installer places a tds-server.json inside C:\ProgramData\tessonics\tds2.

On a default installation, this file is located at C:\ProgramData\tessonics\tds2\tds-server.json. This file is in JSON format which is a keyword based list of attributes that may look like this:

{
    "db": {
        "common-file": "C:/ProgramData/tessonics/tds2/database.sqlite3",
        "revisions-dir": "C:/ProgramData/tessonics/tds2/revisions",
        "measurement-storage": {
            "db-file": "C:/ProgramData/tessonics/tds2/measurements.sqlite3",
            "backup-dir": "C:/ProgramData/tessonics/tds2/ms-backup",
            "keep-count": 1048576,
            "keep-bytes": 1073741824,
            "backup-count": 1048576,
            "backup-bytes": 1073741824
        }
    },
    "server": {
        "name": "Tessonics Data Service",
        "ip": "0.0.0.0",
        "url": "https://0.0.0.0", // Or "localhost", or "127.0.0.1".
        "threads": 0,
        "port": 443,
        "connection-threads": 4,
        "permit-empty-logins": false,
        "hide-operator-names": false,
        "clamp-oversized-bond-measurements": false,
        "max-http-request-size": 1073741824,
        "hide_operator_names": true
    },
    "ssl": {
        "use": true,
        "cert-file": "C:/ProgramData/tessonics/tds2/certificate.pem",
        "private-key-file": "C:/ProgramData/tessonics/tds2/key-file.pem",
        "dh-param-file": "C:/ProgramData/tessonics/tds2/dh-params.pem"
    },
    "csv": {
        "decimal-point": ".",
        "list-separator": ","
    },
    "branding": {
        "company-name": "",
        "logo-file": ""
    },
    "logging": {
        "level": "info",
        "log-dir": ""
    },
    "password_policy": {
        "min_length": 0,
        "require_special": false,
        "require_number": false
    }
}

Updating the URL

In general, most of the default settings are suitable for a standard installation. What must be updated, however, is the url parameter under the server tag. This attribute defines the host name to which all requests are redirected. It must be set to the hostname/IP address of the PC under which the TDS server is reachable. Otherwise, browser requests will fail.

Change the url parameter to the correct server hostname and restart TDS. This should fix the server not being reachable.

Updating the Database Paths

Optionally, the database paths may be updated in case they should be stored in a different location. This includes the attributes common-file, revisions-dir, db-file, and backup-dir. The new directory must be created and the database files should be moved there.

Updating CSV Options

One more thing that customers often edit are the csv options for countries that use the CSV export functionality of TDS but cannot handle lists, that have . as the decimal separater. There, updating the decimal separator to , and the list separator to ; (or \t for tabs) will fix any issues.

Branding

The branding section defines the header of inspection reports. The company-name attribute defines what text will be displayed at the top of each inspection report. Additionally or alternatively, the logo-file can be used to display a company logo next to that text or instead of the text, if no company-name is provided.

logo-file accepts the file name of an image in either .jpg or .png format that must be located in the TDS installation directory under /static/img. In a default setup with logo-file as myLogo.png it would be located under C:\Program Files\Tessonics\TDS2\static\img\myLogo.png. With v4.1.1 onwards, the path may point to any system.

Logging

[v4.2.0+] The logging section handles the storage of server logs. Usually, the log level is set to info. If problems occur, change it to debug for more details. You can also set a custom logging folder. By default, it’s in the configuration folder under the log sub-folder.

Password Policy

[v4.2.0+] The password_policy section handles the complexity requirements for new passwords. Existing passwords will not be affected by these settings. min_length sets the minimum amount of required characters. A value of 0 disables this requirement. require_special and require_number activate the requirement for at least one special or numeric character, respectively, in every new password.