Mastodon is really easy to run via Docker containers. I use the official container with three instances (web, streaming, sidekiq), a postgres container, an elastic search container and a redis container. I wrote these scripts to help bring it up, but you could do the same thing with Terraform + docker-compose:
http://github.com/sumdog/bee2
It's super easy to run compared to Plreoma (which took me forever to Dockerize, the dockerfiles are in the same project). Years ago this was the problem with Diaspora too, but Docker has made this problem a lot easier.
I even have a container that backs up my volumes and database to Backblaze. If you want easy, cheap hosting, there's Masto.host.
Edit: I run on a $10 Vultr instance with some additional block storage and currently support <10 users without issue.