10 ms·
> The server has also gotten too large and too complex for me to administer. I always suspected this would be a massive problem with Mastodon. I contemplated r
by spiderfarmer 4y ago
> The server has also gotten too large and too complex for me to administer.
I always suspected this would be a massive problem with Mastodon. I contemplated running a server, but there's no way to know beforehand when you'll be running into a limit, like cost or time. Can you really build a social network on volunteers that invest their own money and time, with little reward?
- berkes 4y agoThe tech also doesn't help. It's a "typical" Rails application: large, convoluted, lot's of moving parts, and services, and generally slow as molasses (solved by throwing more hardware at it). As experienced Rails dev(ops), I managed to run and help run an instance, but it's not something done on a friday afternoon, let alone scale up. What we really need in this landscape is dead simple services. I'm thinking about the difference between setting up a gitlab or a gitea. The first is Rails, needs ruby, gems, bundler, workers, database server, redis, mailserver and whatnot. And thats for manually installing on a server - no pipeline or anything to manage future changes. The second a single binary (pre compiled from a go codebase) everything statically linked (even sqlite is built in, with option to upgrade to postgres). Plop it on a server start it and go. For an intranet you might even skip putting a server/https in front, just run on exposed ports. We can dockerize all the ruby-stuff, but that might make it easier, it doesn't make it simpler, it really makes it more complex. And the performance-issues aren't solved. The fediverse needs this as well: just plop a binary on your VPS or homeserver and you're running. Such lean and simple servers are being worked on, but Mastodon itself is a huge, slow and hairy beast.
- noirscape 4y agoThere are plenty of other choices. Pleroma[1] is probably the biggest competitor and is lightweight enough that you can deploy it on a raspberry pi. It's written in Elixir which takes a bit to set up, but the devs offer OTP releases that don't require you to have Elixir installed to use it and are the closest to "single file" deployment you get. Resourcewise it takes up only a fraction of what Mastodon demands in terms of memory & cpu usage. DB backend is postgres. It's also by default far less cache heavy than Mastodon (which caches every external attachment, avatar and header locally, which causes a lot of issues since it's the main reason instances run out of disk space). Featurewise it actually surpasses Mastodon on almost everything except for not offering a tweetdeck-like UI. [1]: https://pleroma.social/ https://pleroma.social/
- knewter 4y ago1) https://github.com/soapbox-pub/soapbox https://github.com/soapbox-pub/soapbox is a frontend that works atop either mastodon, pleroma, or the rebased backend 2) https://github.com/soapbox-pub/rebased https://github.com/soapbox-pub/rebased the rebased backend is a fork of pleroma but it's much better maintained than pleroma
- noirscape 4y agoI would advise against soapbox actually. The developer got kicked off the Pleroma project after badgering other maintainers[1] (which he admits to doing) for reverting a technical decision he forced through after it was deemed to be not very useful to the project and encouraged bad practices (the fediverse uses a protocol called WebFinger to find other users, the developer wanted to add a bunch of alternate endpoints to avoid having to use WebFinger for his personal frontend). He also had a history of more bad technical decisions to make Pleroma's backend cause problems with with the rest of the fediverse if the rest of the fediverse doesn't use his custom frontend and insulting developers who pushed back on that decision[2]. Better maintenance seems like a really dubious claim when the lead maintainer is this unwilling to co-operate with the existence of other tooling and openly insults anyone disagreeing with his technical decisions. There's also a couple of PR reasons to not want to associate with him, but those are largely off-topic. The rest of the Pleroma project by contrast is fairly stable and it's developer team has been nothing but polite when it comes to handling support issues. [1]: https://blog.alexgleason.me/pleroma-is-dead/ https://blog.alexgleason.me/pleroma-is-dead/ [2]: https://hacktivis.me/articles/Update%20on%20Pleroma%20Maintainance https://hacktivis.me/articles/Update%20on%20Pleroma%20Mainta...
- knewter 4y agoI know Alex. He's a really good dude.
- P5fRxh5kUvp2th 4y agoCan we stop villifying people we disagree with? I've seen it so much, I'm more inclined to believe it absolutely didn't happen that way.
- mschuster91 4y ago> The fediverse needs this as well: just plop a binary on your VPS or homeserver and you're running. Such lean and simple servers are being worked on, but Mastodon itself is a huge, slow and hairy beast. Even if you get the tech stack solved to an easily deployable package: The problem is you still need to invest immense amounts of time on moderation. Some of that responsibility is enforced legally (e.g. CSAM, warez, US COPPA, EU GDPR, German NetzDG), some of it socially (e.g. kicking Nazis, conspiracy spreaders or other forms of hate speech out), some of it by the federation system (e.g. kicking spammers out) and some of it you need to do to keep your community healthy (e.g. kick general trolls and creeps out). If your instance allows adult material, gambling or games, you'll need to moderate your instance as well in some jurisdictions. And you'll need someone always available to support police, court and secret service requests. Maintaining a service that hosts user-generated content is a thankless nightmare, and no matter what you do it is a huge liability. In the end, either you make your users pay for it in cash (subscription fees, patreon/gofundme/paypal donations), with their data (advertising) or you'll eventually burn out (such as the author of the blog entry). Oh, and add on top of all of that the constant dealing with abuse: 4chan edgelords DDoS'ing your instance "for the lulz", random skiddies constantly running exploit scans against your server (which additionally means you have to have someone 24/7 to upgrade software in the case of a 0-day), people reporting your server / IP to blocklists to get you booted off the net... then you have to take care of hardware maintenance itself, making backups, testing backups. It's a full time job essentially, requiring an awful lot of time, money and connections (e.g. lawyers).
- Nemo_bis 4y agoDon't forget TERREG. Every website needs to have a person on-call 24/7 to answer potential requests from law enforcement anywhere in the EU to remove stuff they don't like. https://wikimedia.brussels/antiterrorists-in-a-bike-shed-policy-and-politics-of-terreg/ https://wikimedia.brussels/antiterrorists-in-a-bike-shed-pol...
- egypturnash 4y agoI run an instance and I really have none of these problems. Keeping open applications off solves a lot of them, you have to ask me for an invitation and I’m not going to give you one if I think you’re going to be a problem. There’s a Patreon for it that pays the server bills despite it only being a few hundred users. My users even say thanks for running the place now and then. Running a small node of The People’s Glorious Social Network is a very different task than what you are outlining.
- mariusor 4y ago> What we really need in this landscape is dead simple services. I'm working on exactly that: a service that acts as an ActivityPub server (code[1], example[2], example application running on top of it[3]) for users in the form of a static binary. It supports multiple storage backends that can be selected individually or all together at build time and it can be extended to many more. [1] https://github.com/go-ap/fedbox https://github.com/go-ap/fedbox [2] https://federated.id https://federated.id [3] https://littr.me https://littr.me
- rakoo 4y agoThis is exactly what we need. The current landscape of Fediverse is too young: every application involves both functionality, identity and community. So you don't really join a network, but you join a specific community using a specific medium. You can't join multiple communities (ie follow multiple instances): you have to create multiple accounts, you can't follow a full instance but only individual instances. You can't have microblogging and forums from the same account, because they are different applications, so they are different accounts. You can't mix functionalities beyond the most basic, because they are not thought out together. What we need is an AP store, and then applications build on top of it, like your project does. But at this point I question whether matrix wouldn't be a better platform
- mariusor 4y agoI feel like matrix solves a different problem, I believe that ActivityPub and Matrix can coexist. Honestly the very late game plan for the projects I'm working on is to be able gather under a single umbrella a suite of opensource applications to create a meta social network pod that can be easily launched in a similar way to Google apps on a custom domain (ActivityPub and Matrix for a starters). I think there could be enough money in that to gather venture interest, but sadly I'm very far from that moment.
- berkes 4y agoI'm working on flockingbird.social, a "linkedin for the fediverse"[1]. Aside from a job-search bot, I haven't written many software, and it looks like what you are working on might actually be a very solid foundation. It's a pity my go isn't that established (rust and ruby here) but certainly will consider this going forward. Huddling around common base libraries is also certainly something the fediverse needs, rather than re-building AP again in "language X". [1] The hardest part has proven to be the fact that "linkedin" is an entirely different product depending on who you ask. It solves entirely different solutions, depending on who you ask. And it has entirely different features, depending on who you ask. Turns out LinkedIn is quite hard to "copy", "port" or even define for the fediverse. Aside from that this makes it a giant task to do. Is it a place to find jobs? To recruit? To keep in touch with colleagues? To connect with other entrepeneurs? To spam lame motivational quotes? To pitch your book or a Rolodex-on-steroids? Its all of that and more.
- insane_dreamer 4y agoWould a pre-installed docker image be a solution to the setup issue? (Doesn't solve performance, of course.)
- berkes 4y agoNot really. As I mentioned in my comment, it might make it easier, but not simpler. For one, maintenance, probably becomes harder even. And it won't be "a docker image", but a docker-network (-compose, k8s or such) because running requires not just a single service, but a webserver (https), runners (async workers), redis, postgresql, elasticsearch, file-storage and so on. You'd need some 4 to 8 images all interconnected to run it. And secondly, docker isn't omnipresent. I can't just copy a binary into /usr/bin , run it. I'll need docker, networking, docker-knowledge, logging, monitoring and so on. More so: if a docker is a solution to the setup of complex piece of server-software, than certainly docker is a solution to the setup of a simple piece of server-software.
- noirscape 4y agoIt's mostly large if you make it large. I run a single-user Pleroma instance, my fediverse network is relatively small and for the most part I can keep my timeline clean purely by reaction. Even having around 20 users or so is still relatively manageable (used to run an open signup instance in the past). Basically as long as you don't exceed Dunbars Number[1], moderating a fedi instance is fairly painless. External moderation can generally be managed with snap decisions. If you use Pleroma (and you should, it's much more technically competent than Mastodon), you can manually disable external user accounts specifically from federating with your instance. Beyond that, most fediverse servers kinda make it really obvious whether or not you want to associate with them; they tend to be fairly open about what is and isn't allowed on their about pages so if you get a misbehaving user, you can usually see at a glance if the problem is instance-wide or just some random vandal. Your biggest burden really is local moderation, external moderation isn't a big deal at all. [1]: https://en.wikipedia.org/wiki/Dunbar%27s_number https://en.wikipedia.org/wiki/Dunbar%27s_number
- tolciho 4y ago"Why we live in hierarchies: a quantitative treatise" https://arxiv.org/abs/1707.01744 https://arxiv.org/abs/1707.01744 might be a relevant read (Dunbar's Number does come up)
- phaer 4y ago> Can you really build a social network on volunteers that invest their own money and time, with little reward? You can at least use it for existing communities and "social networks": family, friends, geographical communities, hobby- or work-related ones. To provide them a somewhat self-administered space online to connect and share photos and other info. Thanks to federation this community can have its own "space" without being isolated from the rest of the internet. Open-ness can be somewhat gradual. There's lots of different of ways to organize funding and the ongoing technical work for such communities. I think it becomes harder to build sustainable instances the less socially connected the admins are to the average user.
- markstos 4y agoMaking friends is no small reward.
- EarlKing 4y agoYes, you can. However, you will also encounter nothing but grief because of jerks who want to screw it up. For a historical example of how this turns out, see FidoNet.
- TomMasz 4y agoIt's also a governance issue. Any site or service that's run by a single person, whether it's well-financed or not, is subject to burnout, illness, death, etc. Having a team and/or having a succession plan can help insulate from the impact these can cause. I submit as an example Metafilter. Matthowie ran it himself for a very long time but over time built a team that took over when he "retired". It's one of those things that must be put in place well before it's truly needed and doesn't lend itself to last-minute scrambles.
- proactivesvcs 4y agoThe Fediverse isn't just Mastodon, and there are other microblogging platforms. Epicyon is designed to be a lightweight server: https://libreserver.org/epicyon/ https://libreserver.org/epicyon/ "Epicyon is a fediverse server suitable for self-hosting a small number of accounts on low power systems." In a testament to how the Fediverse really does Just Work, I stumbled across Bob, the developer, quite by accident from my Mastodon account and now follow him. His posts, from his Epicyon instance, appear just like anyone else on my home feed and we interact as if he lived on my home server. There are at least half a dozen people I interact with who aren't on Mastodon, either.
- seydor 4y agoThis has been a massive problem with everything since PHP stopped being popular. Wordpress is easy even for a layperson to setup
- berkes 4y agoSorry, but this simply isn't true. Hasn't been ever, really. I say this as someone who set up and scaled one of Europe's large dedicated WordPress hosting platforms. Everything, from nginx-phpfpm to varnish to scaling that horrible mess of plugins and themes your Fiverr dev delivered beyond just five req/min. It really isn't very easy. And certainly not simple.
- seydor 4y agomaybe it s not highly scalable, but WP is easy, millions of people do it. IRC is also easy to setup. Any of the mastodon/Matrix servers are not, and they dont really scale well (which is weird to me, why is it challenging to support a 100 users chat). Decentralized services should be designed to be lightweight ab inition because they are not going to run on supercomputers.