Difference between revisions of "Template talk:Server Side Software Architecture"
IVSWikiBlue (talk | contribs) |
IVSWikiBlue (talk | contribs) |
||
| (3 intermediate revisions by the same user not shown) | |||
| Line 4: | Line 4: | ||
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: | ||
*<strong>Linux</strong> | *<strong>Linux</strong> | ||
| + | {{Float | content = {{Aside | style = max-width: 400px | content = The application is designed to run on the latest Ubuntu Linux LTS <em>(Server Edition)</em>.}} }} | ||
*<strong>Nginx</strong> | *<strong>Nginx</strong> | ||
*<strong>MySQL</strong> | *<strong>MySQL</strong> | ||
*<strong>PHP</strong> | *<strong>PHP</strong> | ||
| − | |||
| − | |||
| − | |||
| Line 41: | Line 39: | ||
{{Manual lvl 2 | title = Logical Server Architecture | content = | {{Manual lvl 2 | title = Logical Server Architecture | content = | ||
| − | + | 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 61: | ||
{{hr}} | {{hr}} | ||
| − | {{Manual lvl 2 | title = Deployment Models | content = | + | {{Manual lvl 2 | title = Deployment Models | content = }} |
| − | |||
| − | }} | ||
{{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 | + | 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 72: | Line 70: | ||
{{Manual lvl 3 | title = Multi-Server | content = | {{Manual lvl 3 | title = Multi-Server | content = | ||
| − | For larger | + | For larger deployments—<em>such as those <b>exceeding 50 cameras</b> or spanning multiple departments</em>—the system supports a distributed architecture using multiple Media Servers. |
| − | In this model: | + | <div style="font-weight: bold; font-size: 1.1em">In this model:</div> |
*One Application Server hosts the core application services | *One Application Server hosts the core application services | ||
*One or more dedicated Media Servers handle video processing and storage | *One or more dedicated Media Servers handle video processing and storage | ||
*Media Servers can be added incrementally to scale performance and capacity | *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.}} | {{Aside - Helpful | content = This architecture provides flexibility, scalability, and efficient handling of high video workloads.}} | ||
}} | }} | ||
| + | <center>{{img - no_click | file = VALT Server Structure.png}}</center> | ||
{{Top of Page}} | {{Top of Page}} | ||
}} | }} | ||
Latest revision as of 14:16, 9 February 2026
Server Side Software Architecture
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
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
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 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.
