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.

Have a good one! :)

  • speaker_hat@lemmy.one
    link
    fedilink
    English
    arrow-up
    2
    arrow-down
    1
    ·
    1 year ago

    Thank you very much! great practical insights.

    If you plan to do it again, how about to increase the data timespan (e.g. 6 months)? it will also give insight about scale as the time passes?

    • haui@lemmy.giftedmc.comOP
      link
      fedilink
      English
      arrow-up
      3
      ·
      1 year ago

      Thanks! I appreciate it.

      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).