this post was submitted on 07 Oct 2024
93 points (100.0% liked)
Asklemmy
43943 readers
370 users here now
A loosely moderated place to ask open-ended questions
If your post meets the following criteria, it's welcome here!
- Open-ended question
- Not offensive: at this point, we do not have the bandwidth to moderate overtly political discussions. Assume best intent and be excellent to each other.
- Not regarding using or support for Lemmy: context, see the list of support communities and tools for finding communities below
- Not ad nauseam inducing: please make sure it is a question that would be new to most members
- An actual topic of discussion
Looking for support?
Looking for a community?
- Lemmyverse: community search
- sub.rehab: maps old subreddits to fediverse options, marks official as such
- [email protected]: a community for finding communities
~Icon~ ~by~ ~@Double_[email protected]~
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Selfhosting is basically free. You already have an unmetered Internet connection, and sourcing some hardware to run Lemmy would also be super easy.
The “problem” is that setting Lemmy up is quite annoying and complex and involves multiple docker containers and volumes and networks. There are various installation scripts but it is still a complete mess.
It would also result in a metric shit-ton of traffic and data storage.
I'm not sure how much you're willing to write off as "basically free", but electricity does add up for running your own server.
http://www.wolframalpha.com/input/?i=200w%2A1%20year%20%2A%240.14%2FkWh
$245/year assuming constant 200W load which is pretty reasonable for a small web server.
The trick is to have the server do other things like print, Plex, Piwigo, Samba, Shinobi, Frigate, Matrix, etc
My Plex/*arr Intel NUC server uses like 50-75W under heavy load and maybe 5W at idle, and I can't imagine it's not powerful enough to run a small Lemmy instance, so even this figure seems a little high to me.
Same, but even lower (Beelink N95). My whole stack of two NAS units, mini PC, switch, router, and modem average a load of 50 watts.
Uhh... maybe putting a 9700k in my server wasnt as good of an idea as i thought it to be... it eats 74watts in idle... uhhh...
Yeahhhh...
Obviously it can all depend on your requirements, but this N95 system has been pretty eye opening on how much people are over-speccing their builds for home server use. It has 8Gb of memory in it, but I seldom see it use more than 2. The box is doing DNS, Jellyfin, torrenting, VPN, private git, etc.
I should.. probably get one of these n100 mobo that you can find on aliexpress...
It’s not just a small web server. It’s a dedicated server with full root access and 24/7 direct hardware access without any extra costs.
If you were worried about saving energy, you would be running an XMPP server over Matrix. Matrix has similarly expensive requirements as Lemmy but Prosody or ejabberd can hum in the background.
It depends on how powerful of a machine you need. My server only costs about $9.25/mo to run and it is way overpowered for the services I run on it.
The problem for me is I believe you need to open your network firewall for Lemmy and other federated services to work right?
Not really a fan of opening up more attack surface on my home network
Yes, of course. Or search for an external reverse proxy. Cloudflare offers something like this. (You set a Cloudflare server IP as target for your domain and then tell Cloudflare your IP and all traffic is routed over the Cloudflare ecosystem so your actual IP is not publicly used.)
I just opened port 443 and forwarded it to my Docker host and have NPM running there, handling all the forwarding to the individual containers, based on the request, but due to my day job I know what I’m doing :)
I would still always be worried it'd been silently bot netted or something if it's accessible, even through cloudflare
I guess cloudflare does a lot to stop attacks from bots though right?
I never tried it personally but I assume you're pretty save.
https://www.cloudflare.com/products/tunnel/
Does sound pretty reassuring assuming all that works for non http traffic too
I just checked their FAQ. They have information about SSH, SMB, RDP, connecting private networks (VPN), etc. available. I did not dig deeper regarding specific ports, though.
You could always use a reverse proxy on your side just accepting port 443 connections (https) and forwarding to a specific docker container using a specific port without the outside world even knowing.
It also works through reverse proxies.
Is that not essentially the same issue as opening your firewall though? You're still taking requests from outside your network into your network without any authentication until they actually hit the server
Really depends how many instances they want to federate with. I run a single user instance for all of my personal Lemmy use. Looks like it is using 20Gb of bandwidth per week, and the VM it runs on only has 32Gb of storage (and it runs other services, too)
Did you follow these instructions?:
https://join-lemmy.org/docs/administration/install_docker.html
If so, did you find they “just worked” or was there troubleshooting involved?
I’m interested in self-hosting but very busy lately with little time to spare for tech troubleshooting
I used the Lemmy Ansible method to deploy. At the time that I first installed it, it was the recommended method vs a docker compose. It is a little bit of setup, but is pretty simple to get going. Just follow the instructions and it should just work.
If you don’t mind my asking, what’s your level of IT expertise?
Have you administered servers, used ansible, etc?
I'm a software dev with quite a lot of experience in server admin. I'm also a full time Linux user, and run a lot of services both at home and on a rented VPS. I had oddly enough never used Ansible before, but the instructions on that GitHub page should make it pretty simple.
Lemmy is definitely the most pain in the ass service that I self host. Most annoyingly when something goes wrong I can't just go on Lemmy until I feel like fixing it.