Running in docker on TrueNAS SCALE #85
gingerbreadassassin
started this conversation in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
I came across this project because I want to get an idea of what performance I should expect when running jellyfin on my TrueNAS SCALE (Electric Eel with native docker / compose support).
Initially I started off with a bespoke image for this project itself, but was having issues with permissions on
/dev/dri
. I plan on using the LSIO Jellyfin image, so I figured why not just try that first,Well, I finally got it working with their docker mod for AMD GPUs, but there's something of a catch. You have to actually let the container start up with their original
ENTRYPOINT
, which installs a bunch of other libs, scripts, etc. and sets up permissions to get everything working. While not what I originally envisioned (just running a container of the jellybench image, whoseENTRYPOINT
is justjellybench
), ideally this container shouldn't be run all that often, so if it's a little janky, it's No Big Deal TM.So here's how I do it. All of this assumes you're at least somewhat familiar with docker, and whatever user you're running this as on your SCALE machine has access to docker.
First, the Dockerfile:
Save this somewhere on your nas as
Dockerfile
. From that same directory, do the following:Build the image:
docker build -t jellybench .
Make local data directory (saves time in subsequent runs; you won't have to re-download the video files):
mkdir -p data/{results,videos}
Start the container. Note that this will start jellyfin as well. We aren't providing ports or anything, so it won't be usable, but due to the way LSIO images work, we need to let the original entrypoint do its thing. Also note that I'm using one of their docker mods for jellyfin. Depending on your hardware, you may want to change this:
As previously mentioned, we have to let the original entrypoint set stuff up. We can use this to see when it's done:
docker logs jellybench --follow 2>/dev/null | grep "Update Plugins Completed"
When you see the matching line, hit CTRL+C to stop following the logs.
Then, you can run jellybench, and whatever options you prefer, via
docker exec -it jellybench jellybench
When you're done running your tests, stop the container:
docker kill jellybench
Beta Was this translation helpful? Give feedback.
All reactions