Hosting a Pleroma instance: Metrics and Costs
I've been running my own Fediverse instance for a few months now, and have some data to share around costs and resource utilization.
If you're just getting interested in the Fediverse, hosting your own server is typically not the best way to get started. You'll want to try out some of the existing servers and technologies to understand the type of community you wish to participate in, and how you prefer to interact with the broader Fediverse. This post will assume you've already done your research and have decided to start your own Pleroma server (a popular alternative is Mastodon).
Pleroma is known for being lightweight and fast- it also requires few resources to host. Frequently, a figure of 10 USD per month is used as a general rule of thumb, but if you're willing to utilize budget VPS providers(I personally use racknerd and have been pleased with them) you can come in significantly under this figure. At the time of this writing (even in February), you can get a 4GB KVM VPS for under $44 USD per year(or $3.67/month) under the 'Black Friday 2021' category of the store page- this is the size I used for my own instance, and it has yet to exceed utilizing 1/3 of that. For my 2 user instance, I could probably have gotten away with the 2.5GB VKM VPS (27.88/year), but I wanted to account for potential spikes in utilization (as I wasn't familiar with the application's behavior) and additional active users.
In order to measure resource utilization, I decided to utilize the New Relic Infrastructure agent– I chose them simply because their service is free, and the agent is open source. It’s critical to monitor resource utilization for your instance to keep things running smoothly for you and your users, and to identify anomalous patterns before they create problems.
After several weeks of active use, I found that a basic Pleroma (Soapbox-be specifically) installation required little disk space:
root@:~# df -h Filesystem Size Used Avail Use% Mounted on /dev/vda1 24G 7.0G 16G 31% /
With this small volume, my disk utilization increased 6.5% in 2 weeks. The increase was totally linear over that timeframe. I’ll need to increase the size of my root volume in the near-ish future if this increase remains linear.
The Memory utilization was also extremely linear, ranging from 1.29G to 1.32G at peak.
CPU utilization did not exceed 10% over the same 2 weeks, and disk IOPS and network traffic have remained trivial.
The barrier to entry for hosting a Pleroma instance is pretty trivial. It requires few resources, sub zero tech knowledge, and is cheap.