What are your favourite, or least favourite but necessary, cost-cutting methods?
I feel I am spending too many resources on unnecessary stuff.
Edit: I feel the need to reduce both – the resources, to host multiple things on one system, and cost, to buy/pay for multiple systems. Currently, I have 2 ARM VPSes and 1 old MacBook Air as a home server.
My favorite cost cutting tip is to avoid big webapps running on docker, and instead do with small UNIX utilities (cron instead of a calendar, text files instead of note taking app, rsync instead of a filehosting dropbox-like app, simple static webserver for file sharing, etc). This allows me to run my server on a simple Raspberry Pi, with less than 500mb of used RAM in average, and mininal energy consumption. So, total cost of the setup:
- Raspberry Pi : 77€ x 2 = 144€ (I bought two to have a backup if the first one fails)
- MicroSD 64gb : 13€ x 2 = 26€ (main and backup)
- average energy consumption : 0.41€ (2kWh) per month
With that, I run all services I need on a single machine, and I have a backup plan for recovery of both hardware and software.
Getting used to a UNIX shell and to UNIX philosophy can take some time, but it’s very rewarding in making everything more simple (thus more efficient).
Getting used to a UNIX shell and to UNIX philosophy can take some time, but it’s very rewarding in making everything more simple (thus more efficient).
Yeah, and that’s the problem for me. See my comment above. Nextcloud and those services are “bloated”, yes, but very convenient. I never worked in an IT-environment, so I’m a total noob.
But stuff like NC AIO give me a whole pre-set-up LAMP stack without needing to know how everything works, and that’s unbelievable for me.
My least favourite (and only) method for me to cut costs is reduce my energy consumption.
I already have a super cheap setup (used Mini-PC for 50 bucks, old SSDs I had lying around, etc.), so reducing the hardware costs more isn’t possible.
But, without tweaks, this setup would eat 15W (idle) and 25W (under load) electricity. At least, thats the case atm.
I just started selfhosting to be fair, and I didn’t have time to throttle the server. I use it mainly as NAS, so speed isn’t as important in this case as for other services like webapps, where reactivity is needed.
The CPU isn’t too bad, so, even when reducing the performance to 50%, it should still work.
Also, I will try to change the active cooling fan to a passive heat sink, that might reduce the bill further.
What mainly eats resources like crazy is my Nextcloud AIO. I try to follow the UNIX-principle as good as I can, and NC doesn’t follow it well, at least for my use case.
I only need a file server, and NC is pretty “bloated” with talk, calender, and so on. So I disabled all of that.
But, I’m not capable enough to set up an Online-FTP-Server and secure it enough without ever working in that environment. NC AIO provides a lot of comfort and “just works”. So, I’m fine with that.
Here in Germany, especially thanks to the energy crisis, electricity is absurdly expensive, and even reducing the TDP by a few % will save me much money over a year.
So, I try to reduce the load and increase efficiency wherever I can.
Still, even now, with an increased energy consumption + paid domain, it’s still cheaper than using OneDrive or something like that, even when ignoring storage size.
Fortunately, energy cost is not a big deal for me. My state (Punjab, India) provides 300 units per month for free. In the past year, I had to pay for only 6–7 months of electricity. I do host Nextcloud in a docker, but I keep most plugins disabled to save resources. One of my main resource hog is LanguageTool. It is using about 800 MB RAM and 8 GB storage.
sftpgo is a nice project to host files in a secure way without too much hassle.
- Use sqlite instead of Postgres, MariaDB
- Avoid enterprise software (Kubernetes, Elastic Search)
- Only use projects with efficient programming languages such as Go, Rust, etc.
- Try to run things bare metal
- Lookout for projects which name themself minimal or light-weight
I use a Raspberry Pi 2 to self host a Dashboard written in Rust (Axum), a RSS reader called yarr and a music streaming server Navidrome. The latter two are written in Go and very resource efficient. The electricity bill should be under a Euro a month (6.4W max power consumption).
While I don’t agree with your first point from my experience, the second one is very true. Especially for memory consumption, your typical Java app easily occupies five times as much as something more bare metal.
Fasting allows you to waste less money on food and invest more money into your server.