Skip to main content

Overview

Before installing Masar Eagle, ensure your system meets the following requirements. This guide covers all necessary software, hardware specifications, and dependencies needed to run Masar Eagle successfully.

System Requirements

Hardware Requirements

Development Environment

  • CPU: 4+ cores recommended
  • RAM: 8GB minimum, 16GB recommended
  • Storage: 20GB free space
  • Network: Stable internet connection

Production Environment

  • CPU: 8+ cores recommended
  • RAM: 16GB minimum, 32GB+ recommended
  • Storage: 100GB+ SSD storage
  • Network: High-bandwidth connection

Operating System

  • Windows 10/11 with WSL2
  • Windows Server 2019 or later
  • Docker Desktop for Windows
  • macOS 11 (Big Sur) or later
  • Docker Desktop for Mac

Required Software

.NET SDK

1

Install .NET 10.0 SDK

Masar Eagle requires .NET SDK version 10.0.100-rc.1.25451.107 or later.
# Download and install .NET 10.0 SDK
wget https://dotnet.microsoft.com/download/dotnet/10.0

# Verify installation
dotnet --version
# Expected output: 10.0.100-rc.1.25451.107 or later
The project uses preview releases with rollForward: latestPatch and allowPrerelease: true configured in global.json.
2

Verify SDK Installation

dotnet --list-sdks
You should see .NET 10.0.100-rc.1 or later in the output.

Docker

1

Install Docker Engine

Docker is required for containerization and orchestration.
# Ubuntu/Debian
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

# Start Docker service
sudo systemctl start docker
sudo systemctl enable docker
2

Install Docker Compose

# Docker Compose v2 (comes with Docker Desktop)
docker compose version

# If not available, install manually
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
3

Verify Docker Installation

docker --version
docker compose version

# Test Docker
docker run hello-world
Ensure your user has permission to run Docker commands. On Linux, add your user to the docker group:
sudo usermod -aG docker $USER
newgrp docker

PostgreSQL

1

Version Requirements

  • PostgreSQL 14+ is required
  • PostgreSQL 15 or 16 is recommended for production
2

Installation Options

RabbitMQ

1

Version Requirements

  • RabbitMQ 3.12+ is required
  • Management plugin should be enabled
2

Installation

Database Setup

Database Requirements

Masar Eagle uses multiple PostgreSQL databases:

User Database

Stores user profiles, drivers, passengers, and companies

Trip Database

Manages trips, bookings, and wallet transactions

Notifications Database

Handles notifications and device tokens

Auth Database

Manages authentication with OpenIddict
When using .NET Aspire, these databases are created automatically. Manual creation is only needed for native PostgreSQL installations.

Optional Dependencies

Development Tools

  • Visual Studio 2022 (17.8 or later) - Windows
  • Visual Studio Code with C# extension - All platforms
  • JetBrains Rider - All platforms
# Verify Git installation
git --version

# Install if needed
sudo apt install git  # Linux
brew install git      # macOS
Required for frontend development if working with Aspire dashboard customizations:
# Install Node.js 18+
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install nodejs

Monitoring Tools

The following are automatically provisioned via .NET Aspire:
  • Prometheus (v3.2.1) - Metrics collection
  • Grafana - Metrics visualization
  • Jaeger - Distributed tracing
  • Loki - Log aggregation
  • OpenTelemetry Collector - Telemetry pipeline

Key Dependencies

Core Packages

Aspire.Hosting.AppHost: 13.0.2
Aspire.Hosting.PostgreSQL: 13.0.2
Aspire.Hosting.RabbitMQ: 13.0.2
Aspire.Hosting.Yarp: 13.0.2

Network Requirements

Ports

Ensure the following ports are available:
ServicePortDescription
Gateway8080API Gateway (YARP)
Identity8080Identity Service
Users8080Users Service
Trips8080Trips Service
Notifications8080Notifications Service
PostgreSQL5432Database Server
pgAdmin5050PostgreSQL Admin UI
RabbitMQ5672AMQP Protocol
RabbitMQ Mgmt15672Management UI
Aspire Dashboard8080Orchestration Dashboard
Prometheus9090Metrics
Grafana3000Visualization
Jaeger16686Tracing UI
Loki3100Logs
If any ports are already in use, modify the port mappings in AppHost.cs before running the application.

Verification

Run the following commands to verify all prerequisites are met:
#!/bin/bash

echo "Checking prerequisites..."

# Check .NET SDK
if command -v dotnet &> /dev/null; then
    echo "✓ .NET SDK: $(dotnet --version)"
else
    echo "✗ .NET SDK not found"
fi

# Check Docker
if command -v docker &> /dev/null; then
    echo "✓ Docker: $(docker --version)"
else
    echo "✗ Docker not found"
fi

# Check Docker Compose
if docker compose version &> /dev/null; then
    echo "✓ Docker Compose: $(docker compose version)"
else
    echo "✗ Docker Compose not found"
fi

# Check Git
if command -v git &> /dev/null; then
    echo "✓ Git: $(git --version)"
else
    echo "✗ Git not found"
fi

echo "\nPrerequisite check complete!"

Next Steps

Installation

Install Masar Eagle on your system

Configuration

Configure environment variables and settings

Build docs developers (and LLMs) love