What are the odds the router itself can act as a Mastodon server with some external storage? I'm not sure how resource intensive Mastodon is in practice.
I don't think the average router would be able to run much of anything, not to mention how insecure the average router is since people don't update them.
Mastodon is very resource heavy, I couldn't get it to run on a raspberry pi 3b. Pleroma is an alternative to mastodon that is very light on resources, I'd recommend that personally.
I can easily run Pleroma on 1G VPS and Pi3s; the heaviest part is the Postgres server, which can itself be tuned to be pretty light. It relies on PG's native JSON data type which is cool. I run a couple instances and poked around with it for a few hours. I'd love to see SQLite support in Pleroma given that it allegedly has JSON now; there is a 2 year old ticket on their GitLab [1] mentioning it tho I've not spiked in to see if it's 100% plausible to port. Pleroma is written with Elixir that has a DB abstraction library that supports SQLite, I was just looking into it this week.
Even if SQLite JSON isn't sufficient it could be realized with string columns for now, and indeed SQLite is recommended by Library of Congress for archival storage and used by iPhone so I think it's a solid way to expand Pleroma even if native JSON is not sufficient.
If anyone wants to pay me to do this as open source I'd jump, contact in bio. I don't know Elixir yet but am motivated and have 15+ years of dev experience in all kinds of systems, and experience in the adjacent parts.
It's a ruby application. Take all the background processes to build timelines, trending hashtags, etc and it adds up. Perhaps a single-user instance might do with less, but still...
It probably depends on the load? It's a Rails app AFAIK so if the load is low (which is likely for a family or group of friends) it should be able to run anywhere.
If you don't federate (and so only receive toots from accounts you've explicitly followed, or who mention you or their shares/boosts) and you don't follow a huge number of highly active accounts, then maybe.
1. For anything where you are mentioned specifically, or where you're a follower, the toots gets distributed automatically.
2. For anything where the toot is marked public but you are not a follower or mentioned, your instance will only receive a toot if you've explicitly configured federation of the public feed with one or more instances that is reasonably well connected.
The former is "cheap" unless you follow lots of people. The latter is like sucking on a firehose, because you get pretty much everything. If you do, it matter relatively little how large your userbase is, because you're still processing nearly every public toot.