A Helm chart for installing the Argo CD Metrics Server, which connects to Prometheus and can be used to display Metrics in the Argo CD UI
helm repo add christianhuth https://charts.christianhuth.de
helm repo update
helm install my-release christianhuth/audiobookshelfThis chart bootstraps Audiobookshelf 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/audiobookshelfThese commands deploy Audiobookshelf 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-releaseThe 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 |
| audiobookshelf.backup.path | string | "/backups" |
Path to where backups are stored. Backups contain a backup of the database in /config and images/metadata stored in ./metadata/items and ./metadata/authors |
| audiobookshelf.backup.persistence.accessModes | list | ["ReadWriteOnce"] |
the desired access modes the volume should have. |
| audiobookshelf.backup.persistence.annotations | object | {} |
Annotations to be added to the PersistentVolumeClaim |
| audiobookshelf.backup.persistence.enabled | bool | true |
use a PVC to persist the backup directory |
| audiobookshelf.backup.persistence.existingClaim | string | "" |
provide an existing PersistentVolumeClaim |
| audiobookshelf.backup.persistence.resources | object | {} |
represents the minimum and maximum resources the volume should have. |
| audiobookshelf.backup.persistence.storageClassName | string | "" |
Name of the StorageClass required by the claim. |
| audiobookshelf.config.path | string | "/config" |
Path to the config directory. It will contain the database (users/books/libraries/settings). This location must not be mounted over the network. |
| audiobookshelf.config.persistence.accessModes | list | ["ReadWriteOnce"] |
the desired access modes the volume should have. |
| audiobookshelf.config.persistence.annotations | object | {} |
Annotations to be added to the PersistentVolumeClaim |
| audiobookshelf.config.persistence.enabled | bool | true |
use a PVC to persist the config directory |
| audiobookshelf.config.persistence.existingClaim | string | "" |
provide an existing PersistentVolumeClaim |
| audiobookshelf.config.persistence.resources | object | {} |
represents the minimum and maximum resources the volume should have. |
| audiobookshelf.config.persistence.storageClassName | string | "" |
Name of the StorageClass required by the claim. |
| audiobookshelf.library.path | string | "/library" |
Path to the library directory. It will contain the library files. This location must not be mounted over the network. |
| audiobookshelf.library.persistence.accessModes | list | ["ReadWriteOnce"] |
the desired access modes the volume should have. |
| audiobookshelf.library.persistence.annotations | object | {} |
Annotations to be added to the PersistentVolumeClaim |
| audiobookshelf.library.persistence.enabled | bool | true |
use a PVC to persist the config directory |
| audiobookshelf.library.persistence.existingClaim | string | "" |
provide an existing PersistentVolumeClaim |
| audiobookshelf.library.persistence.resources | object | {} |
represents the minimum and maximum resources the volume should have. |
| audiobookshelf.library.persistence.storageClassName | string | "" |
Name of the StorageClass required by the claim. |
| audiobookshelf.metadata.path | string | "/metadata" |
Path to the metadata directory. It will contain cache, streams, covers, downloads, backups and logs. |
| audiobookshelf.metadata.persistence.accessModes | list | ["ReadWriteOnce"] |
the desired access modes the volume should have. |
| audiobookshelf.metadata.persistence.annotations | object | {} |
Annotations to be added to the PersistentVolumeClaim |
| audiobookshelf.metadata.persistence.enabled | bool | true |
use a PVC to persist the metadata directory |
| audiobookshelf.metadata.persistence.existingClaim | string | "" |
provide an existing PersistentVolumeClaim |
| audiobookshelf.metadata.persistence.resources | object | {} |
represents the minimum and maximum resources the volume should have. |
| audiobookshelf.metadata.persistence.storageClassName | string | "" |
Name of the StorageClass required by the claim. |
| audiobookshelf.nodeEnv | string | "production" |
Type of deployment. Should be production unless using development. |
| audiobookshelf.podcast.downloadTimeout | string | "30000" |
Timeout in ms for podcast downloads. Set to 0 to disable timeouts altogether. |
| audiobookshelf.query.logging | string | "" |
Debug information for logging SQL queries. Use log to log the queries, and benchmark to also log the runtime of each query. |
| audiobookshelf.query.profiling | string | "" |
Experimental profiling of specific database queries. Not implemented on most queries. |
| audiobookshelf.source | string | "Helm" |
Installation source. Will be shown in the web client. |
| audiobookshelf.sqlite.cacheSize | string | "" |
Set the cache_size pragma for the SQLite database |
| audiobookshelf.sqlite.mmapSize | string | "" |
Set the mmap_size pragma for the SQLite database |
| audiobookshelf.sqlite.tempStore | string | "" |
Set the temp_store pragma for the SQLite database |
| audiobookshelf.timezone | string | "Europe/Berlin" |
specify the time zone. Check list: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones |
| autoscaling.enabled | bool | false |
|
| autoscaling.maxReplicas | int | 100 |
|
| autoscaling.minReplicas | int | 1 |
|
| autoscaling.targetCPUUtilizationPercentage | int | 80 |
|
| deploymentStrategy | object | {} |
Update strategy for the deployment |
| extraEnv | list | [] |
additional environment variables to be added to the pods |
| fullnameOverride | string | "" |
String to fully override "argocd-extension-metrics.fullname" |
| image.pullPolicy | string | "Always" |
image pull policy |
| image.registry | string | "docker.io" |
image registory |
| image.repository | string | "advplyr/audiobookshelf" |
image repository |
| image.tag | string | "2.36.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 | {} |
|
| ingress.className | string | "" |
|
| ingress.enabled | bool | false |
|
| ingress.hosts[0].host | string | "chart-example.local" |
|
| ingress.hosts[0].paths[0].path | string | "/" |
|
| ingress.hosts[0].paths[0].pathType | string | "ImplementationSpecific" |
|
| ingress.tls | list | [] |
|
| nameOverride | string | "" |
Provide a name in place of argocd-extension-metrics |
| nodeSelector | object | {} |
Node labels for pod assignment |
| podSecurityContext | object | see values.yaml | pod-level security context |
| replicaCount | int | 1 |
Number of replicas |
| resources | object | {"requests":{"cpu":"100m","memory":"100Mi"}} |
Resource limits and requests for the controller pods. |
| revisionHistoryLimit | int | 0 |
The number of old ReplicaSets to retain |
| route.main.additionalRules | list | [] |
Additional custom rules that can be added to the route |
| route.main.annotations | object | {} |
Add annotations to the route |
| route.main.apiVersion | string | "gateway.networking.k8s.io/v1" |
Set the route apiVersion, e.g. gateway.networking.k8s.io/v1 or gateway.networking.k8s.io/v1alpha2 |
| route.main.enabled | bool | false |
Enables or disables the route |
| route.main.filters | list | [] |
Filters define the filters that are applied to requests that match this rule. |
| route.main.hostnames | list | [] |
Hostnames to be matched |
| route.main.httpsRedirect | bool | false |
adds a filter for redirecting to https (HTTP 301 Moved Permanently). To redirect HTTP traffic to HTTPS, you need to have a Gateway with both HTTP and HTTPS listeners. Matches and filters do not take effect if enabled. Ref. https://gateway-api.sigs.k8s.io/guides/http-redirect-rewrite/ |
| route.main.kind | string | "HTTPRoute" |
Set the route kind Valid options are GRPCRoute, HTTPRoute, TCPRoute, TLSRoute, UDPRoute |
| route.main.labels | object | {} |
Add labels to the route |
| route.main.matches | list | see values.yaml | define conditions used for matching the rule against incoming HTTP requests. |
| route.main.parentRefs | list | [] |
Parent references (Gateway) |
| route.main.timeouts | object | {} |
defines the timeouts that can be configured for an HTTP request |
| securityContext | object | see values.yaml | container-level security context |
| service.port | int | 8080 |
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 |
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/audiobookshelf