Self hosting my own Lemmy instance was so much fun

maor@lemmy.org.il to Selfhosted@lemmy.world – 224 points –

Y'all should try it! I loved seeing it popping on other instances' /instances page, and seeing it polling other communities. Also changing the background in my theme was lit.

Lemmy's hosting documentation is a bit rough around the edges, especially the ARM situation (and its contemporary solution), so I had some extra tinkering to do. No shade at all yeah? I appreciate every bit of their work and I jotted down some points that I need to consolidate into a documentation PR soon.

Anyway, I feel like the extra @... on our usernames should be worn as a badge of honor you feel me? ;)

72

What are the storage implications of setting up your own instance? Are you syncing the contents of every sub or just the ones you and your friends subscribe to? I like the idea of doing it but will it be TB’s of content in a few months?

Just the ones people subscribe to.

I have an instance with over 600 users that has been up 6 weeks, and the storage grows every day. Database is 22GB and image cache + uploads is 30GB. In theory the cache should be cleared after a certain time, but I'm not aware of a configuration setting for this in Lemmy.

You nailed it, it only pulls posts from communities that someone on your instance subbed to. It doesn't even pull retroactively; your instance only starts pulling posts created after the first subscriber on the instance subbed.

I'm more concerned regarding media, because just like Mastodon, the pics themselves are copied from other instances onto yours. I hope it will be enough to just find -mtime -delete once in a while

3 more...
3 more...

Also seeing the federation happening live at tail -f /var/log/nginx/access.log is so satisfying. I think I like computers

It’s also interesting to see how many random webcrawlers are out there! When I was first setting up my instance I was spot checking some IPs and found all sorts of interesting security services.

I think I have the tech know-how to do it, but what worries me is that users could post illegal content, which my instance could then pull in. Since it’s on my storage, I would be legally responsible for that. So I’d have to constantly check, probably. How do others do this?

Thats what worries me as well. I‘m an aspiring self hoster. Got many services but still learning. Having to deal with authorities is not something I look forward to.

For CSAM in the US, you have to have actual knowledge to be responsible for reporting. If you view the image or it is reported, you must act. Its pretty much the same for DMCA.

The risk is pretty small IMO, especially if you (or your friends) are the only one that use your instance (with registration closed so no random users uploading stuff to your own instance). If you disable nsfw on your instance, the chance of storing illegal images should be pretty low, especially if the communities you subscribed are moderated as deletion from mods will eventually processed by your own instance. If this still worries you, just nuke pictrs directory every few months, perhaps automatically using a cron scripts that delete images/gifs older than a few months.

Interesting, thank you. If a user uploads something illegal to another instance, and a mod takes it down, does that deletion then also reliably propagate to my instance?

Unfortunately, I can't say for sure if your instance will reliably get the deletion requests and process them. I did a small test to see how deletion works a few days ago and it doesn't seem to propagate reliably as the deleted comment is still up in another instances, even now, though other instance such as lemmy.world seem to delete it. Not sure where it went wrong either, could either a bug, instances get overloaded and didn't receive activitypub message correctly, or OP's instance was improperly configured, but I sure hope it's just an isolated incident.

Like I said before, If this still worries you, you can just delete older image files in the pictrs directory every few months to make sure you don't host user-uploaded files for too long.

Thank you! That’s very useful in considerations.

1 more...

I've just gotten my own instance of Lemmy running here and think I'm getting the hang of how to subscribe and link up to other instances. This is also a teaser to see if my first comment actually works!

It does indeed!

Thanks for confirming before I could bruise back to Lemmy world, find this post and confirm for myself.

It is cool, but lately there has been a bit too much hassle with it - my instance (latest versions mind you) is federating like shit.

There are often posts with wildly different upvote and comment counters, comments not loading at all even after days and so on.
I tried looking into it, both in issues on GH and Matrix room but no-one has time:/

It was a fun experience trying to get to all work. I did originally try on my raspberrypi but I ended up just giving up on that due to the issues you mentioned. But it's nice to have my own instance, and slowly populating the all feed with new subscriptions and well I owned the domain va11halla.bar I had to use it for my name.

I wish someday self-hosting anything (not just Lemmy) becomes as easy as installing an app. Self-hosting doesn't need to be a nerd thing.

The hard part is the network. Everything is different with different ISP. The DNS is another challenge, you need to buy your 'internet real estate' and have it work correctly if your IP change.

Security is another challenge but I think it's easier to notice unusual traffic from your basement server than from a mega-tech-bro-corporation. There's probably some easy software that could do that.

I'm running my own server on a linode. I've got it on the cheapest tier which is $5 a month. I'm not quite sure what I'm going to do when the 25GB gets full, I'll have to find out the best way to delete old posts and pictures.

Keep the activity table on a tight leash.

Yeah, I've heard of people using cron jobs to automatically clean activity older than 3 days.

I'm not sure what can be done about image staking up a lot of space, I imagine that'll take up a ton of space after a while. Not sure how that could be cleaned up safely.

I'm enjoying worrying people with my vanity domain. My instance is essentially single user (me and a couple selected friends)

The more I see this community the more I think about starting a mastodon/Lemmy instance of my own. I used to have a home rack setup, but a 1U in an apartment isn’t ideal. I’ve cut down to just a old desktop with a pair of redundant 8TB drives now and might have to spin up a cheap vps somewhere.

You can go a looong way hosting stuff on ultra-small form factor business PCs

We really need a CPanel/Softaculous installer like we have for wordpress etc. Would love to host, but atm there's so much backend config for JoeDev to deal with.

I wanna look into self-hosting my own Lemmy instance some time. Once I have more time to figure it out with my home network local server w/ public cloud VPS OpenVPN server setup (likely with Docker containers too) I'll take a look into it. You're right, it'll likely be fun and right up my alley too.

Is there a community for troubleshooting self-hosted lemmy instances? Mine has issues showing search results and adding other instances. Unfortunately there's not a lot I can find with my Google-fu.

I’ve been trying to get lemmy broken up to microservices for my Raspberry Pi k3s cluster. I have postgres running but I’m well outside my comfort zone trying to learn how kubernetes works. If I stand up the other microservices (pictrs and lemmy) do I just need to use the same namespace? How do I tell it the server url/fqdn/ip for postgres? Does metallb do that for me?

Will set up one later on too, glad to hear it was a joy to tinker with, looking forwards to it!

I would love to do this but I'm afraid of exposing my home IP to the world of spammer and what not. Did you selfhost on a cloud provider or did you do it from your home ? How crazy does the security need to be around Lemmy instance ? I really feel like it's a beacon of come hack me if you can!

One method that many people use to hide their IP address of their host is to use Cloudflare for DNS, that way you don't directly expose your IP address to the wider internet. A nice bonus to Clouldflare is that it's free too! Just get yourself a domain, get Cloudflare set up to provide DNS for it and you're golden.

Cloudflare tunnels! I use it to expose my nextcloud server to the internet. Works flawlessly.

Wow, I'll look into this, thanks !

I ended up getting a cheap VPS to use for Lemmy and Matrix for exactly that reason. They didn't want to play well with Cloudflare proxy, so the VPS was the easiest solution.

I just rented a VPS from Hetzner because that's the workflow I'm already familiar with. Lowest tier, 5$, and since it's ARM it's also beefy enough to never need an upgrade I hope :P

I definitely need to get my own instance set up. Ideally, I'd like to run it on a pi of some sort, but may choose a container on proxmox instead. Any advice for these options?