> ## Documentation Index
> Fetch the complete documentation index at: https://metoro.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Installation

> Step-by-step guide for installing Metoro in an on-premises environment

This guide walks you through installing Metoro using the configuration you prepared in the previous step.

## Prerequisites

Before installation, ensure you have:

* Completed the [pre-installation checklist](/docs/on-premises/9.x/pre-installation-checklist)
* Created your configuration file based on the [configuration guide](/docs/on-premises/9.x/configuration)
* Kubernetes cluster meeting the [minimum requirements](/docs/getting-started/requirements)
* Helm 3.x installed
* Access to the Metoro Helm charts and image pull secrets

## Installation Steps

### 1. Obtain Helm Charts

Contact your Metoro representative to get:

* Helm charts (provided as a zip file)
* Image pull secret for accessing Metoro container images

### 2. Prepare Your Environment

```bash theme={null}
# Extract the helm chart
unzip helm.zip && cd helm

# Ensure you're in the correct Kubernetes context
kubectl config current-context

# Create the namespace if you haven't already
kubectl create namespace metoro-hub
```

### 3. Apply Your Configuration

If you followed the configuration guide, you should have already created the necessary secrets. If not, create them now:

```bash theme={null}
# Example: Create secrets based on your configuration
kubectl apply -f your-secrets.yaml
```

### 4. Install Metoro Hub

Install using your prepared configuration file:

```bash theme={null}
helm install \
  --namespace metoro-hub \
  --create-namespace \
  metoro ./ \
  -f your-values.yaml
```

Monitor the deployment:

```bash theme={null}
# Watch pods come up
kubectl get pods -n metoro-hub -w
```

### 5. Verify Installation

Wait for all pods to be ready:

```bash theme={null}
kubectl wait --for=condition=ready pod --all -n metoro-hub --timeout=300s
```

### 6. Access the Metoro UI

#### Option A: Port Forwarding (Development)

```bash theme={null}
kubectl port-forward -n metoro-hub service/apiserver 8080:8080
```

Then access: [http://localhost:8080](http://localhost:8080)

#### Option B: Ingress (Production)

If you configured ingress, access Metoro at your configured domain (e.g., [https://metoro.yourdomain.com](https://metoro.yourdomain.com))

### 7. Initial Login

1. Navigate to the Metoro UI
2. Log in with the credentials you configured in `defaultOnPremAdmin`
3. If using default credentials, **change the password immediately**

### 8. Install Metoro Agents

After logging into the Metoro UI:

1. Click on "Add Cluster" or "Existing Cluster"
2. Enter a name for your cluster
3. Copy the provided installation command
4. Run the command in the cluster you want to monitor
5. After a few minutes, you should see the UI show that data is being collected from the new cluster.

## Post-Installation

### Common Issues

<Accordion title="Pods stuck in pending state">
  Check for:

  * Insufficient resources: `kubectl describe node`
  * PVC issues: `kubectl describe pvc -n metoro-hub`
  * Image pull errors: `kubectl describe pod <pod-name> -n metoro-hub`
</Accordion>

<Accordion title="Cannot access UI">
  * Verify API server is running: `kubectl get pods -n metoro-hub | grep apiserver`
  * Check service endpoints: `kubectl get endpoints -n metoro-hub apiserver`
  * Review logs: `kubectl logs -n metoro-hub deployment/apiserver`
</Accordion>

<Accordion title="No data showing in UI">
  * Ensure agents are installed in monitored clusters
  * Check agent connectivity to hub
  * Verify ingester is processing data
  * Allow 2-3 minutes for initial data to appear
</Accordion>

## Next Steps

* Set up [monitoring and alerting](/docs/alerts-monitoring/alerts-overview)
* Configure [integrations](/docs/integrations/overview) with your existing tools
* Explore [dashboards](/docs/dashboards/overview) for visualizing your data
