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.
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.
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.
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.
“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.
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.
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?
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.
Some of it has to do with open source. For example, the budgeting app I use in proprietary and is excellent and I happily pay for it. However if the company went bust or was acquired or something else unfavourable happened, I’d be up a creek without a paddle. At least if it’s open source there’s some hope of it at least not completely disappearing
Mint is probably the largest budget app out there and they just announced that they will be going away at the end of this year. Many of us have years of data in Mint that we are about to lose.
Experience has taught me to avoid depending on third party services for something I could self-host.
What selfhosted app do you recommend for budget?
I settled on Money Manager Ex as a replacement for YNAB. The old YNAB program was the only thing keeping me on windows 7, lol. When I finally found something I liked, I switched to Linux.
If you want 0-based budgeting, try Actual Budget: https://github.com/actualbudget/actual
It’s pretty similar to YNAB, and you can even import from YNAB.
I don’t have a replacement yet, but I plan to look at Firefly III.
Firefly is great, and I’m still on an older version that just works. Takes some effort to get imports auto classified, but once you do it’s stupid fast to categorize your spending and see trends.
My wife loooooves when I spend my evening going through my latest batch of unclassified firefly transactions. But the perfect pie chart is worth it.
I use firefly for spending categorization. I haven’t gotten into any of the budgeting stuff.
IMO the biggest drop off from mint is the lack of automated synchronizing of account transactions. I’m currently just dumping transaction csv’s monthly and importing then, which is easy enough.
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.
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?
This, above all other reasons given in other replies.
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.
top 4 highest rated comments on this post say it all
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.
Thanks! This answer is really helpful for someone new to this!
I ❤️ this answer.
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.
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 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.
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!
Because we can. Just because we can.
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.
-
So I can backup and move my data as I please. Also means if it’s self hosted I can access it from anywhere.