Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

While I'm glad and support that people donate to their instance, I would encourage more people to start their own instance instead of donating.

The only way the fediverse (and by extension the internet) can remain healthy is by introducing more instances. "We don't need platforms, we need protocols."

The way Mastodon is evolving, thousands of users are concentrating on a couple of instances. What happens when a large corporation starts to "Embrace, Extend and Extinguish" again? What happens when a large instance decides to push out ads? Do we block that instance when it has 50.000 users?



Also the more users are concentrated on a few instances the higher the likelihood they will suspend smaller instances. My fear is that at one point the large instances might switch from a blocklist approach to allow-listing only the instances they federate with. All of this without evil intent, just because they cannot keep up with moderating.


Only block lists rather than allow lists are supported on most projects. Someone would need to fork Mastodon or other to switch to allow lists. This would be a bad departure but will surely happen in some cases. They could even disable the account move feature to lock people in. Maybe truth.social did that and is why it is basically a closed off island.


A patch is the ultimate configuration mechanism. So in practice, everything is supported if the instance wants it badly enough.


I agree but also want to note that coordinating 1000 instances over ActivityPub brings it's own set of problems, rather than having one instance with 1000 users. Each new server introduced into the federation puts (minimal) additional load and traffic requirements on the other nodes, so more servers requires better servers.

I do think that's the way forward though, rather than a few big instances, but time will tell what the right percentage of the split is for good performance for everyone.


Yes, you're right on that point.

I have read the ActivitPub spec but not the Mastodon API - so I'm probably wrong on the following part.

Let's assume that we have 1000 users on a single server, posting a single message to those 1000 followers is writing a 1000 DB records (assuming a table with post - user link).

Let's assume we have one server with 500 users, and 5 other servers with 100 users each. We still write 500 DB records on the first server, and make 5 API calls to the other servers, which each write 100 DB records.

If the above holds true, the overhead is 5 extra API calls? At least, I hope Mastodon doesn't make API calls for every user on a server!


I strongly suspect that connecting a new server to the federation, which has 1000 active users, is better than connecting 1000 more active users to an existing server.

1000 new users on an existing server are 1000 app/browser instances making separate network connections and separate little queries to that server.

Whereas (I would hope) there are aggregation efficiencies in connecting a new 1000-user instance to the network.

Also remember there are certain optimizations in Mastodon. If an instance A generates a toot, but the toot has no followers on instance B, then B doesn't see it. However, an instance always processes a toot from its own directly connected user's browser or Mastodon application.


Does ActivityPub support hierarchical federation? Or could it be grafted on?


I've been wondering about that. I joked not too long ago that Mastodon is the new FidoNet, but it does occur to me that there are probably things Mastodon could learn from FidoNet (or Usenet) if it hasn't learned them already.


> While I'm glad and support that people donate to their instance, I would encourage more people to start their own instance instead of donating.

Sure… but then what?

I probably have the technical chops to setup an instance that won’t end up in a botnet in the first five minutes but that’s about it. No clue how to get people to responsibly (aka moderation) use it or even how to tell people there’s a new instance out there. Federation and all that, assuming there’s coordination between sysops in some way.

And judging by TFA the software is a dog so there’s non-trivial expenses involved. Or take a month to make my own implementation in C++ and have people accuse me of crimes against humanity because I don’t want to learn rust. Maybe there’s better options, dunno?

I assume this is all just backend stuff where people bring their own client?

I actually like figuring out how stuff like this works but “just run your own instance” isn’t helpful.

Admittedly, I haven’t even asked the google any of this but one thing I do know is I can’t afford to spend $1,800/month on anything that doesn’t generate significantly more income than that.


My little RPI 4B 8GB running Mastodon and Nextcloud on yunohost.org is running well with about 20 users and can accommodate many more. If you have an old laptop or RPI laying around, give it a try.


The issue is that all content is cached on all nodes so s3 or blob usage goes up a ton


You're responding to someone hosting on an rpi so I doubt that S3 or blob storage is involved. Also AFAIK re-hosting images is not required, at least some instances seem to link back to the original host.


Any suggestion for decent single-or-few-users ActivityPub servers?

I just want a container or a small binary I can run on my server for myself.


Single: ktistec? https://github.com/toddsundsted/ktistec (crystal + sqlite)

Few: Akkoma? https://akkoma.dev/AkkomaGang/akkoma/ (elixir + postgres)

Few (alpha): GoToSocial? https://docs.gotosocial.org/en/latest/ (go + sqlite)

There's also honk - https://humungus.tedunangst.com/r/honk - which tends to do its own thing re: UI and terminology (go + sqlite)

Maybe PleromaPi - https://issueantenna.com/repo/guysoft/PleromaPi - if you've got a Pi lying around doing nothing (Akkoma is a fork of Pleroma)


Mastodon docs provide a guide to running an instance:

https://docs.joinmastodon.org/admin/prerequisites/

(I don’t run one myself so would be curious if any admins have tips or suggestions.)


It was easy enough to set it up on DigitalOcean. My primary objective was my own identity. Turns out the basic $7/mo can’t keep up with the load at all. I’d need to at least double the instance size to be able to serve the single user (me). Mastodon is quite resource intensive to host. I decided to instead donate that to fosstodon and move there.

I have used rails in production for a company with decent traffic. It’s doable but it requires a lot of optimizations and the minimum starting requirement is high.

I think a Masto.host like model (the one Fosstodon uses) but with proper multi-tenant support and custom domain support is required for self-hosted mastodon to become a viable option.

(I have a desktop lying around unused. I’ll give another try with that but I’d probably have to measure the electricity usage and add an UPS)


The nice thing is that you don't have to run a Mastodon instance to partake in the fediverse, there are a number of other server platforms that can be used. Another popular one is Pleroma[0], which to my understanding is much lighter-weight.

[0]: https://pleroma.social/


If people dig that kind of stuff, then sure, go right ahead.

As for me, I really don’t enjoy being a sysadmin in my spare time.

YMMV.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: