nestriness / nestri

[Experimental] Open-source GeForce NOW alternative with Stadia's social features
https://nestri.io
GNU Affero General Public License v3.0
1.41k stars 19 forks source link

🐳 [Compatibility] Exploring Podman Support as an alternative to Docker #51

Open mitcoes opened 1 month ago

mitcoes commented 1 month ago

Podman is the FOSS alternative to Docker, that has features only for registered (and paid) users. Please add a section for it, or just mention (and test it first) docker files are compatible with podman (99% are, but sometimes there are issues)

Thanks

wanjohiryan commented 1 month ago

Hey @mitcoes

Thank you for the suggestion! Integrating Podman as a FOSS alternative to Docker is indeed an interesting idea. At the moment, my schedule is quite packed, making it challenging to immediately dive into this. Would you be willing to assist in evaluating Podman compatibility with our Docker files?

rasmus91 commented 1 month ago

Hello!

Read about this project on Gaming on Linux, and it aounds like something i would be interested in selfhosting; i have an old GPU, so i dont know if it's supported, though it is supported with the most recent NVIDIA drivers.

BUT I would be happy to spin this up in podman and check if it works. Though i am currently in the process of moving the family, so it might be a bit... Intermittent until that is done.

Since podman runs as a user process and isnt executed on a daemon with root access, it almost always comes down to permissions.

mitcoes commented 1 month ago

I am glad you liked the suggestion, but my last Nvidia GPU was a 750 Ti, and now I use an AMD 6950 XT, that is not compatible with your excellent project. I hope some other people would love to test podman, with podman-desktop, podman-desktop-companion, podman-compose and podman-docker that usually works fine (99%) executing alias docker=podman plus alias docker-compose=podman-compose after installing those packages.

wanjohiryan commented 1 month ago

Hi @rasmus91 👋🏽

If the latest Nvidia drivers are supported by your GPU, then that is enough to run Netris. So, please tell us when you are free and available, so that we can test this with Podman. Tbh, i have no knowledge on how Podman works, just that it is every homelab's maintainer favorite tool.

Hi @mitcoes this is actually a good idea, hopefully @rasmus91 can help us actually.

Thijzer commented 1 month ago

I might be able to help a hand as well here. Not having a lot of time but I do have the podman/docker knowledge and a more modern GPU rtx3060 with AMD Ryzen CPU. Podman is interesting as you don't need a daemon or root access to run the container. It's also possible to run systemd on it what is notoriously not possible on docker and it uses the same OCI container file language. A drop in replacement is possible Here. The only more difficult thing I found is volume mapping, and container files with more than 1 user. Has everything to do with the UID mapping rights that are required.

So if you want some help I'll try if I can find the time.

wanjohiryan commented 1 month ago

Hey @mitcoes You should definitely try and see if it works.

Do tell how it goes, now that v0.2 is out.

ehfd commented 4 weeks ago

Rootless Docker and Podman perhaps as well.

rasmus91 commented 3 weeks ago

Hi @rasmus91 👋🏽

If the latest Nvidia drivers are supported by your GPU, then that is enough to run Netris. So, please tell us when you are free and available, so that we can test this with Podman. Tbh, i have no knowledge on how Podman works, just that it is every homelab's maintainer favorite tool.

Hi @mitcoes this is actually a good idea, hopefully @rasmus91 can help us actually.

Hey man

I gave this a good hour or so the other night, BUT my Ubuntu version does not support a new enough podman version to pass through the NVIDIA devices. I tried to get around it, but didn't get it done, and right now I'm too tied up in moving to do anything more atm.

When we're setup in the new place I'll get back to this if no one else has, but that may take 3-6 weeks (also have a vacation coming up)

DatCaptainHorse commented 2 weeks ago

I've been using podman on my main machine, I've had to run podman with sudo for Nestri to be able to access the devices passed to it. There might be a way around that, but I'm uncertain how.

Update: add --cap-add=SYS_ADMIN, no sudo needed.