I made a guide on how to go from zero to hero: Self hosting a lemmy server. All you need is an old pc, a thumb drive, and some time.
Please let me know if there are errors. This is the first draft. Thank you!!!
If you wrote this guide, please consider improving the official Lemmy documentation. It’s getting better, but it could really use some work. As recently as the 0.17.4 release, it was pretty much useless.
I will consider, thank you!
Minor point I noticed is that you referenced Google domains. Google is killing this service so you might want to replace it with something else.
Why not Debian 12 as it has been released officially? Is it not compatible with Lemmy?
You should use a static IP address for a server. DHCP is OK as long as it always gets the same IP.
I would suggest putting in either screenshots or example output of the terminal commands so that people can ‘see’ what’s going on or what to expect to happen. Remender that your audience might be very new to Linux.
Hopefully you’ll find these suggestions helpful. I didn’t actually perform each step myself, so don’t take this as a thorough review. 😉
I referenced Google domains because that’s what a lot of people are currently using. I thought about not mentioning it but it doesn’t really matter which registrar you’re using at the end of the day.
I chose Debian 11 for stability and compatibility with other user friendly hosting options, such as Yuno Host. As far as I’m aware, Yuno does not currently support 12 yet. (I don’t recommend installing Lemmy through YH as it’s on an ancient version and doesn’t support photo uploads nor phone apps)
You do not need to use a static IP with cloudflare as long as you use ‘localhost’ instead of 192.xxx.x.xx because cloudflared (the cloudflare tunnel software) runs on the server locally, and can detect changes in IP.
I’ll probably add screenshots if I get a second request for them. Screenshots require performing the actions proper and I didn’t have a test environment ready when I wrote this. Might make a video and add screenshots from that, we’ll see.
I found your suggestions incredibly helpful! Thank you for taking the time to share them with me!
Thanks for the guide. It will make self-hosting more accessible.
Cool! I might give this a shot just for a hobby/challenge and to learn. I’ve never dabbled in this kind of thing before.
Cheers and thanks for this guide! Saving it for later.
Let me know if you run into any problems! My goal is for this to be the go-to guide for beginners, so any mistakes at the beginning I’d love to buff out! Cheers.
You should share this on !programming@programming.dev
Have you considered using Yunohost instead? I think it would let you skip a few steps?
Lemmy for Yunohost is still running Lemmy version 0.16.7, which does not support phone applications (Connect, wefwef, etc). It also doesn’t support photo uploads of any kind. Until these two issues are resolved I cannot recommend it.
Ah, I didn’t know that. Seems like they would need to find a volunteer to maintain that.
deleted
One question I had after reading through. With the current design you have, would it be correct to say all traffic between your server and cloud flare would be using http and thus unencrypted? This would also mean user logins would be visible between your server and cloud flare.
Let me know if I missed something here!
As far as my understanding goes, the traffic between your server and cloudflare is unencrypted. If that bothers you, definitely do not use this solution.
It is possible to encrypt your traffic server side as well, I simply do not know how to accomplish this.
Does this work if I’m behind a doubleNAT?