Skip to main content

Prerequisites & System Requirements

Before the StackConsole team begins the CMP installation, your infrastructure must meet all requirements on this page.


Deployment models​

CMP supports multiple deployment architectures — from a single POC VM to multi-server and HA production layouts. See Choosing a Hosting Topology for diagrams and guidance.

EnvironmentTypical layoutPurpose
Staging / POCSingle server (1 VM)Proof-of-concept, testing, pre-production validation
ProductionMulti-server (3 VMs)Frontend, Backend, and Database on separate servers
Large / HAHA multi-tier (18 servers)Redundant web, proxy, app, Redis, and database tiers

Use the two sections below for complete staging and production checklists. Shared items (SMTP, logos, installer access) are listed under Common requirements at the end of this page.


Staging / Single VM — full requirements​

One VM runs the frontend, backend, database, Redis, and scheduler together. Use this layout for POC, staging, and pre-production validation — not for busy production workloads.

Topology: Single-server deployment

VM specifications​

ParameterRequirement
Count1 VM (all CMP roles co-located)
OSUbuntu 24.04 LTS
CPU16 cores
RAM32 GB
Storage200 GB SSD
Open ports22, 80, 443, 8081

Storage layout​

CMP installs packages under /, /var, and /home.

Single partition (recommended)

Allocate all available space to /. This is the simplest and recommended approach for staging.

Multiple partitions (minimum for 200 GB total)

Mount pointMinimum sizeNotes
/var100 GBPostgreSQL, logs, queue data
/home75 GBApplication data
/25 GBOS and system
warning

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.

DNS / URL​

Staging uses one public URL for the portal and API on the same host.

URLPurposeExample
Staging URLPortal and API on one hostnamestaging.yourcompany.com

DNS must be configured and propagated before installation begins. From the staging VM:

curl https://staging.yourcompany.com # must return a response, not a connection error

SSL / TLS​

HTTPS is required in all environments.

ItemRequirement
Certificate filesfullchain.pem (full chain including intermediates) and privkey.pem (private key)
Where to placeUpload to /home/ssl/ on the staging VM, or share via email to satish.londhe@stackconsole.io
warning

Intermediate certificates are required. A certificate without the full chain will cause SSL handshake failures in some browsers and API clients.

Staging checklist​

ItemStaging requirement
VM1 × Ubuntu 24.04, 16 CPU, 32 GB RAM, 200 GB SSD
Ports22, 80, 443, 8081 open
StorageSingle / partition recommended, or multi-partition layout above
DNSOne staging URL (for example staging.example.com)
SSLfullchain.pem + privkey.pem on the VM
Also requiredSMTP, logos, installer access

Production — three-VM requirements​

Standard production splits CMP across three VMs: Frontend, Backend, and Database. Frontend serves the customer portal and reverse-proxies API traffic to the backend.

Topology: Multi-server deployment

VM specifications​

Provision three separate VMs:

Frontend VM​

ParameterRequirement
RoleNGINX + Customer Portal
OSUbuntu 24.04 LTS
CPU8 cores
RAM16 GB
Storage100 GB SSD
Open ports22, 80, 443, 8081

Backend VM​

ParameterRequirement
RoleCMP API, workers, scheduler
OSUbuntu 24.04 LTS
CPU8 cores
RAM16 GB
Storage100 GB SSD
Open ports22, 80, 8081

Database VM​

ParameterRequirement
RolePostgreSQL
OSUbuntu 24.04 LTS
CPU8 cores
RAM16 GB
Storage200 GB SSD
Open ports22, 5432

Storage layout​

Single partition (recommended)

On each VM, allocate all available space to /.

Multiple partitions (minimum)

Frontend / Backend VM (100 GB total each)​

Mount pointMinimum sizeNotes
/home50 GBPrimary application data
/var25 GBLogs, queue data
/25 GBOS and system

Database VM (200 GB total)​

Mount pointMinimum sizeNotes
/var150 GBPostgreSQL stores all data under /var
/home25 GBApplication-level data
/25 GBOS and system
warning

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​

The three production VMs must reach each other over private IP addresses:

SourceDestinationPortProtocolPurpose
Frontend VMBackend VM80TCPFrontend → Backend API calls
Backend VMDatabase VM5432TCPDatabase 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
warning

Port 5432 must only be open on private IPs. Never expose the database port to the public internet.

DNS / URL​

Production uses two public URLs — one for the portal and one for the API.

CRITICAL: Point BOTH DNS Records to the Frontend Server

Do NOT point api.example.com to the Backend server's IP.

A frequent configuration mistake during installation is pointing the api.example.com DNS record to the Backend VM.

Both DNS A records must point to the SAME Frontend server public IP address:

  • portal.example.com → Frontend Server Public IP
  • api.example.com → Frontend Server Public IP (same IP as portal)

Why? The Frontend server runs NGINX, which terminates SSL/TLS for both domains. When a client requests api.example.com, NGINX on the frontend server terminates HTTPS and reverse-proxies the request over the private network to port 80 on the backend VM. The Backend VM does not have public SSL termination or direct public HTTP access.

Required DNS Records​

Configure your public DNS zone with the following records:

Record TypeHostname / FQDNTarget IPHow it works
Aportal.example.comFrontend server public IPServed directly by NGINX on the frontend server
Aapi.example.comFrontend server public IP (same IP!)Received by NGINX on the frontend server and reverse-proxied to the backend VM

DNS and Traffic Flow Diagram​

DNS must be configured and propagated before installation begins. Both frontend and backend servers must resolve and reach the backend API URL:

curl https://api.yourcompany.com # must return a response, not a connection error

What are the two URLs for?​

CMP runs as two applications: a frontend (portal in the browser) and a backend (API for data and actions). Production therefore needs two FQDNs.

RoleRecommended example
Frontend (portal)portal.example.com
Backend (API)api.example.com

Do the two FQDNs need separate public IPs?​

No. Both domains must use the same public IP on the frontend server:

FQDNHow it is served
portal.example.comServed from the frontend server
api.example.comReverse-proxied from the frontend server to the backend server

You do not need a separate public IP for the API hostname. Never point the API DNS record directly to the backend server.

SSL / TLS​

HTTPS is required in all environments.

ItemRequirement
Certificate filesfullchain.pem (full chain including intermediates) and privkey.pem (private key)
Where to placeUpload to /home/ssl/ on each provisioned VM (Frontend, Backend, Database), or share via email to satish.londhe@stackconsole.io

The frontend VM terminates HTTPS for both portal and API hostnames when using the standard reverse-proxy layout.

warning

Intermediate certificates are required. A certificate without the full chain will cause SSL handshake failures in some browsers and API clients.

Production checklist​

ItemProduction requirement
VMs3 × Ubuntu 24.04 — Frontend (8 CPU, 16 GB, 100 GB), Backend (8 CPU, 16 GB, 100 GB), Database (8 CPU, 16 GB, 200 GB)
PortsFrontend: 22, 80, 443, 8081 — Backend: 22, 80, 8081 — Database: 22, 5432 (private only)
StoragePer-VM layout above
NetworkingPrivate connectivity Frontend → Backend (80) and Backend → Database (5432)
DNSTwo URLs (portal + api) — BOTH must point to the Frontend server public IP
SSLfullchain.pem + privkey.pem on each VM
Also requiredSMTP, logos, installer access

HA — server requirements​

A full HA multi-tier CMP deployment requires 18 servers in total (redundant web, proxy, application, cache, database, and related tiers).

See HA multi-tier deployment for the topology overview.

important

Per-role CPU, RAM, storage, and networking for HA are not listed here. Check with the StackConsole team for the detailed server breakdown and sizing before you provision.


Common requirements​

The following apply to both staging and production installations.

Domain Name / URL​

CMP requires publicly resolvable domain names before installation begins. Requirements depend on your deployment model:

EnvironmentDNS / URL requirements
Staging / single VMOne URL for portal and API — Staging — DNS / URL
Production (3 VMs)Separate portal and API URLs (can share one public IP) — Production — DNS / URL

SSL / TLS certificates​

HTTPS is required in all environments. Provide fullchain.pem (full chain including intermediates) and privkey.pem (private key) before installation:

EnvironmentSSL requirements
Staging / single VMCertificates on the single VM — Staging — SSL / TLS
Production (3 VMs)Certificates on each VM (Frontend, Backend, Database) — Production — SSL / TLS
warning

Intermediate certificates are required. A certificate without the full chain will cause SSL handshake failures in some browsers and API clients.

SMTP / Email configuration​

CMP sends transactional emails (invoices, alerts, user notifications). Provide these SMTP credentials before setup:

VariableExample
MAIL_HOSTsmtp.mailgun.org
MAIL_PORT587
MAIL_USERNAMEnoreply@yourcompany.com
MAIL_PASSWORD(your SMTP password)
MAIL_ENCRYPTIONtls
MAIL_FROM_ADDRESSnoreply@yourcompany.com
MAIL_FROM_NAMEYourCompany Cloud

SMS / Mobile verification (optional)​

If you plan to enable mobile OTP verification during customer registration, provide configuration details for one of the supported SMS providers to the StackConsole deployment team:

  • MSG91 (MSG91_AUTH_KEY, MSG91_FLOW_ID, MSG91_SENDER)
  • Twilio (TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN, TWILIO_FROM_NUMBER)
  • Spinning Disk (SPINNING_DISK_AUTH_KEY, SPINNING_DISK_SENDER, DLT template mapping)

See SMS Gateways & Verification for full parameter specifications.

App logos​

CMP supports light and dark themes. Two logo variants are required:

PropertyValue
Dimensions160 × 40 px
FormatsPNG (transparent background recommended for Email and Invoice PDF), SVG (for web portal)
VariantsLight theme logo + Dark theme logo

Share logos to satish.londhe@stackconsole.io.

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:

NameEmail
Satish Londhesatish.londhe@stackconsole.io
Ganesh Kanadeganesh.kanade@stackconsole.io
Saurabh Rapatwarsaurabh.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:


Was this page helpful?
Found something that could be improved?