Template:Server Side Software Architecture: Difference between revisions

From IVS Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 14: Line 14:




<b>Web Server</b>
<b>Web Host</b>
*Serves the PHP-based application and user interface
*Serves the PHP-based application and user interface
*Powered by the Nginx web server
*Powered by the Nginx web server
Line 26: Line 26:
{{hr - 2}}
{{hr - 2}}


<b>Media Server</b>
<b>Streaming Engine</b>
*Manages [[Network_Requirements#Media_Server.28s.29_to_Video_Device.28s.29|communication with cameras]]
*Manages [[Network_Requirements#Media_Server.28s.29_to_Video_Device.28s.29|communication with cameras]]
*Handles [[Network_Requirements#Client_to_Application_.26_Media_Server.28s.29|video streaming to client PCs]]
*Handles [[Network_Requirements#Client_to_Application_.26_Media_Server.28s.29|video streaming to client PCs]]

Revision as of 17:04, 16 February 2026

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

  • Linux
✎
The application is designed to run on the latest Ubuntu Linux LTS (Server Edition).
  • Nginx
  • MySQL
  • PHP


⇧ Back to Top


Core Application Components


Web Host

  • 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 MariaDB

Streaming Engine


⇧ 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
  • MariaDB 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.


⇧ Back to Top