100 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			100 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
# Audiobookshelf Helm Chart
 | 
						|
 | 
						|
This Helm chart deploys the Audiobookshelf server on a Kubernetes cluster, allowing you to serve audiobooks, ebooks, and podcasts from NFS shares.
 | 
						|
 | 
						|
## Installation
 | 
						|
 | 
						|
To install Audiobookshelf using this Helm chart, follow these steps:
 | 
						|
 | 
						|
### Step 1: Prepare Configuration
 | 
						|
 | 
						|
Create a `custom.yaml` file to override the default configuration settings. Below is an example configuration that integrates Audiobookshelf with Traefik for ingress, and configures readonly NFS shares where the media files are stored.
 | 
						|
 | 
						|
```yaml
 | 
						|
ingress:
 | 
						|
  enabled: true
 | 
						|
  annotations:
 | 
						|
    kubernetes.io/ingress.class: traefik
 | 
						|
  hosts:
 | 
						|
    - host: audiobooks.my-domain.com
 | 
						|
      paths:
 | 
						|
        - path: /
 | 
						|
          pathType: ImplementationSpecific
 | 
						|
 | 
						|
nfs:
 | 
						|
  - server: 192.168.0.30
 | 
						|
    storage: 1Ti
 | 
						|
    name: my-nfs-server
 | 
						|
    share:
 | 
						|
      - name: audiobooks
 | 
						|
        path: /volume1/audiobooks
 | 
						|
        mountPath: /audiobooks
 | 
						|
```
 | 
						|
 | 
						|
If required the version of the Audiobookshelf image can be overridden by setting the `image.tag` value in the `custom.yaml` file.
 | 
						|
 | 
						|
```yaml
 | 
						|
image:
 | 
						|
  repository: ghcr.io/audiobookshelf/audiobookshelf
 | 
						|
  tag: 9.8.7
 | 
						|
  pullPolicy: IfNotPresent
 | 
						|
```
 | 
						|
 | 
						|
#### Add the helm repository
 | 
						|
 | 
						|
The Audiobookshelf Helm chart is hosted in the GitLab Package Registry. To add the repository to Helm, use the following command:
 | 
						|
 | 
						|
```bash
 | 
						|
helm repo add audiobookshelf https://gitlab.com/api/v4/projects/57546317/packages/helm/release
 | 
						|
```
 | 
						|
 | 
						|
It is possible to use pre-release versions of the chart by replacing `release` with the pre-release channel name. The following pre-release channels are available:
 | 
						|
 | 
						|
- `nightly`
 | 
						|
- `preview`
 | 
						|
- `rc`
 | 
						|
 | 
						|
> **Note:** The pre-release channels may contain unstable or untested versions of the chart.
 | 
						|
 | 
						|
### Step 2: Deploy
 | 
						|
 | 
						|
Run the following Helm command to deploy Audiobookshelf with the custom configuration.
 | 
						|
 | 
						|
> **Note:** If a pre-release channel is used, add `--devel` to the Helm command.
 | 
						|
 | 
						|
```bash
 | 
						|
helm install \
 | 
						|
  --create-namespace \
 | 
						|
  --namespace audiobookshelf \
 | 
						|
  audiobookshelf \
 | 
						|
  -f custom.yaml \
 | 
						|
  audiobookshelf/audiobookshelf
 | 
						|
```
 | 
						|
 | 
						|
## Upgrades
 | 
						|
 | 
						|
To upgrade your Audiobookshelf deployment to a new version or to apply configuration changes, use the following command:
 | 
						|
 | 
						|
```bash
 | 
						|
helm upgrade \
 | 
						|
  --namespace audiobookshelf \
 | 
						|
  audiobookshelf \
 | 
						|
  -f custom.yaml \
 | 
						|
  audiobookshelf/audiobookshelf
 | 
						|
```
 | 
						|
 | 
						|
## Managing NFS Mounts
 | 
						|
 | 
						|
If you need to update the NFS mount configuration, follow these steps:
 | 
						|
 | 
						|
1. Comment out the NFS mount configuration in `custom.yaml` that needs adjustment.
 | 
						|
2. Upgrade the Helm deployment using the command provided in the Upgrades section.
 | 
						|
3. Make the required changes to your NFS setup.
 | 
						|
4. Uncomment the adjusted NFS mount configuration.
 | 
						|
5. Upgrade the Helm deployment again to apply the changes.
 | 
						|
 | 
						|
## Additional Information
 | 
						|
 | 
						|
For more detailed configuration options and advanced setups, refer to the chart's `values.yaml` file and the Audiobookshelf documentation.
 | 
						|
 |