Hi there! I have an old pc that I use as a server (I use Ubuntu Server) and I would like to add a NVIDIA 1050 to it (for jellyfin and guacamole).
In the past I tried to do it and somehow I corrupted the system when installing the video drivers, I have always had complications when installing NVIDIA drivers on Linux.
Could any of you help me know what is the right way to install the video drivers on a headless system and use it correctly with docker compose?
Thanks in advance 😄
not exactly what you want. but check out gaming on whales Wolf docs. it’s configured for gpu accelerated X11 apps on docker. if I recall correctly one of the documents explained settings up nvidia drivers on docker completely.
Wow it’s the first time that I see someone suggesting my project out in the wild, thanks! Here’s the Wolf quickstart guide
What went wrong last time you tried installing the drivers?
Ubuntu has Nvidia drivers in the official repos: https://www.cyberciti.biz/faq/ubuntu-linux-install-nvidia-driver-latest-proprietary-driver/
Nvidia also has a docker image for GPUs: https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/1.14.2/install-guide.html
Thanks for the help! I’m trying to install the driver from the official repo but I don’t know what version shoud I use for a headless docker setup with a 1050.
I think that’s what went wrong last time, I tried to install the driver from the NVIDIA documentation thinking that “I’ll just work” just like in windows 😓
Edit: I’ve solved it, now it works perfectly, Thanks again
Once you do get the drivers installed properly as per your OS (speaking of, which distro are you using? Edit: nvm I see you are on Ubuntu), here are the steps to give docker access to it: https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html
Thank you! Last time I used the official desktop drivers because most guides recommended them. When I install the NVIDIA Container Toolkit, I can include the GPU in the runtime of the container and it should work, right?
I used the desktop drivers as well (on arch from the extra repo) for my headless arch server.
Regarding nvidia container toolkit once it was installed I added this to my Jellyfin docker compose:
deploy: resources: reservations: devices: - driver: nvidia capabilities: [gpu]
Then to confirm, I did
docker exec -it jellyfin nvidia-smi
Which responded with my GPU. Note that (for me) the “processes” part of nvidia-smi comes up blank, even when Jellyfin is using it. I can tell it is working though from jellyfin logs and when it is not using it, instead of being blank it says “no processes”Edit for formatting and to add that I believe I also had to add an environment variable to jellyfin (I am using lsio’s version)
- NVIDIA_DRIVER_CAPABILITIES=all - NVIDIA_VISIBLE_DEVICES=all
I recently did this and found those instructions to be beyond useless. The repository URIs were all old and dead. Not sure if they updated this doc since then, but they combined all the deb-based distros into one repo and and all the rpm-based distros into another repo.
Yeah thankfully I use Arch Linux. Their wiki guide was much better.
A assume you already have the Nvidia card? If you are buying one go for amd
Not docker but you could do k3s and use the Nvidia GPU operator to manage installing video drivers for you on your single node cluster.
Do you have a link to a tutorial on this? I’ve been thinking about adding my amd64 server with an nVidia GPU to my Raspberry Pi K3s cluster.
No! Maybe I should work on this because it was fairly simple for me to do after some research.
That would be pretty dope. If you end up writing it up don’t forget about me 😁
I didn’t know about it, thanks! I’ll give it a try 😄
It actually was pretty straightforward. Saying this from experience as I used a tensortt container image with a 1060 for image clarification