Server config description
 This document contains descriptions for all parameters of the server/config.json configuration file for advanced reference.
 Port for requests
  "port": {
    "http": 80, 
    "https": 443 
  }
   | Parameter | Type | Description | 
    | port.http | number | for HTTP requests, the default is 80 | 
  | port.https | number | for HTTPS requests, the default is 443 | 
  
 Logging HTTP requests
     | Parameter | Type | Description | 
    | log-http | boolean | enable logging, default is false. | 
  
 Database
 Config for connecting to a database.
   "sql": {
    "server": "123.123.123.123",
    "port": 123,
    "user": "qwerty"
    "password": "qwerty",
    "log": true,
  }
   | Parameter | Type | Description | 
    | sql.server | string | server address | 
  | sql.port | number | port | 
  | sql.user | string | user | 
  | sql.password | string | password | 
  | sql.log | boolean | enable logging of SQL queries, by default false | 
  
 Mail server settings
 It is used to send outgoing invitation letters, user registrations, and password recovery.
     | Parameter | Type | Description | 
    | mail.server | string | server address | 
  | mail.port | number | connection port | 
  | mail.user | string | user | 
  | mail.password | string | password | 
  | mail.email | string | email address to send mail | 
  
  Reverse proxy
   "balancer": {
    "ip": [
      "123.123.123.123"
    ]
  }
   | Parameter | Type | Description | 
    | balancer.ip | []string | list of IP addresses | 
  
 Google Captcha
 If specified, it will be used on the login and user registration page.
   "captcha": {
    "key": "qwertyqwertyqwertyqwertyqwerty32",
    "secret": "qwertyqwertyqwertyqwerty"
  },
   | Parameter | Type | Description | 
    | captcha.key | string | API key | 
  | captcha.secret | string | secret key | 
  
  Where to get the API key?
 You can create a captcha and get an API key at reCAPTCHA .
   Google Translate
 If specified, automatic on-screen text detection and translation will be available when connecting to remote devices.
   "translate": {
    "google": "qwertyqwertyqwertyqwerty"
  }
   | Parameter | Type | Description | 
    | translate.google | string | API key | 
  
  Telegram bot
 If specified, the following features will become available to Telegram  users:
  - Receipt of two-factor authorization codes
- Notifications when customer is ready to connect by invitation
- Invitation creation
- Permanent access to the devices - Obtaining a list
- Connecting
- File exchange
 
  "integrate": {
    "telegram": {
      "id": 123, 
      "name": "TelegramBot",
      "token": "123:qwertyqwertyqwertyqwerty" 
    }
  }
   | Parameter | Type | Description | 
    | integrate.telegram.id | number | bot ID | 
  | integrate.telegram.name | string | name | 
  | integrate.telegram.token | string | connection token | 
  
  Password expiration date
    | Parameter | Type | Description | 
    | password_timeout | number | Password expiration date in days. The default is unlimited. | 
  | password_change | boolean | Requirement to change password at first login, for users who received the account password from the invitation email | 
  
 Allowing the use of older browsers
    | Parameter | Type | Description | 
    | accept_old_browser | boolean | Allow legacy browsers to be used. Default value false | 
  
 HSTS
 Read more about HSTS  headers.
    | Parameter | Type | Description | 
    | hsts | boolean | Include the HSTS header in server responses. Default value is false | 
  
 Content Security Policy
 Read more about Content Security Policy  headers.
    | Parameter | Type | Description | 
    | csp.enable | boolean | Enable CSP headers. Default value is true. | 
  | csp.extra | string | Additional domains in CSP headers (separated by a space) | 
  
 Anonymous Access
    | Parameter | Type | Description | 
    | force_login | boolean | Deny anonymous access via one-time links. Default value is false | 
  
 Download component
 Config to connect to the  Download component.
   "download": {
    "host": "host.net:123",
    "token": "qwertyqwertyqwertyqwerty"
  },
   | Parameter | Type | Description | 
    | download.host | string | server address:port | 
  | download.token | string | token | 
  
 Storage component
 Config to connect to the  Storage component.
   "storage": [
    {
      "host": "host.net", 
      "port": 123,
      "key": "qwertyqwertyqwertyqwertyqwerty32",
      "token": "qwertyqwertyqwertyqwerty"
    }
  ]
   | Parameter | Type | Description | 
    | storage.[].host | string | server address | 
  | storage.[].port | number | port | 
  | storage.[].key | string | key | 
  | storage.[].token | string | token | 
  
 Image component
 Config to connect to the  Image component.
   "storage_image": [
    {
      "host": "host.net",
      "port": 123,
      "key": "qwertyqwertyqwertyqwertyqwerty32",
      "token": "qwertyqwertyqwertyqwerty"
    }
  ]
   | Parameter | Type | Description | 
    | storage_image.[].host | string | server address | 
  | storage_image.[].port | number | port | 
  | storage_image.[].key | string | key | 
  | storage_image.[].token | string | token | 
  
 Proxy component
 Configs for connecting to the  Proxy component.
 STUN-server
   "stun": [
    {
      "ip": "123.123.123.123",
      "port": 123  
    }
  ]
   | Parameter | Type | Description | 
    | stun.[].ip | string | IP address | 
  | stun.[].port | number | port | 
  
 TURN-server
   "turn": [
    {
      "ip": "123.123.123.123", 
      "port": 123,    
      "login": "qwerty",
      "password": "qwerty",
      "transport": "udp" 
    }
  ]
   | Parameter | Type | Description | 
    | turn.[].ip | string | IP address | 
  | turn.[].port | number | port | 
  | turn.[].login | string | login | 
  | turn.[].password | string | password | 
  
 WebSocket-server
   "websocket": [
    {
      "host": "host.net",
      "port": 123 
    } 
  ]
   | Parameter | Type | Description | 
    | websocket.[].host | string | address | 
  | websocket.[].port | number | port | 
  
 Token
 It is used to authorize connection of other system components to the server.
   "token": "qwertyqwertyqwertyqwerty"
   | Parameter | Type | Description | 
    | token | string | token |