Realm9 Logo
Search documentation...

Installation Guide

Realm9 is deployed on Kubernetes using Helm. This guide will help you get Realm9 running in your cluster in just a few minutes.

Prerequisites

Before you begin, ensure you have:

  • Kubernetes Cluster: v1.24 or higher
  • Helm: v3.8 or higher
  • kubectl: Configured to access your cluster
  • PostgreSQL: Database for Realm9 (can be external or in-cluster)

Quick Install

The fastest way to install Realm9 is using our public Helm chart:

# Add the Realm9 Helm repository
helm repo add realm9 https://realm9-platform.github.io/helm-charts
helm repo update

# Install Realm9
helm install realm9 realm9/realm9 \\
  --namespace realm9-system \\
  --create-namespace \\
  --wait

This installs Realm9 with default settings. For production deployments, see the configuration section below.

Configuration

Database Connection

Realm9 requires a PostgreSQL database. You can use an existing database or let Helm create one for you.

Using an existing database:

helm install realm9 realm9/realm9 \\
  --set postgresql.enabled=false \\
  --set externalDatabase.host=your-db-host \\
  --set externalDatabase.port=5432 \\
  --set externalDatabase.database=realm9 \\
  --set externalDatabase.username=realm9 \\
  --set externalDatabase.password=your-password \\
  --namespace realm9-system \\
  --create-namespace

Let Helm manage PostgreSQL:

helm install realm9 realm9/realm9 \\
  --set postgresql.enabled=true \\
  --set postgresql.auth.password=secure-password \\
  --namespace realm9-system \\
  --create-namespace

Ingress Configuration

To access Realm9 externally, configure an ingress:

helm install realm9 realm9/realm9 \\
  --set ingress.enabled=true \\
  --set ingress.hostname=realm9.your-domain.com \\
  --set ingress.tls.enabled=true \\
  --namespace realm9-system \\
  --create-namespace

Resource Limits

For production workloads, configure resource limits:

# values.yaml
resources:
  requests:
    memory: "512Mi"
    cpu: "500m"
  limits:
    memory: "2Gi"
    cpu: "2000m"
helm install realm9 realm9/realm9 \\
  -f values.yaml \\
  --namespace realm9-system \\
  --create-namespace

Verification

After installation, verify that Realm9 is running:

# Check pod status
kubectl get pods -n realm9-system

# Check services
kubectl get svc -n realm9-system

# View logs
kubectl logs -n realm9-system -l app=realm9-app

You should see output similar to:

NAME                          READY   STATUS    RESTARTS   AGE
realm9-app-7d8c9f5b6-abc12   1/1     Running   0          2m
realm9-app-7d8c9f5b6-def34   1/1     Running   0          2m

Access Realm9

Once deployed, access Realm9:

  1. With Ingress: Navigate to https://realm9.your-domain.com

  2. With Port Forward:

    kubectl port-forward -n realm9-system svc/realm9-app 3000:80
    

    Then open http://localhost:3000

  3. With LoadBalancer:

    kubectl get svc -n realm9-system realm9-app
    

    Use the EXTERNAL-IP to access Realm9

Initial Setup

On first access:

  1. Create an admin account
  2. Set up your first environment
  3. Install the observability agent (optional)
  4. Connect your cloud accounts (optional)

Upgrading

To upgrade to a newer version:

# Update repository
helm repo update

# Upgrade Realm9
helm upgrade realm9 realm9/realm9 \\
  --namespace realm9-system

Uninstallation

To remove Realm9:

helm uninstall realm9 --namespace realm9-system

Note: This does not delete the namespace or PersistentVolumeClaims. To fully clean up:

kubectl delete namespace realm9-system

Troubleshooting

Pods not starting

Check pod events:

kubectl describe pod -n realm9-system <pod-name>

Database connection errors

Verify database credentials:

kubectl get secret -n realm9-system realm9-db-secret -o yaml

Ingress not working

Check ingress controller status:

kubectl get ingress -n realm9-system
kubectl describe ingress -n realm9-system realm9-ingress

Next Steps

Support

For installation issues: