3 ms·
What are the minimum system requirements for Mastadon? I cannot decide what VPS I need to rent.
by darkhorn 7y ago
What are the minimum system requirements for Mastadon? I cannot decide what VPS I need to rent.
- INTPenis 7y agoMastodon.social (masto.host) actually sell mastodon instances. I host my own that I've split into three layers, web front, app and db. The web front only runs nginx and terminates tls. I tried building assets on it to serve static assets but gave up after a few upgrades and issues. Web front only has 1G total RAM and right now has 595M available for IO buffering. The app layer can sometimes run out of RAM when upgrading because of asset compiling. Perhaps this has gotten better with time. It has a total of 6G RAM and at present has 3.4G available for IO buffering. The only reason it has 6G total is likely because of upgrades causing OOM when compiling assets. I put all media on S3 and that is up to around 35G in size after 1 year of operation and 50 some users. Probably much less active users. The database uses 4.3G.
- sixthhokage1 7y agomasto.host is not affiliated with mastodon.social or the Mastodon project. It's an independent managed hosting provider run by Hugo Gameiro (@hugo@masto.pt)
- claudiawerner 7y agoIf you're only looking to set up some fediverse software and you're not attached to Mastodon, then you should consider Pleroma, which has significantly lower minimum requirements.
- nightpool 7y agoMastodon takes about the same amount of usage as any rails app. For a small instance (less then 20 active users) I generally recommend 1GB of RAM and 2 CPUs. the storage requirements can get pretty beefy over time though, so make sure to set up cheap block storage.
- codewiz 7y agoWhy 2 CPUs? Isn't the Ruby interpreter single-threaded like Python and JavaScript?
- nightpool 7y agoAn introduction to forking web servers and multi-process concurrency is outside the scope of this comment thread, but the general idea is that you can run multiple processes per server, and each process can handle connections independently without needing to handle concurrency itself. Threading is only one way of achieving concurrency
- riffic 7y agoIf this is a production system and not a dev or test environment, don't deploy to a single server. Avoid single points of failure in your prod environment.