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 StorageClass if 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 update

Install 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 umami

Access the application locally with port forwarding:

kubectl port-forward \
  --namespace umami \
  svc/umami-umami 3000:80

Then 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: password

Then install the chart with:

helm install umami helmforge/umami \
  --namespace umami \
  --values values.yaml

Expose 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

More information