Fosstodon Hub – More Upgrades
hub.fosstodon.org
hub.fosstodon.org
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?
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.
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!
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.
https://docs.joinmastodon.org/admin/prerequisites/
(I don’t run one myself so would be curious if any admins have tips or suggestions.)
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)
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.
I just want a container or a small binary I can run on my server for myself.
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)
As for me, I really don’t enjoy being a sysadmin in my spare time.
YMMV.
I am running https://github.com/superseriousbusiness/gotosocial on a micro instance, probably using 100M ram, with a 30M sqlite database.
True, I don't have all features. It is pure backend, but I can use https://pinafore.social/ as web client and https://f-droid.org/en/packages/su.xash.husky/ as Android app. It implements a good chunk of the Mastodon API. I also use it from Emacs with mastodon.el.
Took me 35 minutes to setup. It runs as a single binary from systemd. Most of the jail features enabled. Not even a system user (DynamicUser).
Mastodon != Fediverse.
Unfortunately raspberry PIs are few and far between.
Monetization would be chaos.
~2000 USD seems slightly expensive for what they are doing, to be honest. ~900 USD would give you a 32 cores (AMD EPYC 7502P), 1TB RAM and ~15.36TB storage over at Hetzner, just a single instance. Double that and seems they would be covered for quite a while, and it comes just under 2000 USD.
Yes it could be done cheaper, if they did more work themselves. The masto.host service they're using is basically Mastodon as a service - aka they're paying someone to host (and manage) a Mastodon instance.
All in all fair value for the money IMO.
Unless I'm missing something huge, how is $1900/mo for 96GB of database and 700GB of disk storage remotely a fair value? AWS on-demand prices are significantly more affordable than that.
And this is all to support a grand total of 50,000 users? What in the world? Is Mastodon just the most inefficiently written software ever or something?
The Fosstodon admins run the moderation side, but masto.host (their service provider) is paid to keep the lights on.
I'm not saying they couldn't find a less expensive solution with AWS or Azure, but they need a solution now. They don't have the time to learn a new solution, design the system, and then implement a new backend while people are swarming to their instance. Migrating to another solution (even the above "box") means significant downtime for 50,000 people.
Yes, it's notoriously bad.
I feel like it's a bargain social media, both in feature-set and cost.
(I don't understand the server cost breakdown either, and I don't pretend do. Just doing an empirical comparison).
Not trying to be a smart arse - it’s just that the obvious pick (Twitter) has been aiming for revenue from the beginning and haven’t really delivered.
>has been aiming for revenue from the beginning and haven’t really delivered.
In 2021 twitter had 5.08 billion dollars of revenue. Their ad revenue divided by DAU was about $20. No mastodon instance is close to getting $20 per active user per year.
It doesn't actually list where and how the service itself is hosted, it just says "Fosstodon hosting" and the amount. I'm looking to understand what hardware is being used and where it's hosted.
>> "The data centers used for Masto.host are from OVH and are located in France."
So probably whatever OVH offers.
That'd be more helpful if it narrowed it down a bit more.
OVH offers ranges from 8 USD/month for a virtual CPU core in public cloud to like 1500 USD/month dedicated instances with 24 dedicated cores.
I'm sitting here waiting for a slot to open up on `mastodon.art`, but the same story will play out there i'm sure too. How is it paid for? How can i help? Most people won't, but i'm happy to pay a small fee to hopefully offset my footprint cost. I just think Mastodon needs features to reduce this friction as best as possible.
.. though maybe it has them already? I've never hosted an instance so what do i know?
Here's the Mastodon.art one for example (they have two other crowdfunding services as well, linked on their about page): https://www.patreon.com/mastodonart
I think it's going to be OK. People who migrate to Mastodon are the kind of people who understand why it's good to contribute to your instance if you can afford to do so.
Not sure if it makes sense, just trying to explain what's going on in my head. As i have debated that exact question myself, internally.
Culture and rules: In this case this means how nudity is handled, whether anyone will care if you post spiders or gore without warning, some specific rules about AI-generated art, etc.
I can confirm that mastodon.art feels cozy and well-moderated, been there for years, also a financial supporter. Another sign that they care is that they've closed registrations, instead of trying to instantly moderate 3x the users. They've recently silenced mastodon.social, which again is mostly about calming down the local discovery features (you can still follow/be followed). They are blocking instances that encourage copyright violations, etc.
If you want an .art account, IMO right now you should start on one of the other instances they recommend, and move your account later. You can browse the local .art timeline and their view of hashtags without an account.
That said if the cost was a bit lower i was mildly tempted to standup a Blender community. However that seems like a lot of work, in addition to being a bit expensive.
I don't think it's about pushing an agenda. Each instance can only set the rules for their own community. Dozens of art-related instances have popped up like mushrooms overnight, so there is a good chance people will find one where they agree with the rules of the house. And it's easy to move to another instance later.
(I say credible, as in not just a tiny instance with no idea on longevity)
Welcome to the fediverse, where not everyone is on the same big server: There is wandering.shop if you're into writing. If you're into dinosaur paintings, go to sauropods.win. If you like math-art, it's very much on-topic on mathstodon.xyz. Try inkblot.art if you like non-conventional instances. Or genart.social if you like algorithmic art.
Those are just the ones I discovered by accident recently, without trying. Try picking a general instance you trust, and browse an artistic hashtag there. Also, most general instances are okay with art (try the #mastoart hashtag).
(Also the three instances recommended by .art when you try registering there. Probably not for you if you don't like .art.)
But, I don't see why we have to assume this is the instance admins having an "agenda" and trying to "pressure other instances to limit users' freedom". Maybe they just want to run their instance their way -- the ultimate freedom!
[1]: I think I may have stumbled across the mastodon instance that you use. I can see why you might feel strongly about mastodon.art's policies.
TBH I think it might've been a mistake from mastodons side to allow media hosting. Running ffmpeg in the background to transcode video, the image optimization scripts and the hosting of it all gets a bit costly.
I might be wrong on this, I don't run an instance myself, but in my perspective cost cutting should be prio number 1 even if it means you have to cut back on some features. Removing toot edits should allow for a more aggressive caching strategy etc.
This should allow more people to start their own instances without being afraid of potentially hitting it big.
how come this isn't being used by activitypub to offload server work?
you dont even have to use ffmpeg, just dump the video directly and get encoded videos back...
if your server is NOT running FFMPEG, that is potentially more resources available for actual server work
Because ActivityPub is the same thing as HTTP, a protocol for exchanging information. Basing a protocol around the idea that you send data to a closed-source platform goes against the whole idea of creating a open protocol in the first place.
Not to mention it goes against the idea and culture behind Mastodon as well, as bunny.net doesn't seem to be FOSS at all.
Interesting, when you compare that to Twitter:
While Fosstodon is a more of loose collective of people spending their free time trying to run a free service for a community around FOSS, with optimizations geared towards making the service itself cheap to run but still resilient and performant.
That they end up at different costs per user at that scale (or even more) makes a lot of sense in my head.
That said... CxO of masto.ai probably aren't paid 100s of millions$$$ and don't deal with international regulatory issues in Slovakia?
Don't feel urged to run mastodon, there are other solutions which are not that heavy (or written in a language you might know better). Check fediverse.party and find your match.
Currently, I have an GoToSotial instance for my family. For single user I propose microblog.dev
Also I started implementing my own ActivityPub server, which primarily aims to run on small hardware. But don't wait for that :)
What I already see is that instances get into troubles, not about costs. It's actually the other way round, they get multiple times their server costs in donations (without the proper business to receive donations) They lack people for administration, moderation and now handling of abuse notifications is getting a thing. And pretty much soon I expect first data privicy violations which end up suing the admin who is working hard on her/his free time to keep the service up and running. It would be really sad if capitalism succeeds to take down mastodon. It's the first time after email where a federated protocol got much attention.
I have a few issues/improvements I'd like to report, but I don't use Github.
Holy cow. This is just one instance in the Fediverse. For me the moral of the story is that we are all incredibly valuable to Twitter if they can do all this and more without charging us anything. Also, it makes me want to quit social media all together.
I'm on ioc.exchange and I'm contributing to their hosting costs, but how much is it worth to me? $5 per month? And I'm also contributing to Tusky, my open source Android Mastodon app of choice, as well as a handful of other projects on GitHub. Is this what it takes to disrupt the big tech companies and their surveillance capitalism?
While Mastodon is a bit rough around the edges, it has that same sort of excitement to me when I signed onto Twitter back in 2006, and most of those same friends/connections from those early days have been migrating. Based on the numbers floating around, I think it has enough traction now/critical mass to be it's own pretty exciting thing. While a lot of instances will fail, I don't think economic sustainability is actually a showstopper. Patreon, OpenCollective, any number of tools can handle recurrent donations enough to sustain larger instances, and there probably will be some alternative approaches as well. Migrating accounts between Mastodon instances isn't perfect, but is a core built-in feature, so while there's a bit of instance roulette, I don't think it's such a big deal. There are tools like https://fediverse.observer/ that might help for picking. It even has a map view, which is pretty neat: https://fediverse.observer/map
Here's a rough view of ActivityPub growth: https://fediverse.observer/stats
FWIW, I decided early on as I started researching into the current state of the Fediverse/ActivityPub that I should probably run my own instance. There are hosting providers that provide Mastodon hosting (although most of them like Spacebear and Mastohost are oversubscribed), but as I was researching, I decided something like Pleroma or Missykey would be a better fit anyway. There are some forks and I ended up using a fork of Pleroma, Akkoma (since, while a bit involved, it has pretty decent docs for setting up w/ Docker Compose and overall seems like the best-performing of the bunch, and has good support for most Mastodon clients). I was able to repoint my account from the Fosstodon Mastodon instance (which included migrating my followers!) to my new personal Akkoma instance pretty easily (the only wrinkle was setting up webfinger since I decided I wanted my canonical account id to not be a subdomain).
For those looking for a bit of an overview of what the current "Fediverse" landscape looks like, some resources that helped me get started:
* https://joinfediverse.wiki/Main_Page
* https://www.paritybit.ca/blog/mastodon-is-dead-long-live-mis...
For clients btw, I'm using Whalebird https://whalebird.social/ and Sengi https://nicolasconstant.github.io/sengi/ on desktop, and Tusky https://tusky.app/ on mobile.
IMO the only correct way to handle this is to close public signups to your instance or require a fee from (new?) users.
But there was no mistake on the admins part initially - they just ran a fun instance for a group of like minded people who shared interesting content to each other.