Main Server Configuration¶
All system components are configured using JSON configuration files located next to the files of the running instances.
In this document, you will find all available parameters for the Main Server that are allowed in the server/config.json file. For easier reference, the options are grouped by purpose and sorted by importance.
Listening Ports¶
Ports on which the main server will run:
| Parameter | Type | Description |
|---|---|---|
port.http | number | Port for HTTP requests. Default is 80. |
port.https | number | Port for HTTPS requests. Default is 443. |
Database¶
Credentials for connecting to the database.
| Parameter | Type | Description |
|---|---|---|
sql.server | string | Database host |
sql.port | number | Database port |
sql.user | string | Database user |
sql.password | string | Database password |
sql.log | boolean | Enable SQL query logging. Default is false. |
Example
Inter-Component Communication¶
For all running system components to exchange messages with each other, they must be authorized with one another. In other words, each component must explicitly allow other components to send messages to it. This authorization is implemented using special tokens.
Installation Code
During system installation, the installation code automatically writes the values of the options from this section into the following files:
-
server/config.json -
download/config.json -
image/config.json -
storage/config.json -
proxy/config.json
Authorization Token¶
The main server token that other system components use to authenticate with the main server.
| Parameter | Type | Description |
|---|---|---|
token | string | Authorization token |
Component Credentials¶
For the main server to communicate with the other subordinate components, it must also authenticate with them. Therefore, the configuration must include the address and token for each component that is being used.
System Components
Learn more about the available system components on the Self-Hosted Server Stack page.
Download Component¶
The values for the options in this section can be found in the download/config.json configuration file for the Download Component.
| Parameter | Type | Description |
|---|---|---|
download.host | string | Address in the host:port format. |
download.token | string | Authorization token |
Proxy Component¶
The values for the options in this section can be found in the proxy/config.json configuration file for the Proxy Component.
STUN Servers¶
A list of STUN servers in use.
| Parameter | Type | Description |
|---|---|---|
stun.[].ip | string | IP address |
stun.[].port | number | Port |
TURN Servers¶
A list of TURN servers in use.
| Parameter | Type | Description |
|---|---|---|
turn.[].ip | string | IP address |
turn.[].port | number | Port |
turn.[].login | string | Username |
turn.[].password | string | Password |
turn.[].transport | string | Transport-layer network protocol |
Example
WebSocket Servers¶
A list of WebSocket servers in use.
| Parameter | Type | Description |
|---|---|---|
websocket.[].host | string | Host |
websocket.[].port | number | Port |
Image Component¶
The values for the options in this section can be found in the image/config.json configuration file for the Image Component.
| Parameter | Type | Description |
|---|---|---|
storage_image.[].host | string | Host |
storage_image.[].port | number | Port |
storage_image.[].key | string | Storage key |
storage_image.[].token | string | Authorization token |
Example
Storage Component¶
The values for the options in this section can be found in the storage/config.json configuration file for the Storage Component.
| Parameter | Type | Description |
|---|---|---|
storage.[].host | string | Host |
storage.[].port | number | Port |
storage.[].key | string | Storage key |
storage.[].token | string | Authorization token |
Example
Communication Tools¶
Settings for peripheral tools required for the full operation of the server.
Mail Server¶
Required for sending passwords to newly registered or recovering technicians, connection invitations, as well as other system emails and notifications.
| Parameter | Type | Description |
|---|---|---|
mail.server | string | Server address |
mail.port | number | Port |
mail.user | string | Username |
mail.password | string | Password |
mail.email | string | Sender email address |
Example
{
"mail": {
"server": "mail.example.net",
"port": 587,
"user": "[email protected]",
"password": "8G9wLmvCxq6bR2pW",
"email": "[email protected]"
}
}
Quick Start
You can use cloud solutions such as MailChimp or similar services.
Telegram Bot¶
Used to send two-factor authentication codes, receive notifications, and access the personal dashboard when a technician enables the integration for their account.
Telegram Integration
Learn which features become available to technicians when the integration is enabled in the guide Remote Desktop Access via Telegram.
| Parameter | Type | Description |
|---|---|---|
integrate.telegram.id | number | Bot ID |
integrate.telegram.name | string | Bot name |
integrate.telegram.token | string | Bot token |
Example
Quick Start
See the step-by-step guide for creating and configuring a bot in the Telegram Bot Setup documentation.
Google Translate¶
Used for automatic translation of on-screen text during a remote desktop session.
Automatic Text Translation
Learn more about on-screen text translation in the guide Auto-Translation of Text on Remote Desktop Screen.
| Parameter | Type | Description |
|---|---|---|
translate.google | string | API key |
Where do I get the API key?
You can obtain the API key from Translation Hub .
Security Settings¶
Captcha¶
You can enable CAPTCHA verification for technicians on the registration, login, and password recovery pages.
| Parameter | Type | Description |
|---|---|---|
captcha_info.[].type | string | CAPTCHA provider. Supported values: google, cloudflare, hcaptcha |
captcha_info.[].key | string | API key |
captcha_info.[].secret | string | Secret key |
Example
Where do I get the API key?
You can create a CAPTCHA and obtain an API key at reCAPTCHA .
Anonymous Access¶
You can deny anonymous technicians the ability to connect to devices using one-time links.
Anonymous Technician
Learn more about anonymous technicians in the Connection Participants guide and about one-time links in the Providing Access to Your Computer guide.
| Parameter | Type | Description |
|---|---|---|
force_login | boolean | Deny anonymous access via one-time links. Default is false. |
Password Settings¶
You can limit the password lifetime for user accounts and require users to change their password on first login.
| Parameter | Type | Description |
|---|---|---|
password_timeout | number | Password expiration period in days. By default, the password does not expire. |
password_change | boolean | Require a password change on first login for users who received their password via an invitation email. |
Old Browsers¶
You can prevent technicians from using the system in outdated browser versions.
| Parameter | Type | Description |
|---|---|---|
accept_old_browser | boolean | Allow legacy browsers. Default value is false. |
The following browser versions are considered outdated:
| Vendor | Versions below |
|---|---|
| Mozilla Firefox | 50 |
| Opera | 15 |
| Google Chrome | 64 |
| Internet Explorer | 11 |
| Microsoft Edge | 40.15063 |
| Safari | 11 |
HSTS (HTTP Strict Transport Security)¶
You can enable an option that forces browsers to always use HTTPS when connecting to the server and blocks any HTTP connections.
| Parameter | Type | Description |
|---|---|---|
hsts | boolean | Include the HSTS header in server responses. Default value is false. |
Learn More
Learn more about automatic redirection from HTTP to HTTPS in the public documentation: HSTS .
CSP (Content Security Policy)¶
You can restrict which hosts are allowed to load content and receive requests in the browser where the dashboard and connection window are opened, helping to prevent XSS vulnerabilities.
| Parameter | Type | Description |
|---|---|---|
csp.enable | boolean | Enable CSP headers. Default value is true. |
csp.extra | string | Additional domains to include in CSP headers (space-separated). |
Learn More
Learn more about web page content restrictions in the Content Security Policy documentation.
Network Settings¶
Reverse Proxy¶
If you use a reverse proxy in the server environment, you must inform the server about it.
| Parameter | Type | Description |
|---|---|---|
balancer.ip.[]."" | string | List of IP addresses of the proxy servers in use |
Log HTTP Requests¶
You can enable logging of HTTP requests to the server.
| Parameter | Type | Description |
|---|---|---|
log-http | boolean | Enable HTTP request logging. Default is false. |