I love self-hosting a bunch of apps I use, so I don’t have to rely on anyone but my ISP for my digital life. Jellyfin, Immich, forgejo, memos and more.
But I know this isn’t for everyone. I just recently spent about 3 hours doing routine maintenance and fixing an issue (I caused) and I know not everyone is into doing that kind of thing.
I also wonder what it would take to get more people into this self-hosting thing. I.e., to get them off of subscription streaming services, Google, etc…, so they can own their own data, stop feeding the machine and for the general betterment of humanity. What would the world be like if half of all adults self-hosted their own services? Or even 25%?
So, for discussion, is increasing the number of self hosters a good idea? How can we make help that process along?
Edit: Fixed typos
Most people shouldn’t self host. It’s a hobby for people who want to do it, and there are benefits, but spending 3 hours on a weekend fixing stuff is not how most people wish to spend their time. Furthermore, it’s not a good use of most people’s time. We split labor up into specialties, forcing people to do work outside their specialty causes pointless inefficiency. I agree with what other commenters have said in that a better approach would be to have more small businesses hosting federated together, and anyone not inclined to self host should just purchase service through one of those many small providers instead.
I don’t think self hosting is average person territory at all.
I noticed 2 services out of dozens weren’t working last week and restarted their docker containers when I got home. Working again! Easy.
Nope. They only work on local LAN. Turns out IPv6 wasn’t working so I had a heck of a time tracking that down.
Home assistant kept giving me errors about my reverse proxy not being trusted, but all the settings were correct. Tried adding IPv6 addresses too, but never got that working. The only thing that worked was change the network interface from Ethernet to wireless.
There are a LOT of gremlins in selfhosting. It’s a fun hobby and rewarding, but definitely not for everyone.
Turns out IPv6 wasn’t working so I had a heck of a time tracking that down.
Just disable IPv6 like most people and move on /s (kinda)
Nice.
Totally make sense. But, can you imagine a way for a company / non-profit to make it easier for people not able / willing to learn to fix things themselves?
My thought is it could happen, if structured correctly to keep the public good as its aim.
Hmmmm. We’ve had single click LAMP installs way back in the early 00’s. Heck, web servers were a single check box in OSX. It’s just gotten really complicated since then.
Data centers work great because tech and staff work together in proximity to keep things smooth. To decentralized a data center …
I’d start with a VPN; without which, you’d have too many unknowns. I’d have local user space (probably a VM or docker environment) linked to a remote auto-magically configured proxy server and network infrastructure. (A lot of people do this anyway with wire guard or the like) Complete automation is the key here.
Users would install apps from docker (preconfigured) and the environment automatically establishes the VPN and sends port data and settings to the proxy service. DNS/fail2ban/security is set up, and goes live in a minute or two. Of course that wouldn’t work for things like Pihole or adguard.
User is responsible for disk/CPU, service provider for networking, well except ISP stuff. But anything average-user-easy will have to be mostly prepackaged for ease of use.
Oh, and if there are things that go wrong, clear explanations are essential. Things like “could not bind 0.0.0.0:80” could be “Hey dimwit, you already used port 80 for XXXX program. Pick something else!”
Or, you know, a script could do that.
Imagine this scenario:
-
You go to a store, buy a little server in a box, something the size of an Apple TV or a Roku.
-
Bring it home, plug it in, fire up its home page on your phone, tablet or PC.
-
That has a really simple, slick UI which walks you through its set up without asking any technical questions, including enabling services you want to use, getting it connected to the cloud for away-from-home connection and cloud backups (if you want).
-
It automatically sets up a Wireguard VPN for you, takes the most secure options with each of the apps you enable. Ties it all to one password or passkey for you. Sets up certs, etc… the right way, without bothering you at all.
-
On your phone (mobile first, eh), you use the app as a launcher for the apps you chose to enable (things we all know like Navidrome, Immich, Paperless, etc…). They work the same at home and on the road.
-
On your home devices (any kind of PC, Apple TV, Roku, Android TV, music streamers, and so on), you install and run apps which all connect to your little server instead of going outside your home.
-
Enjoy your media, backup your documents, chat with friends and family, etc… as you like.
ETA: And share whatever you want with whoever you want. Send your sister some pictures, let your kid at college watch one of your movies. And so on.
I can dream, at least.
This sounds like a FOSS utopian future :)
There’s a few projects that have started towards this path with single-click deployable apps, you could even say HomeAssistant OS does this to some extent my managing the services for you.
I believe one of the biggest hurdle for a “self hosting appliance” is resilience to hardware failure. Noone wants to loose decades of family photos or legal documents due to a SSD going bad , or the cat spilling water on their “hosting box”. So automated reliable off-site backups and recovery procedures for both data and configs is key.
Databox from BBC / Nottingham University is also a very interesting concept worth looking in to:
A platform for managing secure access to data and enabling authorised third parties to provide the owner authenticated control and accountability.
That Data on project sounds really cool. I’ll keep an eye on it.
As far as one-click installs, I think about how easy it is to install PiHole. That’s how all software should be.
This actually sounds like what they’re doing at Home Assistant.
Buy a HA Yellow or whatever, plug it in to your network and turn it on. It loads up and you log in on a web page on your phone. Install an app, sign up for Nabu Casa and get your services working outside the network.
And it’ll pick up a lot of what’s already on your network and set it all up for ya.
Sounds a lot like Umbrel but with less crypto.
-
Education of people is always(?) better, I’d say.
It’s good to exercise the mind, just like exercising the body.
What if 25% of car drivers could handle their own car maintenance? The one downside people will scream at first is that fewer mechanics will be needed.
But that is too short sided.
More home mechanics will need to buy more tools, so that’s more store jobs and more manufacturing jobs and more shipping/trucking jobs.
And more people who understand mechanics mean a better workforce who can invent new/better products or processes. And can do more research into manufacturing science, which would improve society.
This would also lead to safer cars because they are better roadworthy, and car manufacturers would have a harder time using low quality parts.
So all of those changes would apply to technology when more people know how to use technology.
And there simply aren’t enough mechanics now, hasn’t been for at least 40 years that I know of.
That’s because it doesn’t pay shit and destroys your body. Not to mention it gets harder every year.
This would also lead to safer cars because they are better roadworthy
Well, I’m not sure about this literally about car and figuratively about selfhosted: not all the selfhoster have the skills to selfhost, they just think they have and so for the car. If you screw up a service/the whole server you may lose all your data or be at the mercy of some data kidnapper, if you screw up your car brakes, well…bye bye.
In both cases, we don’t have enough skilled people to have that 25% selfhoster (but not even one tenth) nor 25% car self repair drivers. And this is not as bad as it sounds: we can’t be skilled about everything that we need, it’s just impossible! And that’s why we have society!
I am not talking about jank yolo prayer work. I’m talking about people learning how to do something properly. Duct tape a car is not the repair I’m talking about.
You are complaining about there not being enough skilled workers today. I’m talking about people learning the skills over time.
Look at how many types of food and products are starting to promote cleaner ingredients and more sustainable materials as people are starting to learn more about their health and the environment. People can learn and thing can get better.
We probably need one super popular self-hosting solution. With SSO so it’s simple to invite friends. Atomic / A/B updates so it’s indistructible. Backups preconfigured and a Marketplace with 1-click installers. Backed by a non-profit or nice community and non-commercial.
I agree. Last I checked, Yunohost, Umbrel, and CasaOS looked to be the best options, although admittedly I haven’t tried any of them.
And cosmos-cloud.io too.
I think you mentioned the major ones. I don’t think I’d give any of them perfect score. But I’ve had a look at most of them. And I’ve been using YunoHost for years.
I’d really like to have something that I can recommend to people, without any downsides. Maybe for small businesses, too. Or non-profits / clubs etc who need a mailinglist and a Nextcloud.
I recently set up a small home server and started trying to self host stuff. I found it pretty hard to get started. People have been very helpful on this community and other public forums, but I’m afraid it’s often not enough. They give me advice in trying this or that, doing this and avoiding that… but I still don’t understand more than half of the concepts that they use. I consider myself tech literate above the average user: I recently switched to Linux (after years on MacOS, using the command line, and even building a couple of programs from source), I also installed a custom ROM on my phone. I feel comfortable learning and doing these things… but still felt very very lost when trying to self host a few services. At the moment I settled for a local-only network where I run Jellyfin, Navidrome and Syncthing on OpenMediaVault. I’m lost with what I’d need to do to access my server from outside my local network, and terrified of doing something wrong and leaving a hole open so any hacker can access my server. I’d like to do it some day, but I’d rather have a safe local network than screw and get my data stolen or deleted.
So, in my opinion, we would need good tutorials or a MOOC to explain the basics from scratch.
I’m in a similar position but perhaps a few steps ahead. But still needing to regularly lookup things like “how do I do <basic thing like move a folder> in linux?”. The other reply mentions tailscale which I agree is the best for your use case, super simple set up, secure and free, you just need to run one command on the machine or VM and it guides you through the rest. There is an option to allow access to your local network as well (haven’t used it, but have seen it in options). Then it is just like connecting to a vpn from elsewhere to get access.
The other alternative option you might want to explore is a cloudflare tunnel (I used the cloudflared docker container). You’ll need to buy a public domain and then that can redirect to a service you want (e.g. you could access jellyfin from ‘jellyfin.yourname.com’), I set up two-factor authentication which then only allows certain e-mails to get a code to login. This means you don’t need to connect to a VPN and can access from any machine and browser. I’ve used this for things like silverbullet and planka.
Check out this guide to get started with exposing your services via proxy. I started with v1 and migrated to v2. Until I dug this link out for you, I had no idea about v3; but if it’s as good as the first two I can only imagine how good it is now.
https://www.smarthomebeginner.com/traefik-v3-docker-compose-guide-2024/
I’m lost with what I’d need to do to access my server from outside my local network, and terrified of doing something wrong and leaving a hole open so any hacker can access my server. I’d like to do it some day, but I’d rather have a safe local network than screw and get my data stolen or deleted.
Setup a VPN via Wireguard or Tailscale. I personally have not done that but I have VPN setup through OpenVPN which I did not find that hard and people say that is significantly harder than Wireguard.
The other (less safe) option would be to setup a DMZ on your network for stuff you want to self host. That is a bit more involved though. I went through it for fun and setup a public Nextcloud instance along with DDNS and a reverse proxy. I was just messing around though and shut it down after testing performance.
Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:
Fewer Letters More Letters DNS Domain Name Service/System HA Home Assistant automation software ~ High Availability NAS Network-Attached Storage PiHole Network-wide ad-blocker (DNS sinkhole) SSD Solid State Drive mass storage SSO Single Sign-On VPN Virtual Private Network VPS Virtual Private Server (opposed to shared hosting)
7 acronyms in this thread; the most compressed thread commented on today has 13 acronyms.
[Thread #766 for this sub, first seen 27th May 2024, 21:35] [FAQ] [Full list] [Contact] [Source code]
I would not suggest the „average person“ who statistically can only install with „click through“ and extensive description and may require a hotline if things go south to selfhost anything.
Ideally, they should pay a friend or a local small business for hosting for them.
If a person is able to constructively work through bugs and make bug reports and read a lot, yes, they could attempt selfhosting imo. But they should be aware that it is going to be work and its not going to go smooth 100% of the time.
More self hosting would improve the “average” person baseline.
The problem is the average person is not going to know how to properly secure whatever they are hosting.
Did you know how to do everything before you started?
We’ve had computers for decades. We’ve had computers in our pockets for several years now. Computer literacy is still garbage (mostly because your average person’s critical thinking skills are garbage).
I’m not saying that today everyone should push a button and start self hosting. I’m saying it would be great if more people learn to self host and that there are benefits to people learning more.
People don’t just absorb knowledge. It will require education programs.
I agree on principle but paying someone would do wonders for the state of self hosting - assuming that the people paid would foward parts to the software devs and help improve the software since they can afford to spend time with the software. Second point is that attempting self hosting only makes sense if someone is actually willing to learn and put time in.
pay a friend or a local small business for hosting for them
Interesting idea. I wonder if there’s any such local / regional service out there. I imagine they would have to have “real people” customer service to make that work. Not sure what that would be worth to most people / cost to run as a business.
I‘m attempting to do exactly that for my local community atm. Most people are still reluctant though.
Sweet! Tell me more about how you’re trying to do that and how you’re seeing reluctance, please.
I‘m self employed in IT and host a couple services for people. Small, local business.
My experience so far is that few outside of IT understand why big tech isnt a viable option and even fewer are willing to accept that imperfection when it comes to services that have a proprietary option.
Obviously its pretty early in the game so I guess this will get better and I‘m also not complaining, just stating that peeps need more time and education on this matter.
1 click installs.
Sure. Like Apple says, “It just works” and people love that.
The challenge, imo, is that there’s always the variations on home networks, nat, firewalls, etc… maybe someone partners up with Tailscale or a similar service to get the services through people’s home router.
And when it doesn’t work, Apple tells you it’s because you’re holding it wrong, and you’re on your own.
The only part of Apple’s approach worth copying would be the ease of use of their software, imo
Something with 1-click installs like TrueNAS can help quite a bit. It’s still something that requires active involvement from the operator to do well though. If you’re self hosting, it’s like DIY construction, if something falls down … you can’t sue your contractor/nobody’s going to make you whole again except yourself.
There’s also the networking side of things. I just wrote up some thoughts on that as well… https://alexandrite.app/social.packetloss.gg/comment/1821545
Things like ZeroTier/TailScale/Nebula can make this monumentally more approachable and safer. It’s still far from for everyone though.
I had the same idea a couple years back and even though I would love something that you download and just run and it would work, I realized that in order to get a decent adoption rate, you would need a whole ecosystem, similar to apple in order for it to work.
I still think you can develop something like a hub where you install services like apps, but I doubt it would attract anyone outside selfhosting circles.
New Lemmy Post: Would it be a good thing for the average person to self-host their apps? If so, how to get there? (https://lemmyverse.link/lemmy.world/post/15876950)
Tagging: #SelfHosted(Replying in the OP of this thread (NOT THIS BOT!) will appear as a comment in the lemmy discussion.)
I am a FOSS bot. Check my README: https://github.com/db0/lemmy-tagginator/blob/main/README.md