Skip to content

Server Requirements & Preparation

Before deploying the Mdlwr application to a production environment, ensure your VPS or dedicated server meets the following specifications and dependencies.


Supported Operating Systems

The Mdlwr platform is officially tested and supported on the following Linux distributions:

  • RHEL 8 / 9
  • Rocky Linux 8 / 9
  • Oracle Linux 8 / 9
  • Ubuntu 22.04 LTS or newer

Required Host & Container Stack

Since the entire Mdlwr architecture is fully containerized via Docker Compose, you only need to install the core container engines on the host machine. All other services (Database, Redis, Proxy, and Workers) run automatically inside containers.

Component Type / Version Notes
Docker Engine Host / 28.x Core containerization platform
Docker Compose Host / >= 2.20 Multi-container orchestration plugin
PostgreSQL Container (db) / 14.x Database engine (managed via compose)
Redis Container (redis) / 7-alpine In-memory cache & message broker
Nginx Container (nginx) Reverse proxy & SSL termination

Minimum Hardware Requirements (Production)

For stable production workloads (running all app services, workers, database, and proxy simultaneously), allocate at least the following hardware resources:

  • CPU: Minimum 4 Cores
  • RAM: Minimum 8 GB RAM
  • Storage: Minimum 80 GB SSD

Hardware Sizing & Capacity Planning

Hardware requirements depend heavily on your integration volume, active data flows, and concurrency.

For full details on selecting server specs ranging from S (Small) up to XXL (Enterprise)—including Gunicorn worker tuning (-w), database memory allocation (shared_buffers), and Docker memory limits—please refer to the dedicated Server Sizing Guide.


Network & Firewall Ports

Ensure that your cloud security group, local firewall, or corporate proxy allows traffic through the required ports:

Port Protocol Description
80 TCP HTTP traffic (Redirects to HTTPS via Nginx)
443 TCP Secure HTTPS traffic (Client & API Access)
5432 TCP PostgreSQL Database port (exposed from container)
6379 TCP Redis server port (exposed from container)
5000 – 5002 TCP Internal application service ports

⚠️ Important Note: Ports 5432 and 6379 are exposed by the container for local administrative access, but should ideally be restricted via firewall to internal networks or localhost only for security compliance.