From d0fba6f0312f6de9e5ed34520294bc1f75cfb7da Mon Sep 17 00:00:00 2001 From: Thomas John Wesolowski Date: Thu, 3 Dec 2020 19:28:58 -0600 Subject: [PATCH] [booksonic-air][Add] Add booksonic-air (#294) * Add booksonic-air Signed-off-by: TJ Wesolowski * Clarify description in values.yaml Signed-off-by: TJ Wesolowski * Add storage notes Signed-off-by: TJ Wesolowski --- charts/booksonic-air/Chart.yaml | 20 ++++++ charts/booksonic-air/OWNERS | 8 +++ charts/booksonic-air/README.md | 78 ++++++++++++++++++++++ charts/booksonic-air/ci/ct-values.yaml | 2 + charts/booksonic-air/templates/NOTES.txt | 1 + charts/booksonic-air/templates/common.yaml | 1 + charts/booksonic-air/values.yaml | 49 ++++++++++++++ 7 files changed, 159 insertions(+) create mode 100644 charts/booksonic-air/Chart.yaml create mode 100644 charts/booksonic-air/OWNERS create mode 100644 charts/booksonic-air/README.md create mode 100644 charts/booksonic-air/ci/ct-values.yaml create mode 100644 charts/booksonic-air/templates/NOTES.txt create mode 100644 charts/booksonic-air/templates/common.yaml create mode 100644 charts/booksonic-air/values.yaml diff --git a/charts/booksonic-air/Chart.yaml b/charts/booksonic-air/Chart.yaml new file mode 100644 index 00000000..4a8b4287 --- /dev/null +++ b/charts/booksonic-air/Chart.yaml @@ -0,0 +1,20 @@ +apiVersion: v2 +appVersion: v2009.1.0 +description: Booksonic is a platform for accessing the audibooks you own wherever you are +name: booksonic-air +version: 1.0.0 +keywords: + - booksonic + - audiobook +home: https://github.com/k8s-at-home/charts/tree/master/charts/booksonic-air +icon: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/booksonic-air.png +sources: + - https://github.com/popeen/Booksonic-Air + - https://hub.docker.com/r/linuxserver/booksonic-air +maintainers: + - name: wojoinc + email: wojoinc@pm.me +dependencies: + - name: common + repository: https://k8s-at-home.com/charts/ + version: 1.7.0 diff --git a/charts/booksonic-air/OWNERS b/charts/booksonic-air/OWNERS new file mode 100644 index 00000000..1ce35762 --- /dev/null +++ b/charts/booksonic-air/OWNERS @@ -0,0 +1,8 @@ +approvers: +- billimek +- onedr0p +- bjw-s +reviewers: +- billimek +- onedr0p +- bjw-s diff --git a/charts/booksonic-air/README.md b/charts/booksonic-air/README.md new file mode 100644 index 00000000..b73ac454 --- /dev/null +++ b/charts/booksonic-air/README.md @@ -0,0 +1,78 @@ +# Booksonic-air + +This is a helm chart for [Booksonic-air](https://github.com/popeen/Booksonic-Air). +Booksonic-air is the successor to [Booksonic](https://github.com/popeen/Booksonic-Air#history). + +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)** + +This chart leverages the [linuxserver.io](https://hub.docker.com/r/linuxserver/booksonic-air) image. To specify a specific version, or to use a different image (not recommended), +see [configuration](#configuration) + +## TL;DR; + +```shell +$ helm repo add k8s-at-home https://k8s-at-home.com/charts/ +$ helm install k8s-at-home/booksonic-air +``` + +## Storage + +If you plan to use networked storage to store your media or config for Booksonic, (NFS, etc.) please take a look at the +Fast Access option in the Booksonic settings. This will help improve the perfomance of the application +by not constantly monitoring media folders. + +## Installing the Chart + +To install the chart with the release name `my-release`: + +```console +helm install --name my-release k8s-at-home/booksonic-air +``` + +## Uninstalling the Chart + +To uninstall/delete the `my-release` deployment: + +```console +helm delete my-release --purge +``` + +The command removes all the Kubernetes components associated with the chart and deletes the release. + +## Configuration +Read through the charts [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/booksonic-air/values.yaml) +file. It has several commented out suggested values. Most notably, these include several environment variables used to +customize the container. +Additionally you can take a look at the common library [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/common/values.yaml) for more (advanced) configuration options. + +Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example, +```console +helm install booksonic \ + --set env.TZ="America/New_York" \ + k8s-at-home/booksonic-air +``` +Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the +chart. For example, +```console +helm install booksonic k8s-at-home/booksonic-air -f values.yaml +``` + +```yaml +image: + tag: ... +``` + +--- +**NOTE** + +If you get +```console +Error: rendered manifests contain a resource that already exists. Unable to continue with install: existing resource conflict: ...` +``` +it may be because you uninstalled the chart with `skipuninstall` enabled, you need to manually delete the pvc or use `existingClaim`. + +--- + +## Upgrading an existing Release to a new major version + +A major chart version change (like 4.0.1 -> 5.0.0) indicates that there is an incompatible breaking change potentially needing manual actions. diff --git a/charts/booksonic-air/ci/ct-values.yaml b/charts/booksonic-air/ci/ct-values.yaml new file mode 100644 index 00000000..f6ccc628 --- /dev/null +++ b/charts/booksonic-air/ci/ct-values.yaml @@ -0,0 +1,2 @@ +ingress: + enabled: true diff --git a/charts/booksonic-air/templates/NOTES.txt b/charts/booksonic-air/templates/NOTES.txt new file mode 100644 index 00000000..90f7b653 --- /dev/null +++ b/charts/booksonic-air/templates/NOTES.txt @@ -0,0 +1 @@ +{{- include "common.notes.defaultNotes" . -}} diff --git a/charts/booksonic-air/templates/common.yaml b/charts/booksonic-air/templates/common.yaml new file mode 100644 index 00000000..a6613c2c --- /dev/null +++ b/charts/booksonic-air/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/charts/booksonic-air/values.yaml b/charts/booksonic-air/values.yaml new file mode 100644 index 00000000..c6d66175 --- /dev/null +++ b/charts/booksonic-air/values.yaml @@ -0,0 +1,49 @@ +# Default values for Booksonic-air. + +image: + repository: linuxserver/booksonic-air + pullPolicy: IfNotPresent + tag: v2009.1.0-ls2 + +strategy: + type: Recreate + +service: + port: + port: 4040 + +env: {} + # TZ: UTC + # PUID: "1001" + # PGID: "1001" + # CONTEXT_PATH=url-base # Used to set the base path for reverse proxies eg. /booksonic, /books, etc. + +persistence: + config: + enabled: false + emptyDir: false + + audiobooks: + enabled: false + emptyDir: false + mountPath: /audiobooks + ## Persistent Volume Storage Class + ## If defined, storageClassName: + ## If set to "-", storageClassName: "", which disables dynamic provisioning + ## If undefined (the default) or set to null, no storageClassName spec is + ## set, choosing the default provisioner. (gp2 on AWS, standard on + ## GKE, AWS & OpenStack) + # storageClass: "-" + # accessMode: ReadWriteOnce + # size: 1Gi + ## Do not delete the pvc upon helm uninstall + # skipuninstall: false + # existingClaim: "" + podcasts: + enabled: false + emptyDir: false + mountPath: /podcasts + othermedia: + enabled: false + emptyDir: false + mountPath: /othermedia