Hi! Question in the title.
I get that its super easy to setup. But its really worthwhile to have something that:
- runs everything as root (not many well built images with proper useranagement it seems)
- you cannot really know which stuff is in the images: you must trust who built it
- lots of mess in the system (mounts, fake networks, rules…)
I always host on bare metal when I can, but sometimes (immich, I look at you!) Seems almost impossible.
I get docker in a work environment, but on self hosted? Is it really worth while? I would like to hear your opinions fellow hosters.
It’s great that you do install things on bare metal, I did that in the beginning until I discovered docker and I will never go back. Docker/ podman compose is just so good
Dive is a great tool for inspecting docker images. I wish I found it sooner.
Thank you for posting this, hadn’t heard of it before.
Out of curiosity, what reverse proxy docker do you use that can run rootless in podman? My main issue, and feel free to correct me if I am wrong, is that most of them require root. And then its not possible to easily connect those containers into the same network as your rootless containers so then your other containers have to be root anyways. I don’t really want my other containers to be host accessible, I want them to be only accessible from within the podman network that the reverse proxy has access to.
And then there’s issues where you have to enable lingering processes for normal users and also let it access ports < 1024, makes using docker-compose a pain, etc. I haven’t really found a good solution for rootless, but I really want to eventually move that way.
https://www.reddit.com/r/podman/comments/16aerhq/rootless_reverse_proxy/
Tbo, I’ve got a pi that runs only the reverse proxy and it works and I don’t touch it until it breaks. It’s still docker. nginx proxy manager
Need to study podman probably, stuff running as root is my main dislike.
Probably if in only used docker images created by me I would be less concerned of losing track of what I am really deploying, but this would deflect the main advantage of easy deploy?
Portability is a point I didn’t considered too… But rebuilding a bare metal server properly compatimentized took me a few hours only, so is that really so important?
You can run docker rootless https://docs.docker.com/engine/security/rootless/ but you have to switch to podman some day anyway, althiugh that might be in a far away future.
If you are concerned about root you may be concerned about the docker port dilemma as well, podman solves that as well
Can you elaborate on this?
Unfortunately I do not have a source but to me it was like podman would replace docker as the container technology since red hat focuses on podman and not docker anymore and kubernetes doesn’t support docker anymore. Transitioning obviously takes ages because of companies being very slow.
I hope you’re wrong… With RH’s recent choices in regard of FOSS… I really hope podman won’t replace docker. Specially in the self-hosted/FOSS community !
What’s wrong with podman?
It’s still many many years away. Just think about there being still fortran or assembly code
Probably nothing, I have never tried it… but docker compose feels so comfortable right now and relearn everything… uuhhg !
I had to add
:Z
to the paths in the docker compose files for selinux.Depends on how much you value your time.
Compare a few hours on bare metal to a few minutes with containers. Then consider that you also spend extra time on bare metal cleaning up messes. Containers don’t make a mess in the first place.
It doesn’t really matter if there are truly open-source and open ecosystems of containerization technologies because in the end people/companies will pick the proprietary / closed option just because “it’s easier to use” or some other specific thing that will be good on the short term and very bad on the long term. This happened with CentOS vs Debian is currently unfolding with Docker vs LXC/RKT/Podman and will happen with Ubuntu vs Debian for all those who moved from CentOS to Ubuntu.
It cuts both ways. Less commercial interest means only hobby level development (which can be high quality, but is typically slow and unpolished for users).
So you can spend your energy on making up the gap between the ease of use of the commercially supported software and the pure volunteer projects or you can have free time for things you’re more interested in and jump ship when they squeeze too hard for cash.
Podman is developed by RedHat: https://github.com/containers/podman/graphs/contributors
Podman supports Docker images and makes things easier for users in doing so.
What’s the issue with podman?
In my personal experience, it’s just not as fully featured.
What is it missing that all the benefits wouldn’t make up?
Lots of docker guides + documentation just don’t work, specifically with podman-compose. The networking options are not fully featured, I ended up having to rig up a bunch of kubernetes services just to be able to use my VPN as a network bridge for my media server stack. I got podman working eventually because I think it’s neat, but it definitely would have been twice as easy to just use docker.
Yes, podman documentation is still sparse at the moment
I mean, “it’s easier to use” is a pretty good quality to have. People tend to pick the most user-friendly and time-saving solution, should we really be surprised? On the contrary, I think FOSS should strive to be easier to use.
And they don’t consider anything else and they they get themselves into CentOS situations. Or large monopolies like what Microsoft has over Office.
Yes so do I.
But so what? The kind of people who do this were not going to be grand contributors to FOSS anyway. They’re just consumers, not makers, and they consume the products that make the most sense to them.
Also, let’s not lay everything solely on consumer stupidity. Microsoft spends a crapton of money lobbying governments, administrations, universities, schools and so on around the world to maintain their monopoly. Corruption at all levels of society is a big factor.