[jellyfin] Move image to official (#693)

* feat!: migrate to new version on official image

* docs: example for rootless GPU transcoding

* feat!: migrate to new version on official image

* docs: example for rootless GPU transcoding

* docs: regenerate README.md

* docs: fix wording

Co-authored-by: ᗪєνιη ᗷυнʟ <onedr0p@users.noreply.github.com>

Co-authored-by: ᗪєνιη ᗷυнʟ <onedr0p@users.noreply.github.com>
This commit is contained in:
CuBiC 2021-03-18 17:18:09 +01:00 committed by GitHub
parent 53f9166783
commit e8734bef7c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 119 additions and 27 deletions

View File

@ -1,8 +1,8 @@
apiVersion: v2 apiVersion: v2
appVersion: 10.6.4 appVersion: 10.7.0
description: Jellyfin is a Free Software Media System description: Jellyfin is a Free Software Media System
name: jellyfin name: jellyfin
version: 5.2.1 version: 6.0.0
kubeVersion: ">=1.16.0-0" kubeVersion: ">=1.16.0-0"
keywords: keywords:
- jellyfin - jellyfin
@ -11,7 +11,7 @@ keywords:
home: https://github.com/k8s-at-home/charts/tree/master/charts/stable/Jellyfin home: https://github.com/k8s-at-home/charts/tree/master/charts/stable/Jellyfin
icon: https://github.com/jellyfin/jellyfin-ux/blob/master/branding/SVG/icon-solid-black.svg icon: https://github.com/jellyfin/jellyfin-ux/blob/master/branding/SVG/icon-solid-black.svg
sources: sources:
- https://hub.docker.com/r/linuxserver/Jellyfin/ - https://hub.docker.com/r/jellyfin/jellyfin
- https://github.com/jellyfin/jellyfin - https://github.com/jellyfin/jellyfin
maintainers: maintainers:
- name: billimek - name: billimek

View File

@ -1,6 +1,6 @@
# jellyfin # jellyfin
![Version: 5.2.0](https://img.shields.io/badge/Version-5.2.0-informational?style=flat-square) ![AppVersion: 10.6.4](https://img.shields.io/badge/AppVersion-10.6.4-informational?style=flat-square) ![Version: 6.0.0](https://img.shields.io/badge/Version-6.0.0-informational?style=flat-square) ![AppVersion: 10.7.0](https://img.shields.io/badge/AppVersion-10.7.0-informational?style=flat-square)
Jellyfin is a Free Software Media System Jellyfin is a Free Software Media System
@ -8,7 +8,7 @@ Jellyfin is a Free Software Media System
## Source Code ## Source Code
* <https://hub.docker.com/r/linuxserver/Jellyfin/> * <https://hub.docker.com/r/jellyfin/jellyfin>
* <https://github.com/jellyfin/jellyfin> * <https://github.com/jellyfin/jellyfin>
## Requirements ## Requirements
@ -77,9 +77,12 @@ N/A
| Key | Type | Default | Description | | Key | Type | Default | Description |
|-----|------|---------|-------------| |-----|------|---------|-------------|
| image.pullPolicy | string | `"IfNotPresent"` | | | image.pullPolicy | string | `"IfNotPresent"` | |
| image.repository | string | `"linuxserver/jellyfin"` | | | image.repository | string | `"jellyfin/jellyfin"` | |
| image.tag | string | `"version-10.6.4-1"` | | | image.tag | string | `"10.7.0"` | |
| ingress.enabled | bool | `false` | | | ingress.enabled | bool | `false` | |
| persistence.cache.emptyDir | bool | `false` | |
| persistence.cache.enabled | bool | `false` | |
| persistence.cache.mountPath | string | `"/cache"` | |
| persistence.config.emptyDir | bool | `false` | | | persistence.config.emptyDir | bool | `false` | |
| persistence.config.enabled | bool | `false` | | | persistence.config.enabled | bool | `false` | |
| persistence.media.emptyDir | bool | `false` | | | persistence.media.emptyDir | bool | `false` | |
@ -94,21 +97,43 @@ All notable changes to this application Helm chart will be documented in this fi
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
### [1.0.0] ### [6.0.0]
#### Migration !breaking changes!
*It is recommended to drop old configuration and start from scratch.*
This release will change the layout of `config` and `cache` persistent volumes.
To migrate the old configuration, manual modifications to volumes are required prior the upgrade or after the upgrade.
Be aware that `cache` will only be created after the upgrade if auto provisioning is used.
Mount (depends on used CSI) both volumes `config` and `cache` and be sure that jellyfin does not access the files (or is scaled down to zero).
The volumes are assumed to be mounted on `/mnt/config` and `/mnt/cache` in the example:
```bash
cd /mnt
mv config/cache/* cache/
rm -r config/cache
mkdir config/config
mv dlna/ branding.xml encoding.xml logging.default.json migrations.xml network.xml system.xml config/
mv data data.bak
mv data.bak/* .
rm -r data.bak
sed -i "s|<CachePath>.*</CachePath>|<CachePath>/cache</CachePath>|" config/system.xml
sed -i "s|<MetadataPath>.*</MetadataPath>|<MetadataPath>/config/metadata</MetadataPath>|" config/system.xml
sed -i "s|<EncoderAppPath>.*</EncoderAppPath>|<EncoderAppPath>/usr/lib/jellyfin-ffmpeg/ffmpeg</EncoderAppPath>|" config/encoding.xml
sed -i "s|<EncoderAppPathDisplay>.*</EncoderAppPathDisplay>|<EncoderAppPathDisplay>/usr/lib/jellyfin-ffmpeg/ffmpeg</EncoderAppPathDisplay>|" config/encoding.xml
```
Drop browser cache and cookies for your jellyfin URL!
#### Added #### Added
- N/A - Persistent volume definition for cache
#### Changed #### Changed
- N/A - Replaced LinuxServer.io image with official
#### Removed
- N/A
[1.0.0]: #1.0.0
## Support ## Support

View File

@ -9,19 +9,41 @@ All notable changes to this application Helm chart will be documented in this fi
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
### [1.0.0] ### [6.0.0]
#### Migration !breaking changes!
*It is recommended to drop old configuration and start from scratch.*
This release will change the layout of `config` and `cache` persistent volumes.
To migrate the old configuration, manual modifications to volumes are required prior the upgrade or after the upgrade.
Be aware that `cache` will only be created after the upgrade if auto provisioning is used.
Mount (depends on used CSI) both volumes `config` and `cache` and be sure that jellyfin does not access the files (or is scaled down to zero).
The volumes are assumed to be mounted on `/mnt/config` and `/mnt/cache` in the example:
```bash
cd /mnt
mv config/cache/* cache/
rm -r config/cache
mkdir config/config
mv dlna/ branding.xml encoding.xml logging.default.json migrations.xml network.xml system.xml config/
mv data data.bak
mv data.bak/* .
rm -r data.bak
sed -i "s|<CachePath>.*</CachePath>|<CachePath>/cache</CachePath>|" config/system.xml
sed -i "s|<MetadataPath>.*</MetadataPath>|<MetadataPath>/config/metadata</MetadataPath>|" config/system.xml
sed -i "s|<EncoderAppPath>.*</EncoderAppPath>|<EncoderAppPath>/usr/lib/jellyfin-ffmpeg/ffmpeg</EncoderAppPath>|" config/encoding.xml
sed -i "s|<EncoderAppPathDisplay>.*</EncoderAppPathDisplay>|<EncoderAppPathDisplay>/usr/lib/jellyfin-ffmpeg/ffmpeg</EncoderAppPathDisplay>|" config/encoding.xml
```
Drop browser cache and cookies for your jellyfin URL!
#### Added #### Added
- N/A - Persistent volume definition for cache
#### Changed #### Changed
- N/A - Replaced LinuxServer.io image with official
#### Removed
- N/A
[1.0.0]: #1.0.0
{{- end -}} {{- end -}}

View File

@ -6,9 +6,9 @@
# #
image: image:
repository: linuxserver/jellyfin repository: jellyfin/jellyfin
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
tag: version-10.6.4-1 tag: 10.7.0
strategy: strategy:
type: Recreate type: Recreate
@ -25,6 +25,24 @@ persistence:
enabled: false enabled: false
emptyDir: false emptyDir: false
# Cache does NOT contain temporary transcoding data.
cache:
enabled: false
emptyDir: false
mountPath: /cache
## 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: ""
media: media:
enabled: false enabled: false
emptyDir: false emptyDir: false
@ -41,3 +59,30 @@ persistence:
## Do not delete the pvc upon helm uninstall ## Do not delete the pvc upon helm uninstall
# skipuninstall: false # skipuninstall: false
# existingClaim: "" # existingClaim: ""
# podSecurityContext:
# runAsUser: 568
# runAsGroup: 568
# fsGroup: 568
# # Hardware acceleration using an Intel iGPU w/ QuickSync
# # These IDs below should be matched to your `video` and `render` group on the host
# # To obtain those IDs run the following grep statement on the host:
# # $ cat /etc/group | grep "video\|render"
# # video:x:44:
# # render:x:109:
# supplementalGroups:
# - 44
# - 109
# resources:
# requests:
# # Hardware acceleration using an Intel iGPU w/ QuickSync and
# # using intel-gpu-plugin (https://github.com/intel/intel-device-plugins-for-kubernetes)
# gpu.intel.com/i915: 1
# cpu: 200m
# memory: 256Mi
# limits:
# # Hardware acceleration using an Intel iGPU w/ QuickSync and
# # using intel-gpu-plugin (https://github.com/intel/intel-device-plugins-for-kubernetes)
# gpu.intel.com/i915: 1
# memory: 4096Mi