Difference between revisions of "Server Side Software Architecture"
IVSWikiBlue (talk | contribs) |
IVSWikiBlue (talk | contribs) |
||
| (One intermediate revision 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: | ||
| − | |||
{{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>.}} }} | ||
| − | + | <table> | |
| − | + | <tr> | |
| − | + | <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
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.