Template talk:Server Side Software Architecture: Difference between revisions
IVSWikiBlue (talk | contribs) No edit summary |
IVSWikiBlue (talk | contribs) No edit summary |
||
| Line 2: | Line 2: | ||
<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: | |||
*<strong>Linux</strong> | |||
*<strong>Nginx</strong> | |||
*<strong>MySQL</strong> | |||
*<strong>PHP</strong> | |||
{{Aside | content = The application is designed to run on the latest Ubuntu Linux LTS <em>(Server Edition)</em>.}} | |||
{{Top of Page}} | {{Top of Page}} | ||
{{hr}} | {{hr}} | ||
{{Manual lvl 2 | title = Core Application Components | content = | |||
<b>Web Server</b> | |||
*Serves the PHP-based application and user interface | |||
*Powered by the Nginx web server | |||
< | |||
{{hr - 2}} | {{hr - 2}} | ||
< | <b>Database</b> | ||
*Stores all unique, customer-specific configuration and application data | |||
*Implemented using MySQL | |||
{{ | {{hr - 2}} | ||
<b>Media Server</b> | |||
*Manages communication with cameras | |||
*Handles video streaming to client PCs | |||
*Responsible for recording, storage, and clip creation | |||
}} | |||
{{Top of Page}} | |||
{{hr}} | |||
{{Manual lvl 2 | title = Logical Server Architecture | content = | |||
From a networking and service perspective, the application is divided into two main server roles: | |||
<b>Application Server:</b> | |||
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 | |||
{{hr - 2}} | |||
<b>Media Server:</b> | |||
The Media Server is responsible for all video-related operations, including: | |||
*Camera communication | |||
*Video stream distribution to clients | |||
*Recording management and clip generation | |||
}} | |||
{{Top of Page}} | |||
{{hr}} | |||
{{Manual lvl 2 | title = Deployment Models | content = | |||
<center>{{img - no_click | file = VALT Server Structure.png}}</center> | |||
}} | |||
{{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. | |||
}} | |||
{{hr - 2}} | |||
{{Manual lvl 3 | title = Multi-Server | content = | |||
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 | |||
{{Aside - Helpful | content = This architecture provides flexibility, scalability, and efficient handling of high video workloads.}} | |||
}} | |||
{{Top of Page}} | {{Top of Page}} | ||
}} | }} | ||
Revision as of 19:49, 9 February 2026
Server Side Software Architecture
Our server-side software is built on a standard LEMP stack consisting of:
- Linux
- Nginx
- MySQL
- PHP
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
Logical Server Architecture
From a networking and service perspective, 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
Deployment Models

Single Server
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.
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