From 5231a21712829825719d2e502adc15650c7bf0ae Mon Sep 17 00:00:00 2001 From: menekis <_a+B*9y[%Q8)> Date: Sun, 19 Jul 2026 21:44:01 -0400 Subject: [PATCH] adding compose and guide --- README.md | 432 ++++++++++++++++++++++++++++++++++++++++++++- docker-compose.yml | 24 +++ 2 files changed, 455 insertions(+), 1 deletion(-) create mode 100644 docker-compose.yml diff --git a/README.md b/README.md index c37bb3c..cbb3a96 100644 --- a/README.md +++ b/README.md @@ -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. \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..2b3376e --- /dev/null +++ b/docker-compose.yml @@ -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 \ No newline at end of file