Make your own dockerfile, and the first line will be FROM . Then make your changes.
Selfhosted
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:
-
Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.
-
No spam posting.
-
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.
-
Don't duplicate the full text of your blog or github here. Just post the link for folks to click.
-
Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).
-
No trolling.
Resources:
- selfh.st Newsletter and index of selfhosted software and apps
- awesome-selfhosted software
- awesome-sysadmin resources
- Self-Hosted Podcast from Jupiter Broadcasting
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
awesome, thanks!
i will give this a go!
edit this worked perfectly, thank you!
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.
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.
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.
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.
for the expanded discussion, you can check here:
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
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.
this would be useful but i was never able to figure out how. :/
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.
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?
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.
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.
right, so what confused me is that the basic setup works for owncast, but the same setup not for peertube.