adding compose and guide
This commit is contained in:
@@ -1,2 +1,432 @@
|
||||
# jellyfin-docker-latest-rc
|
||||
|
||||
Gemini
|
||||
Nouvelle discussion
|
||||
Rechercher dans les discussions
|
||||
Images
|
||||
Nouveau
|
||||
Vidéos
|
||||
Bibliothèque
|
||||
Nouveau notebook
|
||||
Dockerfile for Latest Jellyfin RC
|
||||
Meshtastic Heltec V3 Installation Guide
|
||||
Gitea Docker with Nginx Proxy
|
||||
PipeWire Virtual Surround Sound Setup
|
||||
Simulate 5.1 Audio on Headset
|
||||
DIY Smart Speaker: Music Assistant + Snapcast
|
||||
Raspberry Pi Vinyl Icecast Streamer
|
||||
Gitea Docker with Nginx Proxy
|
||||
Gitea Docker with Nginx Proxy
|
||||
Terminal Paste Mode Glitch Explained
|
||||
`ls` File Sizes in Megabytes
|
||||
Désactiver Rétroéclairage Clavier ASUS Linux
|
||||
Blur Alacritty on CachyOS Plasma
|
||||
Fractal Terra vs. Steam Machine Size
|
||||
Prise de décision, poids, parole : habitudes de vie
|
||||
Chibi Maruko-chan Anime Identification
|
||||
Ghostty Blur on CachyOS
|
||||
Checking KDE Plasma Version in CachyOS
|
||||
Customize CachyOS Grub Animation
|
||||
Restart Docker Service on CachyOS
|
||||
Identification des fleurs rouges sur photo
|
||||
Identification de la Cinéraire Maritime
|
||||
850W PSU for 8070 XT, 5800X3D
|
||||
Case Model Identification
|
||||
Monitoring Double-Pole Breakers With Refoss EM16P
|
||||
BIOS Update TPM Error Resolution
|
||||
Windows 11 Installation Troubleshooting Guide
|
||||
i want to enter the bios of a asus prime x470-pro but i dont have any hdmi output
|
||||
Heure en Corée du Sud
|
||||
Installation Refoss EM16 Pro Panneau Électrique
|
||||
Connexion Internet pour jeux PS5
|
||||
Changer l'heure sur une montre Pebble
|
||||
Gallons to Liters Conversion
|
||||
5800X3D Cooling With Hyper 212
|
||||
Create yt-dlp Command Alias
|
||||
Usage d'une prise 80 ampères
|
||||
Ollama vs. llama.cpp for RTX 4000
|
||||
RTX 3060 Graphics Card Information
|
||||
Restrictions alimentaires en Corée du Sud
|
||||
Reprise des voyages canadiens aux États-Unis
|
||||
Dockerfile for Jellyfin RC Build
|
||||
Jellyfin FFmpeg Hardware Acceleration Error
|
||||
Redémarrer son téléphone Pixel
|
||||
Hypothèque Ouverte vs. Fermée : Flexibilité et Coût
|
||||
Build Jellyfin Dockerfile Latest Preview
|
||||
WireGuard Client Docker pour Accès Distant
|
||||
Comparatif Taux Hypothécaires Canadiens
|
||||
Reolink TrackMix PoE onvif connect frigate config
|
||||
StarCraft 2, Activision Blizzard, Microsoft
|
||||
Conversion d'image en nuances de gris
|
||||
Image Floue d'un Corgi
|
||||
Mijoteuse : Réchaud ou Finition au Four
|
||||
Identification de l'anime Ninja Kamui
|
||||
Bazzite OpenRGB Autostart Service
|
||||
Taux de chômage au Canada
|
||||
Taux de chômage au Royaume-Uni
|
||||
Taux de chômage au Royaume-Uni
|
||||
Taux de chômage au Canada
|
||||
Windows 7 Browsers After Chrome Support
|
||||
Run Flatpak Apps Via Command Line
|
||||
Identification et entretien du Peperomia
|
||||
Identification et entretien du Pépéromia
|
||||
Idées de cartes pour la fête des pères
|
||||
Recette d'artichauts rôtis au citron
|
||||
Carte d'anniversaire 80 ans maman
|
||||
Algae Blooms and Chemical Treatments
|
||||
Calculateur d'abordabilité hypothécaire canadien
|
||||
Morsures de fourmis : soulager la douleur
|
||||
RAM Placement for Optimal Performance
|
||||
Ollama Connection Issues in Home Assistant
|
||||
Steam Deck Won't Wake From Sleep
|
||||
Personnages Manga : Jujutsu Kaisen et Chainsaw Man
|
||||
Demande d'identification de personnages
|
||||
OpenCode Configuration File Locations
|
||||
Conversation avec Gemini
|
||||
here is my dockerfile for building jellyfin latest RC, i want to download always the latests without having to specify the version.
|
||||
|
||||
here is the jellfyin ubuntu deb repo :
|
||||
|
||||
https://repo.jellyfin.org/?path=/server/ubuntu/latest-preview/amd64
|
||||
|
||||
To automatically fetch the latest release candidate (latest-preview) for Ubuntu 24.04 (ubu2404/noble) along with the newest compatible jellyfin-ffmpeg build during the Docker build process, you can parse the index page and GitHub API dynamically.
|
||||
|
||||
Here is the updated Dockerfile using curl, grep, and sed to scrape the URLs on the fly:
|
||||
|
||||
Dockerfile
|
||||
syntax=docker/dockerfile:1
|
||||
|
||||
FROM ghcr.io/linuxserver/baseimage-ubuntu:noble
|
||||
|
||||
# set version label
|
||||
ARG BUILD_DATE
|
||||
ARG VERSION
|
||||
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
||||
LABEL maintainer="thelamer"
|
||||
|
||||
# environment settings
|
||||
ARG DEBIAN_FRONTEND="noninteractive"
|
||||
ENV NVIDIA_DRIVER_CAPABILITIES="compute,video,utility"
|
||||
ENV MALLOC_TRIM_THRESHOLD_=131072
|
||||
ENV ATTACHED_DEVICES_PERMS="/dev/dri /dev/dvb /dev/vchiq /dev/vc-mem /dev/video1? -type c"
|
||||
|
||||
RUN \
|
||||
echo "**** install dependencies *****" && \
|
||||
apt-get update && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
at \
|
||||
libjemalloc2 \
|
||||
mesa-va-drivers \
|
||||
xmlstarlet \
|
||||
curl && \
|
||||
echo "**** dynamically resolve latest deb URLs *****" && \
|
||||
BASE_REPO_URL="https://repo.jellyfin.org/files/server/ubuntu/latest-preview/amd64" && \
|
||||
# Fetch latest server deb filename for ubu2404
|
||||
SERVER_DEB=$(curl -sL "${BASE_REPO_URL}/" | grep -oP 'jellyfin-server_[^"]+ubu2404_amd64\.deb' | head -n 1) && \
|
||||
# Fetch latest web UI deb filename
|
||||
WEB_DEB=$(curl -sL "${BASE_REPO_URL}/" | grep -oP 'jellyfin-web_[^"]+all\.deb' | head -n 1) && \
|
||||
# Fetch latest jellyfin-ffmpeg release download URL for noble amd64 via GitHub API
|
||||
FFMPEG_URL=$(curl -sL "https://api.github.com/repos/jellyfin/jellyfin-ffmpeg/releases/latest" | grep -oP 'https://[^\"]+jellyfin-ffmpeg[^\"]+noble_amd64\.deb' | head -n 1) && \
|
||||
echo "**** download custom jellyfin debs *****" && \
|
||||
curl -o /tmp/jellyfin-server.deb -L "${BASE_REPO_URL}/${SERVER_DEB}" && \
|
||||
curl -o /tmp/jellyfin-web.deb -L "${BASE_REPO_URL}/${WEB_DEB}" && \
|
||||
curl -o /tmp/jellyfin-ffmpeg.deb -L "${FFMPEG_URL}" && \
|
||||
echo "**** install custom jellyfin debs *****" && \
|
||||
# Install them all at once to resolve dependencies cleanly
|
||||
apt-get install -y \
|
||||
/tmp/jellyfin-ffmpeg.deb \
|
||||
/tmp/jellyfin-server.deb \
|
||||
/tmp/jellyfin-web.deb && \
|
||||
echo "**** cleanup ****" && \
|
||||
rm -rf \
|
||||
/tmp/* \
|
||||
/var/lib/apt/lists/* \
|
||||
/var/tmp/*
|
||||
|
||||
# add local files
|
||||
COPY root/ /
|
||||
Key Changes Made
|
||||
Dynamic HTML Scraping for Jellyfin Server/Web:
|
||||
It queries [https://repo.jellyfin.org/files/server/ubuntu/latest-preview/amd64/](https://repo.jellyfin.org/files/server/ubuntu/latest-preview/amd64/) and extracts the newest .deb files for ubu2404 (Server) and all (Web UI).
|
||||
|
||||
Dynamic GitHub API Query for FFmpeg:
|
||||
It fetches the download link for the latest jellyfin-ffmpeg*_noble_amd64.deb package straight from the jellyfin/jellyfin-ffmpeg GitHub releases API endpoint.
|
||||
|
||||
Cache Busting Note:
|
||||
Docker caches RUN commands. If you re-build in the future, pass --no-cache to docker build to force Docker to re-run the curl lookup commands for newer packages.
|
||||
|
||||
make me a readme.md file with how to build that docker image and add a docker compose
|
||||
|
||||
.
|
||||
├── 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 is installed on your host system and keep the NVIDIA_* environment variables enabled.
|
||||
"""
|
||||
|
||||
with open("README.md", "w") as f:
|
||||
f.write(readme_content)
|
||||
|
||||
print("FILE_CREATED: README.md")
|
||||
|
||||
|
||||
```text?code_stdout&code_event_index=1
|
||||
FILE_CREATED: README.md
|
||||
|
||||
Your README.md file has been generated.
|
||||
Icône MD
|
||||
README
|
||||
MD
|
||||
Ouvert
|
||||
|
||||
File Previews
|
||||
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
|
||||
README.md Summary
|
||||
The generated README.md includes:
|
||||
|
||||
Overview: Explanation of how dynamic package resolution works during the build.
|
||||
|
||||
docker-compose.yml Configuration: Copy-paste ready setup with optional GPU transcode mounts.
|
||||
|
||||
Build & Run Instructions: Commands for building with Docker Compose and standard Docker CLI (--no-cache recommendations so Docker checks for fresh RC versions).
|
||||
|
||||
Updating Workflow: Easy 2-step command to rebuild and restart when a new RC drops.
|
||||
|
||||
Hardware Acceleration Guidance: Setup steps for Intel/AMD (VA-API) and NVIDIA GPUs.
|
||||
|
||||
|
||||
|
||||
|
||||
Gemini est une IA et peut se tromper.
|
||||
|
||||
# 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.
|
||||
|
||||
---
|
||||
|
||||
## 🛠️ 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.
|
||||
README.md
|
||||
Affichage de README.md.
|
||||
@@ -0,0 +1,24 @@
|
||||
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
|
||||
Reference in New Issue
Block a user