Files
Aleksei SviridkinandClaude 3820862a1a feat(examples): add deployment examples for common use cases
Add 5 example configurations covering popular deployment scenarios:

1. minimal.yaml - Quick start with ephemeral storage
2. production.yaml - Production setup with PVC and resource limits
3. hardware-acceleration.yaml - GPU transcoding (Intel QuickSync)
4. ingress-tls.yaml - External access with HTTPS and cert-manager
5. network-policy.yaml - Secure deployment with network isolation

Includes comprehensive README explaining usage and combinations.

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Aleksei Sviridkin <f@lex.la>
2025-11-08 20:00:28 +03:00

129 lines
3.1 KiB
Markdown

# Jellyfin Helm Chart Examples
This directory contains example configurations for common Jellyfin deployment scenarios.
## Available Examples
### 1. Minimal (`minimal.yaml`)
Quick start configuration with ephemeral storage for testing purposes.
```bash
helm install jellyfin jellyfin/jellyfin -f examples/minimal.yaml
```
**Use case**: Development, testing, demo environments.
**Note**: All data will be lost when the pod is restarted.
---
### 2. Production (`production.yaml`)
Production-ready configuration with persistent storage, resource limits, and optimized health probes.
```bash
helm install jellyfin jellyfin/jellyfin -f examples/production.yaml
```
**Features**:
- Persistent storage for config, media, and cache
- Resource requests and limits
- Optimized health probes for large libraries
- Security context with non-root user
---
### 3. Hardware Acceleration (`hardware-acceleration.yaml`)
Enable GPU acceleration for video transcoding (Intel QuickSync example).
```bash
helm install jellyfin jellyfin/jellyfin -f examples/hardware-acceleration.yaml
```
**Prerequisites**:
- Node with compatible GPU (Intel/AMD/NVIDIA)
- GPU device plugin installed in cluster
- Appropriate node labels/taints
**Note**: Adjust device paths and capabilities for your specific GPU type. See [Jellyfin documentation](https://jellyfin.org/docs/general/administration/hardware-acceleration/) for details.
---
### 4. Ingress with TLS (`ingress-tls.yaml`)
External access via HTTPS with automatic certificate management.
```bash
helm install jellyfin jellyfin/jellyfin -f examples/ingress-tls.yaml
```
**Prerequisites**:
- Ingress controller (e.g., ingress-nginx)
- cert-manager for automatic TLS certificates (optional)
- DNS record pointing to your cluster
**Configuration**:
- Update `jellyfin.example.com` to your actual domain
- Adjust cert-manager issuer if using different CA
---
### 5. NetworkPolicy Security (`network-policy.yaml`)
Secure deployment with network isolation and controlled traffic flow.
```bash
helm install jellyfin jellyfin/jellyfin -f examples/network-policy.yaml
```
**Prerequisites**:
- CNI plugin with NetworkPolicy support (Calico, Cilium, Weave, Canal)
- Ingress controller with known namespace/labels
**Features**:
- Restrict ingress to Ingress controller only
- Allow egress for DNS and metadata providers (HTTPS/443)
- Block unrestricted pod-to-pod communication
---
## Combining Examples
You can combine multiple example files to create custom configurations:
```bash
helm install jellyfin jellyfin/jellyfin \
-f examples/production.yaml \
-f examples/hardware-acceleration.yaml \
-f examples/ingress-tls.yaml
```
Files are merged in order, with later files overriding earlier ones.
## Custom Values
All examples can be further customized by overriding specific values:
```bash
helm install jellyfin jellyfin/jellyfin \
-f examples/production.yaml \
--set persistence.media.size=1Ti \
--set resources.limits.memory=16Gi
```
## Getting Help
For more configuration options, see:
- [Chart README](../README.md)
- [values.yaml](../values.yaml) - Complete configuration reference
- [Jellyfin Documentation](https://jellyfin.org/docs/)