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: <storageClass>
+    ## 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