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:
-
With Ingress: Navigate to
https://realm9.your-domain.com -
With Port Forward:
kubectl port-forward -n realm9-system svc/realm9-app 3000:80Then open
http://localhost:3000 -
With LoadBalancer:
kubectl get svc -n realm9-system realm9-appUse the EXTERNAL-IP to access Realm9
Initial Setup
On first access:
- Create an admin account
- Set up your first environment
- Install the observability agent (optional)
- 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:
- Check the Troubleshooting guide
- Visit our GitHub repository
- Contact support: sales@realm9.app
