Umami is a simple, fast, privacy-focused alternative to Google Analytics.
helm repo add christianhuth https://charts.christianhuth.de
helm repo update
helm install my-release christianhuth/umami
Umami is a simple, fast, privacy-focused alternative to Google Analytics.
This chart bootstraps Umami on a Kubernetes cluster using the Helm package manager.
- Kubernetes 1.19+
To install the chart with the release name my-release
:
helm repo add christianhuth https://charts.christianhuth.de
helm repo update
helm install my-release christianhuth/umami
These commands deploy Umami on the Kubernetes cluster in the default configuration. The Values section lists the values that can be configured during installation.
Tip: List all releases using
helm list
To uninstall the my-release
deployment:
helm uninstall my-release
The command removes all the Kubernetes components associated with the chart and deletes the release.
Key | Type | Default | Description |
---|---|---|---|
affinity | object | {} |
Affinity settings for pod assignment |
autoscaling.enabled | bool | false |
Enable Horizontal POD autoscaling |
autoscaling.maxReplicas | int | 100 |
Maximum number of replicas |
autoscaling.minReplicas | int | 1 |
Minimum number of replicas |
autoscaling.targetCPUUtilizationPercentage | int | 80 |
Target CPU utilization percentage |
autoscaling.targetMemoryUtilizationPercentage | int | 80 |
Target Memory utilization percentage |
database.databaseUrlKey | string | "" |
Key in the existing secret containing the database url |
database.existingSecret | string | "" |
use an existing secret containing the database url. If none given, we will generate the database url by using the other values. The password for the database has to be set using .Values.postgresql.auth.password , .Values.mysql.auth.password or .Values.externalDatabase.auth.password . |
externalDatabase.auth.database | string | "mychart" |
Name of the database to use |
externalDatabase.auth.password | string | "mychart" |
Password to use |
externalDatabase.auth.username | string | "mychart" |
Name of the user to use |
externalDatabase.hostname | string | "" |
Hostname of the database |
externalDatabase.port | int | 5432 |
Port used to connect to database |
externalDatabase.type | string | "postgresql" |
Type of database |
extraEnv | list | [] |
additional environment variables to be added to the pods. See https://umami.is/docs/environment-variables for a complete list of available variables. Most variables can be set under umami as well. |
fullnameOverride | string | "" |
String to fully override "umami.fullname" |
image.pullPolicy | string | "Always" |
image pull policy |
image.registry | string | "ghcr.io" |
image registry |
image.repository | string | "umami-software/umami" |
image repository |
image.tag | string | "postgresql-v2.9.0" |
Overrides the image tag |
imagePullSecrets | list | [] |
If defined, uses a Secret to pull an image from a private Docker registry or repository. |
ingress.annotations | object | {} |
Additional annotations for the Ingress resource |
ingress.className | string | "" |
IngressClass that will be be used to implement the Ingress |
ingress.enabled | bool | false |
Enable ingress record generation |
ingress.hosts | list | see values.yaml | An array with hosts and paths |
ingress.tls | list | [] |
An array with the tls configuration |
mysql.auth.database | string | "mychart" |
Name for a custom database to create |
mysql.auth.password | string | "mychart" |
Password for the custom user to create |
mysql.auth.username | string | "mychart" |
Name for a custom user to create |
mysql.enabled | bool | false |
enable MySQL™ subchart from Bitnami |
nameOverride | string | "" |
Provide a name in place of umami |
nodeSelector | object | {} |
Node labels for pod assignment |
podAnnotations | object | {} |
Annotations to be added to pods |
podLabels | object | {} |
Labels to be added to pods |
podSecurityContext | object | {} |
pod-level security context |
postgresql.auth.database | string | "mychart" |
Name for a custom database to create |
postgresql.auth.password | string | "mychart" |
Password for the custom user to create |
postgresql.auth.username | string | "mychart" |
Name for a custom user to create |
postgresql.enabled | bool | true |
enable PostgreSQL™ subchart from Bitnami |
replicaCount | int | 1 |
Number of replicas |
resources | object | {} |
Resource limits and requests for the controller pods. |
revisionHistoryLimit | int | 10 |
The number of old ReplicaSets to retain |
securityContext | object | {"runAsGroup":65533,"runAsNonRoot":true,"runAsUser":1001} |
container-level security context |
service.port | int | 3000 |
Kubernetes port where service is exposed |
service.type | string | "ClusterIP" |
Kubernetes service type |
serviceAccount.annotations | object | {} |
Annotations to add to the service account |
serviceAccount.create | bool | true |
Specifies whether a service account should be created |
serviceAccount.name | string | "" |
The name of the service account to use. If not set and create is true, a name is generated using the fullname template |
tolerations | list | [] |
Toleration labels for pod assignment |
umami.appSecret.existingSecret | string | "" |
Name of an existing secret containing the app secret under the key app-secret. |
umami.appSecret.secret | string | "" |
A random string used to generate unique values. |
umami.clientIpHeader | string | "" |
HTTP header to check for the client's IP address. This is useful when you're behind a proxy that uses non-standard headers. |
umami.cloudMode | string | "1" |
Disables users, teams, and websites settings page. |
umami.collectApiEndpoint | string | "" |
Allows you to send metrics to a location different than the default /api/send . This is to help you avoid some ad-blockers. |
umami.corsMaxAge | string | "86400" |
How many seconds a CORS preflight should last. Default is 24 hours. |
umami.debug | string | "" |
Console logging for specific areas of the application. Values include umami:auth , umami:clickhouse , umami:kafka , umami:middleware , and umami:prisma . |
umami.disableBotCheck | string | "1" |
By default bots are excluded from statistics. This disables checking for bots. |
umami.disableLogin | string | "1" |
Disables the login page for the application |
umami.disableTelemetry | string | "1" |
Umami collects completely anonymous telemetry data in order help improve the application. You can choose to disable this if you don't want to participate. |
umami.disableUpdates | string | "1" |
Disables the check for new versions of Umami |
umami.enableTestConsole | string | "1" |
Enables the internal test page, {host}/console. Admin access is required. Users can manually fire pageviews and events to their websites. |
umami.forceSSL | string | "1" |
This will redirect all requests from http to https in the Umami application. Note, this does not apply to the tracking script. |
umami.hostname | string | "0.0.0.0" |
hostname under which Umami will be reached |
umami.ignoreHostname | string | "" |
This will do a DNS lookup on a hostname and the resulting IP address will be ignored. This can be a comma delimited list of hostnames. |
umami.ignoredIpAddresses | string | "" |
You can provide a comma-delimited list of IP address to exclude from data collection. |
umami.logQuery | string | "1" |
If you are running in development mode, this will log database queries to the console for debugging. |
umami.migration.v1v2.enabled | bool | false |
enable a job that migrates database structure from v1 to v2 |
umami.removeDisableLoginEnv | bool | true |
setting this to true removes the environment variable DISABLE_LOGIN defined in umami.disableLogin from the deployment as this caused errors in some setups |
umami.removeTrailingSlash | string | "1" |
Removes the trailing slash from all incoming urls. |
umami.trackerScriptName | string | "umami" |
Allows you to assign a custom name to the tracker script different from the default umami. This is to help you avoid some ad-blockers. |
Specify each parameter using the --set key=value[,key=value]
argument to helm install
.
Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example,
helm install my-release -f values.yaml christianhuth/umami
This major updates the PostgreSQL subchart to its newest major, 14.0.0. Here you can find more information about the changes introduced in that version.
This major updates the Docker Image to its newest major, 2.0.0. Here you can find more information about the changes introduced in that version.
To upgrade from a previous version of the Helm Chart make sure to activate the database migration job with umami.migration.v1v2.enabled
.