I ran my own Mastodon for a while. While it does work, it takes up a ton of storage (every image and video you see is cached by your own server). It also doesn't work great for viewing stuff like replies and older posts, since backfilling is still not a thing. I ended up just browsing on remote servers instead.
A great blog post about this: https://jvns.ca/blog/2023/08/11/some-notes-on-mastodon/
If it's a personal server for yourself and maybe some friends and family, I would rather use GoToSocial, as it is much more lightweight and is less complex to set up and maintain.
You can migrate away from them if you ever want to.
If you self host instead, make sure your server is on its own vlan. Servers are a target for exploitation, and you don’t want the rest of your home devices exposed if your server is compromised.
Note: A Pi probably has the CPU power, but the caching from the server may be more space than an SD card will hold.
Yeah, this is an important point tbh. Vlans alone don't add any security if your firewall doesn't do something to prevent it, as your router will happily forward packets to the next vlan. It should be on a DMZ vlan, meaning traffic is allowed in at the firewall but not to any other internal vlans.
Because it's cheaper (barely but still), smaller (fits right into the Pi and its case) and more convenient (no adapter). When one just got a Pi that might even be sold with a microSD then they'll use that.
I'm not arguing it's the right thing for data intense usage but the "why" IMHO is pretty obvious.
If you're using a SATA SSD then you don't even need an enclosure, just a cable like this StarTech USB 3.1 one: https://a.co/d/0fBSMs7
The SSD is already in an enclosure (the case of the SSD), so placing it inside another enclosure is redundant...
NVMe SSDs aren't worth getting for the Pi 4 because it doesn't have a PCIe bus, so you'll only be getting USB speeds anyways. A SATA SSD is fine for that. Still aorund 4x faster than using an SD card.
Have you looked into nostr? It offers most of the same features of Mastodon except that:
Your identity is not tied to your instance. If your instance closes up shop, you keep all your followers, followees, DMs, etc
You can send encrypted DMs, so your instance admin can't read them
Cool tipping functionality so you can tip people if you like their posts. Or don't use it. It's optional.
Most nostr clients have some built-in filtering functionality to block out things that are NSFW, crypto-related, etc. Different relays have different moderation policies, much like mastodon instances.
I tried reading up on Nostr the other day, and came away finding it unpalatable, mainly because my understanding was that upvotes are tied to crypto.
The way I read it, you need some sort of crypto currency to pay for upvoting a post, from which I inferred that the only reasonable gauge for a posts popularity (upvotes) was intrinsically tied to money (and crypto-money, at that).
Is this a reasonable assessment, or did I misunderstand something?
Your understanding is not correct. You do not need to use crypto at all to use the platform. There is an optional tipping mechanism where you can tip people via BTC lightning if you like their tweets. It's pretty fun to use, it's fun to receive tips from others when they like your post. But you don't have to.
You can still post, like, re-tweet, reply, DM, etc with no crypto whatsoever. Crypto is not tied to upvotes/visibility unless you specifically set it to filter that way in your client.
One benefit of having crypto integration built-in is that it can provide a sustainable funding mechanisms for relays. You can use "pools" when you send tips. So when you send 10c in a tip for somebody's post, you can elect to have 1% go to the relay maintainer, nostr development, or any other destination you choose. This problem of subsidizing hosting is a problem ActivityPub doesn't has any real solution for.
On Activity Pub, instances may choose to run ads, issue badges, or otherwise pay for hosting, but if AP is going to scale to the level it needs to get to, we can't rely on the altruism of instances to just host everything for free. If we do, we will end up in a centralized social media mess like we're trying to get away from in the first place.
There are many ways to solve this problem of needing to pay for the network infrastructure, but nostr is the only one currently that has a workable solution.
Your identity is not tied to your instance. If your instance closes up shop, you keep all your followers, followees, DMs, etc
This is one of the major advantages Bluesky's protocol (AT Protocol) has over ActivityPub. ActivityPub doesn't have anything built-in to support this. On Bluesky, you can use your own domain name as your username, and freely move from one server to another while keeping the same username (once they open up federation). It's configured through a DNS TXT record.
No, but some functionality could be bolted onto it for that purpose. But it is a federated network, just within it's own protocol. Fediverse (Mastodon, Lemmy, Kbin, etc) run on an underlying protocol: ActivityPub, so they can all federate with each other within ActivityPub.
Nostr runs on an underlying protocol also confusingly called nostr. Nostr's main "interface" is a twitter clone, but the underlying protocol supports things like video streaming sites etc and some interfaces have been built for that purpose.
I'd run it with Docker. The official documentation looks sufficient to get it up and running. I'd add a database backup to the stack as well, and save those backups to a separate machine.
A Pi 4 draws maybe 5W of electricity most of the time. 24/7 operation at 5W will be your cost (approx 44 kWh per year), not including cost of the Pi, your internet connection, and any time you spend on maintenance.
I'm not sure if its true for Mastodon as well, but I read that self hosting a Lemmy instance was actually more work for the other servers to federate unless you had many users on your instance. Just something to keep in mind.
I would not suggest mastodon for such low powered hardware, its also overkill for a personal instance. Akkoma or GotoSocial would work much better on a Pi. The annual cost is pretty much just 3-15$/year for the domain name.
Not that I know of, but most likely. If you're new to hosting, maybe look for automated tools that does the heavy lifting for you - Like how Lemmy can be installed by copying and pasting a single command.
Beyond power/internet, you can host for free. Subdomains can be free, I assume you have the hardware and pay for power and internet anyways.
Maybe not high traffic services, if it's being self hosted the limiting factor is probably the upload bandwidth anyway. I'm not sure how resource intensive Mastodon is to host though.
I have a Pi4 running a mastodon branch, the "dreaded capacity hog" synapse and much more. Never had any issues with capacity. I know people who set up Pi's as CDN relief servers for PeerTube video transfers.