144 lines
3.4 KiB
Go Template
144 lines
3.4 KiB
Go Template
{{ template "chart.header" . }}
|
|
{{ template "chart.deprecationWarning" . }}
|
|
|
|
{{ template "chart.badgesSection" . }}
|
|
|
|
{{ template "chart.description" . }}
|
|
|
|
{{ template "chart.homepageLine" . }}
|
|
|
|
## Steps to Use a Helm Chart
|
|
|
|
### 1. Add a Helm Repository
|
|
|
|
Helm repositories contain collections of charts. You can add an existing repository using the following command:
|
|
|
|
```bash
|
|
helm repo add jellyfin https://jellyfin.github.io/jellyfin-helm
|
|
```
|
|
|
|
### 2. Install the Helm Chart
|
|
|
|
To install a chart, use the following command:
|
|
|
|
```bash
|
|
helm install my-jellyfin jellyfin/jellyfin
|
|
```
|
|
|
|
### 3. View the Installation
|
|
|
|
You can check the status of the release using:
|
|
|
|
```bash
|
|
helm status my-jellyfin
|
|
```
|
|
|
|
## Customizing the Chart
|
|
|
|
Helm charts come with default values, but you can customize them by using the --set flag or by providing a custom values.yaml file.
|
|
|
|
### 1. Using --set to Override Values
|
|
```bash
|
|
helm install my-jellyfin jellyfin/jellyfin --set key1=value1,key2=value2
|
|
```
|
|
|
|
### 2. Using a values.yaml File
|
|
You can create a custom values.yaml file and pass it to the install command:
|
|
|
|
```bash
|
|
helm install my-jellyfin jellyfin/jellyfin -f values.yaml
|
|
```
|
|
|
|
{{ template "chart.maintainersSection" . }}
|
|
|
|
{{ template "chart.sourcesSection" . }}
|
|
|
|
{{ template "chart.requirementsSection" . }}
|
|
|
|
{{ template "chart.valuesSection" . }}
|
|
|
|
{{ template "helm-docs.versionFooter" . }}
|
|
|
|
## Gateway API HTTPRoute
|
|
|
|
This chart supports the Kubernetes Gateway API HTTPRoute resource as a modern alternative to Ingress.
|
|
|
|
To use HTTPRoute, you need to have Gateway API CRDs installed in your cluster and a Gateway resource configured.
|
|
|
|
Example configuration:
|
|
|
|
```yaml
|
|
httpRoute:
|
|
enabled: true
|
|
annotations: {}
|
|
parentRefs:
|
|
- name: my-gateway
|
|
namespace: gateway-system
|
|
sectionName: https
|
|
hostnames:
|
|
- jellyfin.example.com
|
|
rules:
|
|
- matches:
|
|
- path:
|
|
type: PathPrefix
|
|
value: /
|
|
```
|
|
|
|
For more information about Gateway API, see: <https://gateway-api.sigs.k8s.io/>
|
|
|
|
## Hardware acceleration
|
|
|
|
Out of the box the pod does not have the necessary permissions to enable hardware acceleration (HWA) in Jellyfin.
|
|
Adding the following Helm values should make it enable you to use hardware acceleration features.
|
|
Some settings may need to be tweaked depending on the type of device (Intel/AMD/NVIDIA/...) and your container runtime.
|
|
|
|
Please refer to the Jellyfin upstream documentation for more information about hardware acceleration: <https://jellyfin.org/docs/general/administration/hardware-acceleration/>
|
|
|
|
```yaml
|
|
securityContext:
|
|
capabilities:
|
|
add:
|
|
- "SYS_ADMIN"
|
|
drop:
|
|
- "ALL"
|
|
privileged: false
|
|
|
|
extraVolumes:
|
|
- name: hwa
|
|
hostPath:
|
|
path: /dev/dri
|
|
|
|
extraVolumeMounts:
|
|
- name: hwa
|
|
mountPath: /dev/dri
|
|
```
|
|
|
|
## IPv6 Configuration
|
|
|
|
This chart supports IPv6 and dual-stack networking configurations out of the box. Health probes use httpGet by default for compatibility with both IPv4 and IPv6.
|
|
|
|
### IPv6-only Configuration
|
|
|
|
For IPv6-only clusters:
|
|
|
|
```yaml
|
|
service:
|
|
ipFamilyPolicy: SingleStack
|
|
ipFamilies:
|
|
- IPv6
|
|
```
|
|
|
|
### Dual-stack Configuration
|
|
|
|
For dual-stack clusters (both IPv4 and IPv6):
|
|
|
|
```yaml
|
|
service:
|
|
ipFamilyPolicy: PreferDualStack # or RequireDualStack
|
|
ipFamilies:
|
|
- IPv4
|
|
- IPv6 # First family in the list is the primary
|
|
```
|
|
|
|
For more information about Kubernetes dual-stack networking, see: <https://kubernetes.io/docs/concepts/services-networking/dual-stack/>
|