# Prerequisites

## System Requirements

### Minimum Requirements
- **RAM**: 8 GB (4 GB available for Docker)
- **Storage**: 10 GB free disk space
- **CPU**: 2 cores (x86_64 or ARM64)
- **OS**: 
  - macOS 10.15+ (Catalina or newer)\
  - Windows 10/11 with WSL2
  - Linux with kernel 3.10+

## Software Requirements

To run Dograh AI locally, make sure you have the following installed:

- [Docker](https://docs.docker.com/get-docker/) (version 20.10 or later)
- [curl](https://curl.se/download.html)  usually preinstalled on macOS/Linux

> **Note**  
> Docker Compose is included with Docker Desktop. Make sure Docker is running before you begin.

### Docker Resource Allocation
For Docker Desktop users, ensure Docker has adequate resources:
1. Open Docker Desktop settings
2. Navigate to Resources
3. Allocate at least:
   - Memory: 4 GB (8 GB recommended)
   - CPUs: 2 (4 recommended)
   - Disk: 10 GB

## Required Ports

Ensure these ports are available:
- `3010` - Web UI
- `8000` - API Server
- `5432` - PostgreSQL
- `6379` - Redis
- `9000` - MinIO (S3-compatible storage)
- `9001` - MinIO Console

## Checking Port Availability

##### Check if a port is in use (replace 3010 with the port number)
```bash
lsof -i :3010
```

## Docker Registry Options

Dograh images are available from two registries that you can choose from:

- **GitHub Container Registry (Default)**: `ghcr.io/dograh-hq` - Recommended for most users
- **Docker Hub**: `dograhai` - Alternative registry

To use a specific registry, set the `REGISTRY` environment variable using either of the following:

##### Using GitHub Container Registry (recommended) or Docker Hub
```bash
REGISTRY=ghcr.io/dograh-hq docker compose up

REGISTRY=dograhai docker compose up
```