Files
jellyfin-docker-latest-rc/README.md
T
2026-07-19 21:50:58 -04:00

131 lines
3.6 KiB
Markdown

# Jellyfin Latest RC (Preview) Docker Image
This repository contains a `Dockerfile` and `docker-compose.yml` to automatically build and run the latest Release Candidate (Preview) version of **Jellyfin Server**, **Jellyfin Web**, and **Jellyfin FFmpeg** for Ubuntu Noble (24.04).
Instead of pinning specific `.deb` package versions, the build process dynamically queries the official Jellyfin APT repository and GitHub Releases API to retrieve and install the newest available RC packages on every build. T
Some settings are specific to Intel ARC support.
---
## 🛠️ Features
- **Always Up-to-Date RC**: Fetches the latest candidate binaries from `repo.jellyfin.org` and `jellyfin-ffmpeg` GitHub releases automatically.
- **Hardware Acceleration Ready**: Configured for NVIDIA and VA-API GPU Passthrough.
- **LinuxServer.io Base**: Uses `ghcr.io/linuxserver/baseimage-ubuntu:noble` for reliable init scripts, user mapping (`PUID`/`PGID`), and clean process handling.
---
## 🚀 Quick Start with Docker Compose
### 1. File Structure
Ensure your directory contains the following files:
```
.
├── Dockerfile
├── docker-compose.yml
└── README.md
```
### 2. `docker-compose.yml`
```yaml
services:
jellyfin-rc:
build:
context: .
dockerfile: Dockerfile
args:
BUILD_DATE: "${BUILD_DATE:-}"
VERSION: "latest-rc"
container_name: jellyfin-rc
network_mode: host
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
- NVIDIA_VISIBLE_DEVICES=all # Optional: for NVIDIA GPU
- NVIDIA_DRIVER_CAPABILITIES=compute,video,utility
volumes:
- ./config:/config
- /path/to/media/tvshows:/data/tvshows
- /path/to/media/movies:/data/movies
# Optional: Intel / AMD VA-API Hardware Transcoding
# devices:
# - /dev/dri:/dev/dri
restart: unless-stopped
```
### 3. Build & Run
To build the image and start the container:
```bash
docker compose up -d --build
```
---
## 🏗️ Building manually with Docker CLI
If you prefer building and running with standard Docker CLI commands:
### Build Image
To ensure Docker fetches the latest RC packages rather than using build-cache, use the `--no-cache` flag:
```bash
docker build --no-cache -t jellyfin-rc:latest .
```
### Run Container
```bash
docker run -d \
--name=jellyfin-rc \
--net=host \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Etc/UTC \
-v ./config:/config \
-v /path/to/media:/data \
--restart unless-stopped \
jellyfin-rc:latest
```
---
## 🔄 Updating to the Newest Release Candidate
Because the Dockerfile dynamically fetches the latest `.deb` packages during the build step, you can pull and build new RC updates anytime by running:
```bash
docker compose build --no-cache
docker compose up -d
```
---
## ⚙️ Environment Variables & Configuration
| Variable | Default | Description |
| :--- | :--- | :--- |
| `PUID` | `1000` | User ID for file permissions |
| `PGID` | `1000` | Group ID for file permissions |
| `TZ` | `Etc/UTC` | Container Timezone |
| `NVIDIA_VISIBLE_DEVICES` | `all` | Exposes GPUs for NVIDIA transcode |
| `NVIDIA_DRIVER_CAPABILITIES` | `compute,video,utility` | Enables NVENC/NVDEC capabilities |
---
## 🍿 Hardware Acceleration (VA-API / NVENC)
- **Intel / AMD (VA-API / QuickSync)**:
Uncomment the `devices:` mapping in `docker-compose.yml`:
```yaml
devices:
- /dev/dri:/dev/dri
```
- **NVIDIA GPU**:
Ensure the [NVIDIA Container Toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html) is installed on your host system and keep the `NVIDIA_*` environment variables enabled.