I don’t have a home server yet but I’m exploring and sometimes I get confused about some posts here.
For example I saw a post asking for recommendation for a “self hosted budget management app”. Can’t you just install this type of app to your phone or pc? What’s the purpose here, will you host it and access it from a browser? Or do you only want to backup its data to your server?
I hope I don’t sound stupid please enlighten me.
Total control. Let’s take the budgeting app for example. I started using Mint in 2009. There’s more than a decade worth of banking, spending, and investment information in there.
Mint is shuttering in about a month. They gave all their users a month and a half notice. When it’s gone, it’s gone.
When a self hosted app is used (with appropriate backups, orchestration, etc) YOU the user get to decide when you’re done.
If something isn’t working for your life anymore, you can find an alternative and migrate everything over on your own schedule.
There’s more than a decade worth of banking, spending, and investment information in there.
That’s the real reason I would self host something like a budget app. I don’t want a company like Mint to have (and sell) my purchasing and financial history.
Too bad all the payment processors are already doing this anyways, regardless or not if you are using your own budgeting software.
Basically if you’ve ever used Plaid for anything, the company that you’re using Plaid for has all of your accounting history.
Not saying you shouldn’t use your own budgeting software too (I do) just pointing out how completely helpless the situation is if you are in the US.
Also valid. I had to take a pragmatic approach with it to also meet SAF. The internet was also a very different place 14 years ago.
“self hosted budget management app”. Can’t you just install this type of app to your phone or pc? What’s the purpose here, will you host it and access it from a browser? Or do you only want to backup its data to your server?
I don’t want some third party having access to all of my transaction history and knowing what I spend and where.
I hope I don’t sound stupid please enlighten me.
Your question isn’t stupid. There is an important decision you need to make on “is the juice worth the squeeze.” While you can selfhost a lot of stuff sometimes there’s better reasons not to. Email is primary example that gets brought up a lot. Sure you CAN self host it, but for a lot of people on this sub it’s not worth the effort required to do so.
Each person has to make that decision for each of the things they choose to self host. Budget apps are no different.
Can’t you just install this type of app to your phone or pc?
Sure, but then the data is, in most cases, not mine. It’s shared with some 3rd party. “Free” apps aren’t ever free. No such thing as “free”. You’re always paying with something.
Other than that, it’s a hobby. Learning hosting, docker, containers, servers, Linux, etc.
When you use a “free” app, you pay with your data.
Thats something a lot of us don’t want to. Additionally, it makes fun and is kind of a hobby to build and maintain this stuff.
Even when you pay for an app, chances are you are still paying with your data.
So we retain control over our private data. Do not trust corporations to value me or my data.
After a while, you start to get tired of apps and other online services either disappearing or changing in ways you don’t like.
Think of it like the difference between renting and owning something. When you rent a home, you do not own it. You don’t get to choose. Want a nicer water heater? Not your choice. The owner takes 100% of the responsibility, but often isn’t penalized for misbehavior. So they can for instance, decide that they don’t like you, and you no longer can use their servers. Or perhaps they dislike other companies, and strip features from the rental agreement. Even worse, all your valuable data, along with everyone else’s, is all stored in a single valuable location, becoming a prime target for thieves. I half expect some of the “data breaches” we see are inside jobs, where the company leaves a loophole open, tells the “thieves” about it for a small sum of cash.
I personally like self hosting. Once you get into it, and understand how to reverse proxy, and set up a domain, you can essentially self host anything ridiculously easily. Like, for me, setting up a container, and funneling it into my reverse proxy maybe takes like 30-60 minutes, ironing out bugs and stuff? Sometimes if it’s particularly easy, it takes like 5 minutes lol.
Can’t you just install this type of app to your phone or pc?
For one instance of app, it’s possible to install it onto a single machine.
Things get tricky when you want to access the data from multiple devices. Even trickier, when several people want to access it. After a certain point, it’s easier to have a “cloud” solution. And since “cloud” is just somebody’s else computer, why not make this a computer YOU own?
top 4 highest rated comments on this post say it all
if someone wrote an open source free solution for you to self-host i think its just rude not to use it. so self-hosting is just being polite
I like this logic.
This, above all other reasons given in other replies.
I think for a lot of people as well, a big factor is when you share that data between multiple devices, if you use your own solution, then you don’t have to trust other companies with your data.
No, but now you have to trust yourself with security.
It seems to me to be a bit of the fly vs drive debate. Flying is objectively safer, but lots of people get more freaked out by it because they have zero control over the outcome.
I think the threat model is sufficiently different enough for self hosters versus commercial offerings that it is possible to maintain a comparable level of security to what you’d enjoy elsewhere with significantly less technical training. E.g., I run a home server using a point-to-point Wireguard configuration such that only devices I’ve explicitly set up with Wireguard can access any of its services. My ports are very quiet.
Flying is only safer than driving until the fuel runs out, then you’re much safer in a car 😉
actually when a plane runs out of fuel it doesn’t drop out of the sky, a trained pilot can glide the plane down (eg Hudson River landing ) mow if u r on a highway and u run out of fuel the car behind u might hit u
I ❤️ this answer.
Thanks! This answer is really helpful for someone new to this!
This is exactly it - storage is the best example
Could I run all of my stuff using a cloud service? Of course, but it would be very expensive and only available if my internet works (and there’s a lot of hops between me and my data in the cloud)
I can buy a 2TB HDD for £64 - most cloud providers charge that much per year for 1TB
ideally youd buy like a 14-20 TB hard drive for less than 200 GBP. economies of scale!
Exactly- I have a desktop and a laptop and want the same experience on both. I do have file sync setup with Nextcloud so that is handled, but for some things a hosted version makes sense. I’ve come a long way from using briefcases on a 3.5 floppy to have my data where I want it.
An easy reason to self host apps: share media with the household. Sure you can have a samba share and have people browse trough a folder to find the good movie. Or they can load jellyfin or Plex and have a netflix like interface that remembers where you left off and all the fun stuff. You can then add other stuff that will automatically search, download and organize new TV shows episodes for your, etc…
Another reason is some stuff are only possible when hosting. For instance, grocy is an app that lives on a server and manages your stock of food. You can scan goods with your phone and add them to your stock. You can scan them when you throw the can/box etc to say you used it up.
Then it generates a shopping list for you. The nice thing is that it lives on your server, not on your phone. So if more than 1 people do the shopping, you can have a synchronized shopping list, and update it in real time. And the self in self host part is cool because you decide who sees this and no Google or Amazon makes a profile out of your shopping habits.
You can have an online office suite that works in your browser without anyone unauthorized seeing your files.
You can have a bookstack wiki, where you put notes about the house, or whatever you want, and gave it being reachable only by you and people you allow, without a lot of account management.
You can have your own nextcloud, so you have file sync, calendar, etc, without it going at Google or apple. And it is on your server so you can have as much or as little data backup as you want. And often a good fiber line is cheaper than a VPS or a full dedicated server…
With all of this, you can seamlessly switch between multiple computers . You can also manage the loss/destruction of your laptop. Or phone. You can have a local equivalent to Google photos with photoprism.
You can have a frigate server for video surveillance and object recognition, but all in local, your video files don’t leave your house. A s it will do local AI stuff.
Last but not least: when you self host your stuff, you can still do a lot when the internet is down. You can replicate services on your laptop if you want. You do whatever you want.
Grocy sounds exactly like the kind of app I’m currently looking for - thanks!
Heading over to github, I assume it’s there?
Because we can. Just because we can.
Security. Having your data in your own control instead of blindly trusting companies, where it’s more likely than not your data is being sold.
Choice. If there isn’t a feature, add it yourself, switch frameworks, change everything if you want, no more “we’re working on it” status updates when something isn’t working or a feature isn’t out. All the options are in your hands.
Pricing. Why pay monthly for “premium features” when you can have the most premium tiers for free. Especially true on anything with storage limits, 1tb of storage drive being cheaper than a few months of 1gb storage on some apps.
Speed. Sometimes it’s just more streamlined when there’s less bloat and you’ve hosted the exact thing you need on your subdomain with a single login page between you and the exact page you need. Less interaction needed to get where you’re trying to go.
Most if not all apps on phones will require you to sign up and your date is out of your control as it is not hosted by yourself. Plus you are usually limited to doing everything on your phone which is a pita.
Selfhosting is a way of life. I enjoy providing services to myself and my family that I control with the peace of mind of knowing that data stays with me. And it’s fun doing it too!
My guess is once you start selfhosting yourself, you’ll eventually come to the same conclusions.
However, selfhosting isn’t without it’s dangers. You have to ensure you have backups of the data. You are also responsible for securing it and you have to maintain your infrastructure as well
I got sick and tired of throwing my money at unreliable, overpriced hosting solutions, only to discover I could do it at a fraction of the cost at home, and without ever opening a single port to the public.
Open-source self-hosted apps:
-
Free - I don’t have to pay for 100 different subscriptions for crappy SaaSes that never get any meaningful updates and sometimes don’t work at all.
-
Don’t depend on someone else’s infrastructure - my apps are up because I’ve ensured they’re up. Someone screwing up their deployment, which always happens in the worst possible time, doesn’t affect me.
-
Often cost less to run - I have so much stuff stored in my Nextcloud that I would pay the cost of my entire setup for some cloud storage every 1.5-2 years accounting for electricity costs, equipment amortisation and even cloud backups. This point is even more valid when you add your family to it.
-
Sometimes better made - for example Nextcloud macOS and iOS apps are much less buggy than Google Drive on these platforms.
-
Give me full control over my data - for me that primarily means that I’m responsible for backing up and restoring it. I’ve experienced data loss with cloud services multiple times over the last 10 years, now I don’t trust them with my data. I’m perfectly capable of handling it myself.
-
Give me features that the horribly inefficient SaaS businesses cannot afford, like streaming high-res lossless music or compression-free 4K video.
-
Aren’t tied to internet speed, ping, server issues at least while I’m home. Nothing can beat LAN, especially when it’s wired.
-
Aren’t even tied to the company’s developers to some extent - I can fix bugs in open-source apps myself. I can even fork it and modify how I want.
-
Will run forever if I want - any SaaS can be closed at any moment as a business decision. Worst that can happen to FOSS - it gets abandoned. Which is not too bad - I can still run it.
Half of these point only work because I’m a senior software engineer with DevOps experience myself.
You nailed all the reasons that I self host. This should be pinned to the sidebar.
-
Most of the time it’s just a hobby and I enjoy the challenge of solving a “problem” we have at home.
But for payment related stuff, I prefer having control over my own data. Granted I upload encrypted backups to a Google Drive via duplicati for important data - so technically Google still holds my data. But they aren’t the ones in control and I have local backups too.
Of course, I don’t back up terabytes of media. I’m considering backing up my own rips, harder to find stuff as well as my music (some, I don’t even remember where I got it, because it’s been on external drives for well over a decade).