Running on Kubernetes with HelmForge
HelmForge provides a third-party Helm chart for running Umami on Kubernetes. The chart uses the official Umami container image and can deploy PostgreSQL as a bundled subchart or connect to an external PostgreSQL database.
Requirements
- A working Kubernetes cluster.
- Helm 3 installed locally.
- A default
StorageClassif you use the bundled PostgreSQL subchart. - Optional: an Ingress controller if you want to expose Umami with a public hostname.
Add the HelmForge repository
helm repo add helmforge https://repo.helmforge.dev
helm repo updateInstall with bundled PostgreSQL
For a basic installation, the chart can deploy Umami together with PostgreSQL:
kubectl create namespace umami
helm install umami helmforge/umami \
--namespace umamiAccess the application locally with port forwarding:
kubectl port-forward \
--namespace umami \
svc/umami-umami 3000:80Then open http://localhost:3000.
The default login credentials are username admin and password umami.
Important: Change the default password immediately after your first login.
Use an external PostgreSQL database
To connect Umami to an existing PostgreSQL database, disable the bundled PostgreSQL subchart and provide the external database settings:
# values.yaml
postgresql:
enabled: false
database:
external:
host: postgres.example.com
port: "5432"
name: umami
username: umami
existingSecret: umami-db-credentials
existingSecretPasswordKey: passwordThen install the chart with:
helm install umami helmforge/umami \
--namespace umami \
--values values.yamlExpose with Ingress
For a public installation, enable Ingress:
ingress:
enabled: true
ingressClassName: nginx
hosts:
- host: analytics.example.com
paths:
- path: /
pathType: Prefix
tls:
- hosts:
- analytics.example.com
secretName: umami-tls