Hello, I’m trying to automatically update ffmpeg5 to ffmpeg6 in the official jellyfin docker container, best without modifying the official Dockerfile.

Currently I use the command sudo docker exec -u 0 -it jellyfin bash -c 'apt update && apt install jellyfin-ffmpeg6 -y' to manually update ffmpeg once I restart jellyfin container.

My docker-compose.yml file looks like this:

version: '3'
services:
  jellyfin:
    container_name: jellyfin
    image: jellyfin/jellyfin:latest
    user: 133:100
    restart: always
    ports:
      - 8096:8096
    environment:
      - JELLYFIN_CACHE_DIR=/var/cache/jellyfin
      - JELLYFIN_CONFIG_DIR=/etc/jellyfin
      - JELLYFIN_DATA_DIR=/var/lib/jellyfin
      - JELLYFIN_LOG_DIR=/var/log/jellyfin
      - TZ=Europe/Berlin
    volumes:
      - /etc/jellyfin:/etc/jellyfin
      - /var/cache/jellyfin:/var/cache/jellyfin
      - /var/lib/jellyfin:/var/lib/jellyfin
      - /var/log/jellyfin:/var/log/jellyfin
      - /mnt/storage:/mnt/storage:ro

I’ve also played around with modifying the entrypoint in the docker-compose.yml file, but that doesnt seem to work as the container is run as uid 133 (user jellyfin on host) which was the old user id of my non-docker jellyfin instance. This uid doesnt have the necessary permissions to run apt update/install commands in the container. And I don’t want to run the container as root… I appreciate any help, maybe someone has clue.

  • @Jimbob0i0
    link
    English
    21 year ago

    Use your own Dockerfile with their image as the base, and the updated ffmpeg as the single new layer.