Installation On Prem
This guide provides an overview of deploying Corridor on-premises or in your own data center infrastructure.
Deployment Options¶
Option 1: Bare Metal / Virtual Machines¶
Deploy Corridor directly on physical servers or virtual machines using the installation bundle.
Best for:
- Organizations with existing VM infrastructure
- Traditional IT infrastructure patterns
- Direct control over the operating system
- Simpler operational model without containers
Option 2: Docker Containers¶
Deploy Corridor using Docker containers for a containerized deployment.
Best for:
- Organizations using Docker/container infrastructure
- Simplified deployment and updates
- Resource isolation
- Modern infrastructure patterns
View Docker Installation Guide →
Common Requirements¶
Both deployment options require:
- Metadata Database: PostgreSQL, Oracle, or SQL Server
- Message Queue: Redis for Celery task orchestration
- File Storage: Network-attached storage (NAS) or local storage
- Web Server: Nginx or Apache (for production)
- Process Management: Systemd or Supervisor
- SSL Certificates: For HTTPS access
Choosing the Right Option¶
| Factor | VMs (Bundle Install) | Docker Containers |
|---|---|---|
| Complexity | Lower | Moderate |
| Updates | Manual reinstall | Image replacement |
| Isolation | Process-level | Container-level |
| Resource Usage | Direct | Slight overhead |
| Portability | OS-dependent | OS-independent |
| Rollback | Manual | Easy (previous image) |
Architecture Overview¶
VM-Based Architecture¶
On-Premises Infrastructure
├── App Server VM(s)
│ └── corridor-app (Web UI)
├── Worker VM(s)
│ ├── corridor-worker (API worker)
│ └── corridor-worker (Spark worker)
├── Jupyter VM(s)
│ └── corridor-jupyter
├── Database Server (PostgreSQL/Oracle/SQL Server)
├── Redis Server
└── NAS/File Server
Docker-Based Architecture¶
Docker Infrastructure
├── corridor-app (Container)
├── corridor-worker-api (Container)
├── corridor-worker-spark (Container)
├── corridor-jupyter (Container)
├── Database (Container or External)
├── Redis (Container or External)
└── Shared Volumes (Docker Volumes or NAS)
Installation Overview¶
VM Installation Process¶
- Install system dependencies (Python 3.11+, Java 8+ for Spark)
- Extract Corridor installation bundle
- Run installation script for each component
- Configure connections to database, Redis, and storage
- Setup process management (systemd/supervisor)
- Configure web server (Nginx/Apache)
Docker Installation Process¶
- Setup Docker Engine and Docker Compose
- Pull or build Corridor container images
- Create docker-compose.yml configuration
- Configure environment variables and volumes
- Start containers using docker-compose
- Configure reverse proxy for external access