Difference between revisions of "Template talk:Server Side Software Architecture"

From IVS Wiki
Jump to: navigation, search
Line 41: Line 41:
  
 
{{Manual lvl 2 | title = Logical Server Architecture | content =  
 
{{Manual lvl 2 | title = Logical Server Architecture | content =  
From a networking and service perspective, the application is divided into two main server roles:
+
The application is divided into two main server roles:
 +
 
 +
 
 
<b>Application Server:</b>
 
<b>Application Server:</b>
 
The Application Server hosts the core application logic and includes:
 
The Application Server hosts the core application logic and includes:
Line 61: Line 63:
 
{{hr}}
 
{{hr}}
  
{{Manual lvl 2 | title = Deployment Models | content =
+
{{Manual lvl 2 | title = Deployment Models | content = }}
<center>{{img - no_click | file = VALT Server Structure.png}}</center>
 
}}
 
  
 
{{Manual lvl 3 | title = Single Server | content =
 
{{Manual lvl 3 | title = Single Server | content =
The entire server-side software stack can be deployed on a single physical or virtual server. This configuration is suitable for smaller installations and environments with lower camera counts.
+
The entire server-side software stack can be deployed on a single [[Servers | physical]] or [[VM - Main Page | VM]]. This configuration is suitable for smaller installations and environments with lower camera counts.
 
}}
 
}}
  
Line 83: Line 83:
 
}}
 
}}
  
 +
<center>{{img - no_click | file = VALT Server Structure.png}}</center>
  
 
{{Top of Page}}
 
{{Top of Page}}
 
}}
 
}}

Revision as of 14:04, 9 February 2026

Server Side Software Architecture

Our server-side software is built on a standard LEMP stack consisting of:

  • Linux
  • Nginx
  • MySQL
  • PHP


The application is designed to run on the latest Ubuntu Linux LTS (Server Edition).


⇧ Back to Top


Core Application Components

Web Server

  • Serves the PHP-based application and user interface
  • Powered by the Nginx web server

Database

  • Stores all unique, customer-specific configuration and application data
  • Implemented using MySQL

Media Server

  • Manages communication with cameras
  • Handles video streaming to client PCs
  • Responsible for recording, storage, and clip creation


⇧ Back to Top


Logical Server Architecture

The application is divided into two main server roles:


Application Server: The Application Server hosts the core application logic and includes:

  • PHP web pages served via Nginx
  • MySQL database services
  • Node.js messaging and control service

Media Server: The Media Server is responsible for all video-related operations, including:

  • Camera communication
  • Video stream distribution to clients
  • Recording management and clip generation


⇧ Back to Top


Deployment Models

Single Server

The entire server-side software stack can be deployed on a single physical or VM. This configuration is suitable for smaller installations and environments with lower camera counts.


Multi-Server

For larger deployments—such as those exceeding 50 cameras or spanning multiple departments—the system supports a distributed architecture using multiple Media Servers.


In this model:

  • One Application Server hosts the core application services
  • One or more dedicated Media Servers handle video processing and storage
  • Media Servers can be added incrementally to scale performance and capacity
🕮
This architecture provides flexibility, scalability, and efficient handling of high video workloads.
VALT Server Structure.png
⇧ Back to Top