this post was submitted on 05 Jan 2026
129 points (97.8% liked)
Selfhosted
60210 readers
1041 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.
-
No spam.
-
Posts are to be related to self-hosting.
-
Don't duplicate the full text of your blog or readme if you're providing a link.
-
Submission headline should match the article title.
-
No trolling.
-
Promotion posts require active participation, with an account that is at least 30 days old. F/LOSS without a paywall has exceptions, with requirements. See the rules link for details.
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
This is like the opposite of what you want to do for complex software - don't add more abstraction, or you won't know what to do when stuff goes wrong!
Not sure if I get your point. Abstraction is a concept used by IT people to deal with complexity. You'll use Docker containers in order not to have 200 very specific problems and learn about the intricate details of all of them. Or use a turnkey solution because a working day has a finite amount of hours and you can just not care and have somebody else set the XY value of Postgres to 128 because that's somehow needed for software M on python x.xx... Of course you're then not going to learn about these things. It is not "bad", though, in itself to abstract these issues away from you. Same for the other things I mentioned, networking, virtualization. Abstraction there allows to swap out complex things, do things once and in a clean way because it's easy to miss things without abstraction and you always need to pay attention to a bazillion of specifics. Also helps with backups, deal with issues because things should break within confined layers, punch above one's weight, security, do something once and roll it out several times...
I think what you want to avoid is poorly designed or written software. Or poorly done setups. Or not learn about important things. Abstraction is generally something you want, especially with complex things.