Self-Hosted Server Stack¶
The Self-Hosted Server is a set of server components, each responsible for a specific function required to organize and manage remote access between technicians and devices. In addition to these components, the deployment includes a PostgreSQL database (version 14) used for data storage.
During operation, all system components interact with the main server and/or the database. The overall system architecture can be represented by the following diagram.
Main Server¶
This is the central brain of the system. It manages all other components and performs the most critical function: connecting the technician’s browser with the agent application running on the remote device.
The main server is a web server and serves as the entry point to the system. It is bound to the domain and ports used by both the technician’s browser and the agent application.
Other key responsibilities of the main server include:
- Maintaining a persistent service connection with remote devices
- Providing access to the technician’s personal dashboard
- Delivering notifications, system emails, and messages
- Managing SSL certificates
- Logging all system activity
- Ensuring secure access
- Registering and managing the entire system inventory, including:
- Technician accounts
- Devices and device groups
- Access control and permission system
- Quick support sessions
Configuration
Learn more about the available features in the Main Server Configuration guide.
Download Component¶
A subordinate component responsible for managing, storing, and delivering agent application distributions.
Its functions include:
- Storing all versions of agent installers
- Providing installers upon request from the main server
- Generating one-time installers for invitation-based access
- Generating branded versions of installers
- Updating existing installers
Proxy Component¶
A subordinate component used to relay the video stream from a remote device to the technician when a direct P2P connection cannot be established due to network restrictions on either side.
This component can be scaled horizontally to improve connection speed and enhance the video quality of remote sessions.
Proxy Scaling
Learn how to scale the proxy component in the Adding a Proxy Component guide.
Image Component¶
A subordinate component responsible for handling desktop preview images from registered devices.
Its functions include:
- Receiving images from the agent application
- Providing images to the main server for display in the technician’s dashboard
- Storing and managing image data
Storage Component¶
A subordinate component responsible for handling session video recordings.
Its functions include:
- Receiving video recording data from the technician’s browser
- Encoding video data into files
- Providing recorded files upon request by the technician
