mirror of
https://github.com/lukevella/rallly-selfhosted.git
synced 2025-12-10 02:42:49 +01:00
1.5 KiB
1.5 KiB
Rallly Kubernetes Manifests
This directory contains base Kubernetes manifests to self-host Rallly. It separates configuration (ConfigMaps) from sensitive data (Secrets) and uses a StatefulSet for the PostgreSQL database.
Prerequisites
- A Kubernetes cluster.
kubectlconfigured to talk to your cluster.- An Ingress Controller (e.g., NGINX) installed.
Configuration
-
Secrets (
secrets.yaml):- Important: Do not commit the
secrets.yamlfile with real credentials to version control. - Update
POSTGRES_PASSWORDandSECRET_PASSWORD(useopenssl rand -hex 32to generate). - Update
DATABASE_URLto match your postgres password.
- Important: Do not commit the
-
Config (
rallly-config.yaml):- Update
NEXT_PUBLIC_BASE_URLto match your domain. - Configure your SMTP settings for emails.
- Update
-
Ingress (
ingress.yaml):- Change
host: rallly.example.comto your actual domain. - Ensure
ingressClassNamematches your cluster's controller (default is set tonginx).
- Change
Deployment Order
Apply the manifests in the following order to ensure dependencies are met:
# 1. Apply Secrets and Config first
kubectl apply -f secrets.yaml
kubectl apply -f rallly-config.yaml
# 2. Apply Database (StatefulSet)
kubectl apply -f postgres.yaml
# 3. Apply Application (Deployment)
kubectl apply -f rallly.yaml
# 4. Apply Ingress
kubectl apply -f ingress.yaml
# 5. Check that the pods are running - should show '1/1 Running' for each pod.
kubectl get pods