this post was submitted on 03 Sep 2025
37 points (95.1% liked)

Selfhosted

51234 readers
404 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

Solved!

more expanded details can be seen here:

https://github.com/TheoLeCalvar/peertube-plugin-hardware-transcode-vaapi/issues/6#issuecomment-3246562059

Thank you, all!


hey all!

i need some guidance. can you help point me in the right direction?

there a docker image that is basically fine, except i just want to add a group to it so that group will exist in the container.

how do i do this? is there a way to do this that will just pull the original image as is, so it will update when the original image updates, and then just add the group i need?

thanks in advance!

top 17 comments
sorted by: hot top controversial new old
[–] traches@sh.itjust.works 39 points 3 days ago (1 children)

Make your own dockerfile, and the first line will be FROM . Then make your changes.

[–] nico198X@piefed.europe.pub 11 points 3 days ago* (last edited 3 days ago)

awesome, thanks!

i will give this a go!

edit this worked perfectly, thank you!

[–] Voroxpete@sh.itjust.works 13 points 3 days ago (1 children)

The answers about using Dockerfiles are absolutely correct, but if you're looking for a quick and simple solution that will work locally, you can always just use the "commit" docker command. This basically saves the current state of a container as a new image. You can then run new containers from that image as needed.

See https://stackoverflow.com/questions/44480740/how-to-save-a-docker-container-state

This is totally fine for testing, but there are almost always better solutions.

[–] tofu@lemmy.nocturnal.garden 9 points 3 days ago (1 children)

Either create a Dockerfile that is based on the original one as the other comment suggests, or find the git repo of the original Image, fork it and add your changes to the Dockerfile.

If you want to include changes from the original one you'll need to set up some kind of regular job that checks for a new image or changes in the git repo and then applies your changes.

If you need it to be available at Dockerhub, ghcr or the like, you need some additional setup, usually a CI that pushes it.

[–] nico198X@piefed.europe.pub 5 points 3 days ago

thanks!

these aren't changes i can merge up, and i want to ensure it's always, ultimately, just pulling the original image with any new changes they make, and then making the changes i need, so i think the other solution is probably the most applicable for this problem.

[–] frongt@lemmy.zip 5 points 3 days ago (1 children)

What exactly are you doing? You may not need to do this. I know you can use the group number instead of the name if it doesn't exist in some cases.

[–] nico198X@piefed.europe.pub 1 points 3 days ago (1 children)
[–] frongt@lemmy.zip 4 points 3 days ago (2 children)

Right, you just need to make sure that the user inside the container has permission to the device. They cover this in the front page of the repo: https://github.com/TheoLeCalvar/peertube-plugin-hardware-transcode-vaapi?tab=readme-ov-file#running-the-docker-image

[–] sugar_in_your_tea@sh.itjust.works 3 points 3 days ago (1 children)

And you can map internal users to external users. This isn't as common with Docker since things tend to run as root, so maybe look up Podman docs where it's more common since it's whole schtick is running with minimal permissions.

[–] nico198X@piefed.europe.pub 1 points 3 days ago (1 children)

this would be useful but i was never able to figure out how. :/

[–] sugar_in_your_tea@sh.itjust.works 2 points 3 days ago (1 children)

Basically this:

docker run -it --user $UID:$GID

Pass it a user and group that have the appropriate access, and no more. You can also set this in Docker compose or whatever other abstraction you're using.

[–] nico198X@piefed.europe.pub 1 points 3 days ago (1 children)

so, in this case, the internal user is peertube with UID 999.

would i then use that UID, and the GID of the passed render device?

[–] sugar_in_your_tea@sh.itjust.works 3 points 3 days ago (1 children)

Passing that in basically overrides the [USER field in the Dockerfile](docker run -it --user $UID:$GID). Make sure that user/group combo has access to the render device.

[–] nico198X@piefed.europe.pub 3 points 3 days ago* (last edited 3 days ago) (1 children)

lol i can't believe this just worked. XD

falls over i've spent MONTHS on this. XD i am LITERALLY completely embarrassed now. XD

i just didn't think i had that level of control. i kept reading that even if the IDs match it's not REALLY the same as the host permissions, but this worked just fine. a much simpler solution.

well, thank you for that! still so much to learn.

No prob! Glad you got it to work, permissions can be a huge pain.

[–] nico198X@piefed.europe.pub 1 points 3 days ago

right, so what confused me is that the basic setup works for owncast, but the same setup not for peertube.