jellyfin: HW acceleration
This commit is contained in:
parent
40278cffc5
commit
f05125f313
3 changed files with 22 additions and 30 deletions
14
DOCS
14
DOCS
|
@ -3,6 +3,7 @@ Additional documentation for my homelab setup
|
||||||
Table of Contents
|
Table of Contents
|
||||||
|
|
||||||
1. DNS
|
1. DNS
|
||||||
|
2. Jellyfin HW acceleration
|
||||||
|
|
||||||
1. DNS
|
1. DNS
|
||||||
|
|
||||||
|
@ -16,3 +17,16 @@ Both resolvers use 1.1.1.1 and 8.8.8.8 as upstream servers.
|
||||||
|
|
||||||
Note: Apple TV seems to not care at all what I set as the resolver, so I need to
|
Note: Apple TV seems to not care at all what I set as the resolver, so I need to
|
||||||
have an internal address published on a public DNS server.
|
have an internal address published on a public DNS server.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2. Jellyfin HW acceleration
|
||||||
|
|
||||||
|
The physical server has Intel integrated graphics. To make PCI passthrough work
|
||||||
|
properly I had to enable it and Intel's vGT technology to make vGPUs out of the
|
||||||
|
single chip. Here is a guide that had worked:
|
||||||
|
|
||||||
|
https://cetteup.com/216/how-to-use-an-intel-vgpu-for-plexs-hardware-accelerated-streaming-in-a-proxmox-vm/
|
||||||
|
|
||||||
|
Basically it is just enabling IOMMU, and the vGT feature in the i915 kernel
|
||||||
|
driver. (IOMMU needs to be enabled in the BIOS as well)
|
||||||
|
|
|
@ -2,7 +2,6 @@ version: '3.5'
|
||||||
services:
|
services:
|
||||||
jellyfin:
|
jellyfin:
|
||||||
image: jellyfin/jellyfin
|
image: jellyfin/jellyfin
|
||||||
container_name: jellyfin
|
|
||||||
ports:
|
ports:
|
||||||
- 127.0.0.1:8096:8096
|
- 127.0.0.1:8096:8096
|
||||||
- 7359:7359/udp
|
- 7359:7359/udp
|
||||||
|
@ -16,11 +15,7 @@ services:
|
||||||
# Optional - alternative address used for autodiscovery
|
# Optional - alternative address used for autodiscovery
|
||||||
environment:
|
environment:
|
||||||
- JELLYFIN_PublishedServerUrl=https://film.$domain
|
- JELLYFIN_PublishedServerUrl=https://film.$domain
|
||||||
# Optional - may be necessary for docker healthcheck to pass if running in host network mode
|
# Intel VGT HW acceleration
|
||||||
extra_hosts:
|
|
||||||
- "host.docker.internal:host-gateway"
|
|
||||||
deploy:
|
|
||||||
resources:
|
|
||||||
reservations:
|
|
||||||
devices:
|
devices:
|
||||||
- capabilities: [gpu]
|
- /dev/dri/renderD128:/dev/dri/renderD128
|
||||||
|
- /dev/dri/card0:/dev/dri/card0
|
||||||
|
|
|
@ -5,38 +5,21 @@ source "$HL_LIB"
|
||||||
|
|
||||||
_assert_vars HL_DOMAIN;
|
_assert_vars HL_DOMAIN;
|
||||||
|
|
||||||
_ch_001-install_nvidia_drivers() {
|
_ch_001-make_dirs() {
|
||||||
sudo apt-get install -y nvidia-driver-515-server
|
|
||||||
echo "_ch_001-install_nvidia_drivers" >> run.checkpoints
|
|
||||||
_err "installed nvidia drivers; please reboot"
|
|
||||||
}
|
|
||||||
|
|
||||||
_ch_002-install_nvidia_containers() {
|
|
||||||
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
|
|
||||||
&& curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
|
|
||||||
&& curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | \
|
|
||||||
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
|
|
||||||
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
|
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install -y nvidia-docker2
|
|
||||||
sudo systemctl restart docker
|
|
||||||
}
|
|
||||||
|
|
||||||
_ch_003-make_dirs() {
|
|
||||||
mkdir -p ~/jellyfin /data/jellyfin;
|
mkdir -p ~/jellyfin /data/jellyfin;
|
||||||
}
|
}
|
||||||
|
|
||||||
_ch_004-copy_compose() {
|
_ch_002-copy_compose() {
|
||||||
cp $(_fill docker-compose.yml.templ) ~/jellyfin/docker-compose.yml;
|
cp $(_fill docker-compose.yml.templ) ~/jellyfin/docker-compose.yml;
|
||||||
}
|
}
|
||||||
|
|
||||||
_ch_005-update_caddy() {
|
_ch_003-update_caddy() {
|
||||||
cp $(_fill Caddyfile.templ) /etc/caddy/conf.d/jellyfin.Caddyfile;
|
cp $(_fill Caddyfile.templ) /etc/caddy/conf.d/jellyfin.Caddyfile;
|
||||||
chmod a+r /etc/caddy/conf.d/jellyfin.Caddyfile;
|
chmod a+r /etc/caddy/conf.d/jellyfin.Caddyfile;
|
||||||
sudo systemctl reload caddy.service;
|
sudo systemctl reload caddy.service;
|
||||||
}
|
}
|
||||||
|
|
||||||
_ch_006-run-service() {
|
_ch_004-run-service() {
|
||||||
cd ~/jellyfin;
|
cd ~/jellyfin;
|
||||||
docker-compose up -d;
|
docker-compose up -d;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue