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/
Linux
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
every image and video you see is cached by your own server
Even videos and images you never see get cached. I barely use Mastodon and my server still uses around 50GB space.
Lemmy is A Lot better in this aspect
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.
Don't do it with an SD card. It will corrupt and crash after a few months.
With an SSD, yeah it would totally work well. :)
Check out https://masto.host/ for managed hosting.
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.
SD card is a hard no. Need to cram an NVMe hat on it or an external SSD or HDD. They need diskio and a fair bit of quickly recyclable space.
A VLAN is not a security feature. Be sure that your firewalls and routers are configured properly and kept up to date.
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.
as your router will happily forward packets to the next vlan.
If you allow it. Good routers should block forwarding by default, other than VLAN1 to WAN.
Yeah, I meant: isolated vlan
Pretty sure that'd rip your microsd in half really quick.
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.
Following along with interest.
Going for Yunohost on your Pi4 can make things easier, just follow the Yunohost documentation, and later you can ask help in the Yunohost forum if needed : https://yunohost.org/en/install/hardware:rpi34 Instead of Mastodon you can install sometimes more light weight and simple, like GoToSocial : https://apps.yunohost.org/catalog?category=social_media
A raspberry pi isn't fit for hosting public services. Your likely looking for a VPS.
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.