Jump to content

Does Anyone Know How To Setup Hardware Transcoding within a podman rootless container


Recommended Posts

AlakHul
Posted

Same as title, been trying to figure can't find much on the forums. below is my current compose.yml I just took it off the emby docker hub page. I can't see any of the decoders. I am on ubuntu server 24.04 LTS

version: "2.3"
services:
  emby:
    image: emby/embyserver
    container_name: embyserver
    runtime: nvidia # Expose NVIDIA GPUs
   # network_mode: host # Enable DLNA and Wake-on-Lan
    environment:
      - UID=1000 # The UID to run emby as (default: 2)
      - GID=100 # The GID to run emby as (default 2)
      - GIDLIST=100 # A comma-separated list of additional GIDs to run emby as (default: 2)
    volumes:
      - ./config:/config # Configuration directory
      - /mnt/md0/media/tv:/mnt/share1 # Media directory
      - /mnt/md0/media/movies:/mnt/share2 # Media directory
    ports:
      - 8096:8096 # HTTP port
      - 8920:8920 # HTTPS port
    devices:
      - /dev/dri:/dev/dri # VAAPI/NVDEC/NVENC render nodes
  #    - /dev/vchiq:/dev/vchiq # MMAL/OMX on Raspberry Pi
    restart: on-failure

AlakHul
Posted

No I didn't, ended up getting lazy and just running it with docker

  • Thanks 1
  • 1 month later...
Posted

I'm a bit late to the party, but I did figure out rootless HW transcoding. I am using non-official image because I was under the impression that official image does not support rootless. Am I wrong?. Anyway, I'm running Emby server as Podman Quadlet:

[Unit]
Description=Emby

[Container]
ContainerName=emby
Image=ghcr.io/home-operations/emby:rolling@sha256:00043bf0bd27338c7be491345ef03f24d2738aa10c89dab23436be0977f61674

Environment=TZ=Europe/Amsterdam

HealthCmd=curl -sf http://127.0.0.1:8096/
HealthStartPeriod=1m
HealthStartupInterval=5s

Network=arr.network
Network=proxy.network
HostName=emby

User=%U:%G
UserNS=keep-id

Volume=%h/containers/data/emby/config:/config
Volume=%h/containers/cache/emby/cache:/cache
Volume=%h/containers/cache/emby/transcode:/transcode
Volume=/srv/video:/video:ro

AddDevice=/dev/dri:/dev/dri
GroupAdd=keep-groups

[Service]
Restart=always
TimeoutStartSec=300

[Install]
WantedBy=default.target

 

Posted

I think the problem with the official image was related to the GIDLIST. Group ids inside the container are different (mapped).

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...