Difference between revisions of "Server Side Software Architecture"

From IVS Wiki
Jump to: navigation, search
 
(2 intermediate revisions by the same user not shown)
Line 3: Line 3:
 
<h1>Server Side Software Architecture</h1>
 
<h1>Server Side Software Architecture</h1>
 
Our server-side software is built on a standard <b>LEMP stack</b> consisting of:
 
Our server-side software is built on a standard <b>LEMP stack</b> consisting of:
*<b>Linux</b>
 
 
{{Float | content = {{Aside | style = max-width: 400px | content = The application is designed to run on the latest Ubuntu Linux LTS <em>(Server Edition)</em>.}} }}
 
{{Float | content = {{Aside | style = max-width: 400px | content = The application is designed to run on the latest Ubuntu Linux LTS <em>(Server Edition)</em>.}} }}
*<b>Nginx</b>
+
<table>
*<b>MariaDB</b>
+
<tr>
*<b>PHP</b>
+
<td style="padding: 0px 35px">- <strong>Linux</strong></td>
 +
<td style="padding: 0px 35px">- <strong>Nginx</strong></td>
 +
</tr>
 +
<tr>
 +
<td style="padding: 0px 35px">- <strong>MariaDB</strong></td>
 +
<td style="padding: 0px 35px">- <strong>PHP</strong></td>
 +
</tr>
 +
</table>
  
 
{{hr}}
 
{{hr}}

Latest revision as of 10:57, 1 July 2026

Server Side Software Architecture

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

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

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

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

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

Deployment Models

Network Architecture-One Server.webp

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.


Network Architecture-Multi Server.webp

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