I have installed a Mastodon hub on my Raspberry Pi4 home server. The installation of Mastodon was the most complex between Hubzilla and Friendica which are much simpler (imo). The official instructions are precise and must be followed step by step to avoid errors. Mastodon is also an interesting social platform.
Unfortunately, the instructions to install Mastodon refer to the Nginx web server, while on Raspberry I have Apache2 which manages a Friendica hub and two Hubzilla hubs. I had to temporarily stop Apache2 to avoid conflicts with Nginx in order to test Mastodon. So now, if I want to make the two servers coexist, I have to reconfigure Apache2 on other ports than the standard ones. Then I have to reconfigure Nginx as a proxy server for Apache2.
Mastodon is written in Ruby, uses dbms PostgreSql, Node.js, technologies that I know little about and which I should be documenting.