this post was submitted on 28 Apr 2025
270 points (95.6% liked)
Selfhosted
60048 readers
779 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:
-
Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.
-
No spam.
-
Posts here are to be centered around self-hosting. Please ensure it is clear in your post how it relates to self-hosting.
-
Don't duplicate the full text of your blog or git here. Just post the link for folks to click.
-
Submission headline should match the article title.
-
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!
founded 3 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
So instead of having problems getting the fucking program to run, you have problems getting docker to properly build/run when you need it to.
At work, I have one program that fails to build an image because of a 3rd party package who forgot to update their pgp signature; one that builds and runs, but for some reason gives a 404 error when I try to access it on localhost; one that whoever the fuck made it literally never ran it, because the
Dockerfilewas missing some 7 packages in the apt install line.Building from source is always going to come with complications. That's why most people don't do it. A docker compose file that 'just' downloads the stable release from a repo and starts running is dramatically more simple than cross-referencing all your services to make sure there are no dependency conflicts.
There's an added layer of complexity under the hood to simplify the common use case.
Yeah, it's another layer, and so there definitely is an https://xkcd.com/927/ aspect to it... but (at least in theory) only having problems getting Docker (1 program) to run is better than having problems getting N problems to run, right?
(I'm pretty ambivalent about Docker myself, BTW.)
There are two ends here, as a user and as a developer. As a user Docker images just work, so you solve almost every problem you're having which would be your users having them and giving up on using your software.
Then as a developer docker can get complicated, because you need to build a "system" from scratch to run your program. If you're using an unstable 3d party package or missing packages it means that those problems would be happening in the deploy servers instead of your local machines, and each server would have its own set of problems due to which packages they didn't have or had the wrong version, and in fixing that for your service you might be breaking other service already running there.