Chapter 4: Installation and Setup
This chapter walks you through every step of getting the MATIH Platform running, from a local development environment on your laptop to a full production deployment on Azure AKS, AWS EKS, or GCP GKE. Whether you are a developer setting up a local workspace or a platform engineer deploying to the cloud, this chapter provides the complete guide.
What You Will Learn
By the end of this chapter, you will be able to:
- Verify prerequisites for all supported development and deployment scenarios
- Set up a local development environment using Docker Compose and the
local/matihCLI - Deploy to cloud Kubernetes using Terraform modules for Azure, AWS, and GCP
- Perform first-time configuration including tenant creation, user setup, and service registration
- Verify your deployment using the platform's built-in health check and status tools
Chapter Structure
| Section | Description | Audience |
|---|---|---|
| Prerequisites | Required tools, versions, and system requirements for all deployment scenarios | Everyone |
| Local Development Setup | Docker Compose setup, the local/matih CLI, building services, and running tests | Developers |
| Cloud Deployment | Terraform-based deployment to Azure AKS, AWS EKS, and GCP GKE with the CD pipeline | Platform engineers, DevOps |
| First-Time Configuration | Creating your first tenant, admin user, data source connection, and service verification | Administrators |
| Verifying the Deployment | Platform status checks, health monitoring, and troubleshooting common issues | All operators |
Deployment Options
| Option | Best For | Time to Deploy | Infrastructure |
|---|---|---|---|
| Local Development | Feature development, debugging, testing | 15-30 minutes | Docker Desktop, 16 GB RAM |
| Dev Cluster | Integration testing, staging | 30-60 minutes | Single-node K8s or managed K8s |
| Production (Azure) | Full deployment on Azure AKS | 45-90 minutes | AKS cluster, Azure PostgreSQL, Azure Key Vault |
| Production (AWS) | Full deployment on AWS EKS | 45-90 minutes | EKS cluster, RDS, AWS Secrets Manager |
| Production (GCP) | Full deployment on GCP GKE | 45-90 minutes | GKE cluster, Cloud SQL, GCP Secret Manager |
Quick Start Decision Tree
Are you a developer working on a specific service? Go to Local Development Setup and use the minimal profile.
Are you deploying to a cloud Kubernetes cluster? Start with Prerequisites, then go to Cloud Deployment.
Have you already deployed and need to configure the platform? Go to First-Time Configuration.
Is something not working after deployment? Go to Verifying the Deployment.
Key Scripts
The MATIH Platform provides scripts for every operational task. Before running any manual command, check whether a script exists:
| Task | Script | Description |
|---|---|---|
| Build all services | ./scripts/build.sh | Full platform build with test and Docker image creation |
| Build single service | ./scripts/tools/service-build-deploy.sh <service> | Build and deploy a specific service |
| Full service rebuild | ./scripts/tools/full-service-rebuild.sh | Clean rebuild of a service |
| CD pipeline | ./scripts/cd-new.sh all dev | Run the 12-stage CD pipeline |
| Platform status | ./scripts/tools/platform-status.sh | Check status of all platform components |
| Health check | ./scripts/disaster-recovery/health-check.sh | Comprehensive health verification |
| Validate ports | ./scripts/tools/validate-ports.sh | Check for port conflicts |
| Build base images | ./scripts/tools/build-base-images.sh | Build shared base Docker images |
How This Chapter Connects
This chapter builds on the architecture described in Chapter 2 and the security model from Chapter 3. After completing the installation, proceed to Chapter 5: Quickstart Tutorials for hands-on tutorials that walk you through your first query, dashboard, and ML model.
Begin with Prerequisites to verify your system is ready.