Prerequisites & System Requirements
Before the StackConsole team begins the CMP installation, your infrastructure must meet all requirements on this page. Items marked 🔴 are mandatory — setup cannot proceed without them.
Deployment Models​
CMP supports two deployment environments:
| Environment | VM Count | Purpose |
|---|---|---|
| Staging / POC | 1 VM | Proof-of-concept, testing, pre-production validation |
| Production | 3 VMs | Frontend, Backend, and Database on separate servers |
For production deployments, refer to the Multi-Server Deployment Architecture diagram before provisioning VMs.
CMP VM Specifications​
Staging / POC — Single VM​
| Parameter | Requirement |
|---|---|
| OS | Ubuntu 24.04 LTS |
| CPU | 16 cores |
| RAM | 32 GB |
| Storage | 250 GB SSD |
| Open Ports | 22, 80, 443, 8081 |
Production — Three-VM Setup​
Frontend VM​
| Parameter | Requirement |
|---|---|
| OS | Ubuntu 24.04 LTS |
| CPU | 8 cores |
| RAM | 12 GB |
| Storage | 100 GB SSD |
| Open Ports | 22, 80, 443, 8081 |
Backend VM​
| Parameter | Requirement |
|---|---|
| OS | Ubuntu 24.04 LTS |
| CPU | 8 cores |
| RAM | 12 GB |
| Storage | 100 GB SSD |
| Open Ports | 22, 80, 8081 |
Database VM​
| Parameter | Requirement |
|---|---|
| OS | Ubuntu 24.04 LTS |
| CPU | 8 cores |
| RAM | 12 GB |
| Storage | 200 GB SSD |
| Open Ports | 22, 5432 |
Disk / Storage Layout​
CMP installs packages under /, /var, and /home. The layout depends on whether you use a single partition or multiple partitions.
Single Partition (Recommended)​
Allocate all available space to /. This is the simplest and recommended approach.
Multiple Partitions​
If you must use separate partitions, the minimum allocation is:
Frontend / Backend VM (Total: 100 GB)​
| Mount Point | Minimum Size | Notes |
|---|---|---|
/home | 50 GB | Primary application data |
/var | 25 GB | Logs, queue data |
/ | 25 GB | OS and system |
Database VM (Total: 200 GB)​
| Mount Point | Minimum Size | Notes |
|---|---|---|
/var | 150 GB | PostgreSQL stores all data under /var |
/home | 25 GB | Application-level data |
/ | 25 GB | OS and system |
If partitions are too small, the installation will fail silently or services will crash after a short period. Always verify free space on all mount points before and after installation.
Inter-VM Communication (Production Only)​
The three production VMs must be able to communicate with each other over private IP addresses:
| Source | Destination | Port | Protocol | Purpose |
|---|---|---|---|---|
| Frontend VM | Backend VM | 80 | TCP | Frontend → Backend API calls |
| Backend VM | Database VM | 5432 | TCP | Database connections (PostgreSQL) |
Verify connectivity before installation:
# From Frontend VM — must succeed
curl http://<BACKEND_PRIVATE_IP>:80
# From Backend VM — must succeed
curl http://<API_URL> # e.g., curl https://api.example.com
nc -zv <DB_PRIVATE_IP> 5432
Port 5432 must only be open on private IPs. Never expose the database port to the public internet.
Network & Firewall Requirements​
| Port | Protocol | Direction | Purpose |
|---|---|---|---|
| 22 | TCP | Inbound | SSH access for installation |
| 80 | TCP | Inbound | HTTP (redirects to HTTPS) |
| 443 | TCP | Inbound | HTTPS — customer portal |
| 8081 | TCP | Inbound | Internal CMP service |
| 5432 | TCP | Internal only | PostgreSQL (DB VM, private network only) |
The CMP server must also have outbound access to all configured orchestrator API endpoints. See the per-orchestrator requirement pages for specific ports.
Domain Name / URL​
CMP requires publicly resolvable domain names before installation begins.
Production (Recommended: Multi-URL)​
| URL | Purpose | Example |
|---|---|---|
| Frontend URL | Customer-facing portal | portal.yourcompany.com |
| Backend API URL | API endpoint | api.yourcompany.com |
Staging​
| URL | Purpose | Example |
|---|---|---|
| Staging URL | Single URL for staging | staging.yourcompany.com |
DNS must be configured and propagated before the installation begins. Both the frontend and backend servers must be able to resolve and reach the backend API URL:
curl https://api.yourcompany.com # must return a response, not a connection error
SSL / TLS Certificates​
CMP requires HTTPS in all environments.
Required files:
fullchain.pem— Full certificate chain including intermediate certificatesprivkey.pem— Private key
How to provide:
- Upload to
/home/ssl/on each provisioned VM, or - Share via email to satish.londhe@stackconsole.io
Intermediate certificates are required. A certificate without the full chain will cause SSL handshake failures in some browsers and API clients.
See SSL / TLS Setup for Let's Encrypt and commercial certificate instructions.
SMTP / Email Configuration​
CMP sends transactional emails (invoices, alerts, user notifications). Provide these SMTP credentials before setup:
| Variable | Example |
|---|---|
MAIL_HOST | smtp.mailgun.org |
MAIL_PORT | 587 |
MAIL_USERNAME | noreply@yourcompany.com |
MAIL_PASSWORD | (your SMTP password) |
MAIL_ENCRYPTION | tls |
MAIL_FROM_ADDRESS | noreply@yourcompany.com |
MAIL_FROM_NAME | YourCompany Cloud |
CMP Super Admin Account​
Designate one email address as the CMP Super Admin before installation:
| Environment | Purpose |
|---|---|
| Production email | Used for super-admin login and all CMP system notifications |
| Staging email | Used for staging environment only |
- This email must be valid and accessible — it will receive all CMP system notifications.
- If Keycloak SSO is to be enabled later, this exact email address must be pre-registered in Keycloak before enabling SSO.
- See Keycloak SSO Setup for details.
App Logos​
CMP supports light and dark themes. Two logo variants are required:
| Property | Value |
|---|---|
| Dimensions | 160 × 40 px |
| Formats | PNG (transparent background recommended for Email and Invoice PDF), SVG (For web portal) |
| Variants | Light theme logo + Dark theme logo |
Share logos to satish.londhe@stackconsole.io.
Billing & Currency Configuration​
Currency​
For each currency your platform supports, provide:
| Field | Example |
|---|---|
| Currency Symbol | USD |
| Currency Name | Dollar |
| Fraction Name | Cent |
| Decimal places | 2 (e.g., 3.45443 → 5 decimal places) |
Multiple currencies are supported. Provide one row per currency.
Payment Gateways​
CMP integrates with the following payment gateways. For each gateway you wish to enable, provide sandbox credentials (API key/secret or client ID/secret) for testing before going live:
- Stripe — docs: Stripe
- Razorpay — docs: Razorpay
- PayPal — docs: PayPal
- Authorize.net — docs: Authorize.net
- AsiaPay — docs: AsiaPay
- Mollie — docs: Mollie
- M-Pesa — docs: M-Pesa
- Dinger — docs: Dinger
- Cardlink — docs: Cardlink
- HyperPay — docs: HyperPay
- Paytm — docs: Paytm
- Payduniya — confirm with StackConsole if enabled for your deployment
Full guides: Payment Gateways.
Some gateways support multiple payment methods, but only a subset may be integrated into CMP. Confirm supported methods before enabling a gateway.
Access for StackConsole Installation Team​
The StackConsole team requires access to your infrastructure to perform installation and configuration. Choose one of the following:
Option 1 — VPN Access (Preferred)​
Provide VPN access to the following team members:
| Name | |
|---|---|
| Satish Londhe | satish.londhe@stackconsole.io |
| Ganesh Kanade | ganesh.kanade@stackconsole.io |
| Saurabh Rapatwar | saurabh.rapatwar@stackconsole.io |
Option 2 — IP Whitelist (Jump Server)​
If VPN is not feasible, whitelist our jump server IP:
14.192.19.227
This IP must have SSH access (port 22) to all provisioned VMs.
Orchestrator-Specific Requirements​
Each orchestrator has additional requirements on top of the common prerequisites above. Select your orchestrator:
- Apache CloudStack Requirements
- VMware vSphere Requirements
- OpenStack Requirements
- Proxmox VE Requirements
- CEPH Requirements
- PowerDNS Requirements
- Keycloak SSO Requirements