I rent a vps to run fediverse instances. Here's what I've found
Hi everybody! I rent a vps with 6 cores, 16 GB ram and 100 GB nvme to run fediverse instances (mastodon, lemmy, matrix, peertube) and a couple related services (nginx proxy manager, nodebb forum, wiki.js, uptime kuma, portainer, tig-stack).
The why
Over the past month they have been running. It has been some work to set them up but since then they run pretty flawlessly. My main goal was to find out how much hardware I really need to run private instances (just me or maybe a handful of friends).
Here are the stats:
Disclaimer: I checked and all services federate correctly.
Resource usage
From my point of view, the 6 cores are totally overkill. A two core would probably suffice. Of the 16 GB of ram I currently need 4. So 8 should suffice. The 100 GB nvme drive is barely handling it (66% full) and thats without backups (they get pulled immediately and then deleted) and with a 48 hour media delete cycle on mastodon (which currently is the largest folder I have).
Individual Space usage (nvme)
8.0K heimdall
2.0G lemmy
7.1G mastodon
5.2G matrix
123M nodebb
236M npm
3.5G peertube
12K pgadmin
8.0K portainer
376K tig-stack
8.0K uptime-kuma
8.0K watchtower
12K wiki.js
3.6G wordpress
So while I use lemmy the most, mastodon uses far more disk space, matrix also uses more than lemmy although I'm in like 20 chats and my friends don't use matrix except to chat with one another. I have subscribed to maybe 50 communities on lemmy.
Since the graphs in the screenshots lack legends, I'll explain the spikes.
Container CPU usage
red spike: lemmy postgres
lightblue: mastodon sidekiq
yellow: telegraf
dark-blue: lemmy ui
Container Ram usage
red line: peertube
light-blue: mastodon sidekiq
dark-red: lemmy postgres
pink: mastodon postgres
Summary
So far I didn't actively try to get the needed resources down except mastodon since I didnt want it to derail my experiment.
Mastodon seems to have the worst data on drive footprint, Peertube seems like a constant ram hog and lemmy spikes in the cpu all the time. So they all have their positives and negatives but nothing major. If you have 2 cores, at least 6 GB of ram and probably 250 GB of disk space to spare you should be good.
I'll work on making the compose files and config files publicly available but right now I'm not there. If you need help spinning up an instance, please let me know. I can send you individual files if needed.
Hey all, don't get too excited. A 2GB Lemmy instance has very little data going through it. My instance, which is just me, and auto-subscribes to communities with "Top" posts using LCS, processes about 10GB of new data a day.
Without subscriptions, the Top, Hot, etc feeds would basically be empty. So if you only want communities you subscribe to, IO will be low, but if you want a full experience, disk and IO will be your bottleneck.
All that being said, thanks to OP for giving the community all this extremely helpful info.
I've been wanting to, but I'm lazy and have adhd. I should easily have the hardware requirements strewn around the house though to slap something together should my focus travel that road.
Thank you for your feedback. Thats precisely my intention with this post. I‘d like hosting your own instance to be as easy as „come up with name, buy domain name, run script, done“. Lot of work until that day but it would make the fediverse infonitely larger imo.
I'd like to spin up a Matrix instance for me and my friends on my NAS, but like you said it's currently more involved than just getting a domain and running a compose. The space is evolving fast though and experiments like these help a lot
Some offer very low prices, HostHatch is one example. I’ve been using RamNode for years and while they’re a little more average for pricing, I’ve had no issues. Never used HostHatch, so maybe someone who has used it can comment on the quality of service.
I pay around 10$ per month atm. But you need to factor in backups which I handle with my home server. Those can be acquired as cheap as 2$ a month I believe. It’s not expensive if you know where to look and dont mind making mistakes.
That's way less than what I pay to vultr for a less powerful VPS to host my own set of services (lemmy, gotosocial, gitea). I gotta find a cheaper host 🙃.
I think I found them on serverhunter.com or similar. Just search for serverhunter and you should find many interesting offers. The important part is that a good backup procedure is more important than strong hardware.
As I said, I host a small instance for me and a handful of friends. I subscribed to 30-50 communities and post regularly. I don’t think thats in any way comparable to a 50-100 people instance.
Also, my findings were that mastodon has like 2-3 times the storage requirement although the same numbers of users.
I hosted mastodon once. 20GB disk was full after a few days only. At some point the full disk somehow made the postgres DB delete itself, and then I stopped running my own instance.
For Lemmy, the CPU spikes are probably the score updates...
Great info. Out of curiosity what does your hosting setup say about visitor numbers? Futurology.today uses Cloudflare. They give a figure of about 10k per day for what they call unique visitors. That seems unduly high when you look at how busy our lemmy instance actually is. We have just short of 1K subscribers, so I would assume visitor numbers would be lower than 10k per day.
Sure, I‘ll probably increase the collection timespan. I just didn’t see the necessity before. The setup is about a month old so there‘s a lot still to learn and to experience.
Right now I‘m trying to figure out if I keep it running as it is with a bit spare disk space or if I start testing backups and maybe put it all in one script, either bash or ansible (have no experience with that).