Lemmy bandwidth requirements

corroded@lemmy.world to Selfhosted@lemmy.world – 18 points –

I've been considering the idea of hosting my own instance of Lemmy, solely for my own use, maybe with 1 or 2 family members using it as well. I've seen several discussions regarding the requirements for system resources, but not much regarding bandwidth. I have an abundance of processing power, memory, and storage space in my homelab, but my internet connection is terrible. Not much available where I live. I have a 40/3 VDSL connection and a Starlink connection, but neither is particularly good in terms of upload.

Seems like a VPS would be a good solution, but to me, that kind of defeats the purpose of self-hosting. I want to use my own hardware.

So, for a personal-use Lemmy instance, what kind of bandwidth is recommended? I know my connection would be fine for 1 or 2 users, but I'll admit I'm not entirely sure how servers sync with each other in a federated network, and I could see that using a ton of bandwidth.

7

You could make a wireguard tunnel to a cheap VPS and connect that via Starlink. Then if you configure nginx on the VPS and allow it to cache most images you can save a lot of bandwidth on your uplink from home. I guess Cloudflare also offers a similar VPN with caching that might be easier to setup.

I think Starlink itself might actually have sufficient uplink bandwidth, but AFAIK they have a CGNAT so you can't really host anything on it without the above mentioned trick with a VPS and a VPN tunnel.

Most of your traffic will be incoming, not outgoing. Unless you are posting to a community hosted on your instance the only time you send stuff will be when you post or comment, and even then you only send that to the instance hosting the community.

edit: Also if you post an image in a post/comment that would get loaded from your instance.

Image hosting will be likely the main issue. But you can severely limit the upload size to prevent yourself from accidentally sharing a too large picture.

Yeah, you could also set up some sort of caching proxy in the cloud just for images and host those on a different domain (e.g cdn.lemmyinstance.com) if you want to host large images still and be as self-hosted as is possible given the constraints.