System Requirements
BuildNinja requires specific hardware, software, and infrastructure to deploy and run in a self-hosted environment. These requirements apply to the central server and the distributed build agents, ensuring a reliable, scalable, and secure CI/CD setup.
System Components
| Component | Description |
|---|---|
| Server | Acts as the central coordinator that manages builds, stores build configurations, handles job scheduling, and provides the web-based dashboard for users. |
| Build Agents | Lightweight, distributed workers responsible for executing build, test, and deployment tasks assigned by the server. They report progress and results back to the server. |
Each component has its specific system requirements.
Server Requirements
Hardware Requirements
| Resource | Minimum | Recommended |
|---|---|---|
| CPU | Dual-core, 2.0 GHz | Quad-core or higher |
| Memory | 4 GB | 8–16 GB (based on concurrent jobs) |
| Disk Space | 20 GB available | 100 GB+ (SSD preferred for performance) |
| Architecture | 64-bit (x86_64 / AMD64) | Same |
Software Requirements
- Database: MongoDB Database
- Web Browser (for UI access): See Browser Compatibility.
Build Agent Requirements
Build agents execute tasks from build workflows and handle the actual build, test, and deploy steps. They can be installed on any physical or virtual machine.
Hardware Requirements
| Resource | Minimum | Recommended |
|---|---|---|
| CPU | Dual-core | Quad-core or higher |
| Memory | 2 GB | 4–8 GB (depending on project size) |
| Disk Space | 10 GB | 50+ GB (for build caching and logs) |
| Architecture | 64-bit (x86_64 / AMD64) | Same |
Additional Tools (Per Build Needs)
Agents may require the following pre-installed tools and access configurations to execute the tasks effectively:
-
Build and runtime tools, such as:
- Docker: For containerized builds and deployments.
- Python, Node.js: For running scripts or applications in those languages.
- Maven, Gradle: For building Java projects.
- .NET SDK: For building and running .NET applications.
-
Access to artifact repositories, including:
- Internal repositories (e.g., Nexus, Artifactory)
- External repositories (e.g., npm, PyPI, Maven Central)
These tools and access permissions ensure agents can compile code, resolve dependencies, run tests, and deploy artifacts without manual intervention.
Network Requirements
| Requirement | Details |
|---|---|
| Agent ↔ Server | Bidirectional communication required |
| Web UI Ports | 8080, 8800 (HTTP) or 443 (HTTPS) |
| Agent Communication Port | Custom TCP port (configurable) |
| Internet Access | For fetching dependencies, Git operations, and cloud tools |
Browser Compatibility
| Browser | Minimum Supported Version |
|---|---|
| Google Chrome | Latest – 2 |
| Mozilla Firefox | Latest – 2 |
| Safari | 14+ |
| Microsoft Edge | Chromium-based, latest |
- SSDs are ideal for maximizing performance, particularly on agents.
- To ensure high availability, deploy the server in a clustered or containerized configuration.
- Monitor CPU, memory, and disk usage to ensure proper infrastructure scaling.