Let’s say I decided that instead of blogging, I wanted to host my own Lemmy instance that contained a maximum of one (1) user– me, but allowing other users to subscribe.
To show what I’m talking about, look at how kaidomac uses Reddit as his own personal microblog, which people subscribe to.
What is the cheapest way to do this?
My mental model of Lemmy is that if I were to do this, the instance would still be caching information from other instances. This would– at least in my mine– add up in costs.
I’m a software engineer, so feel free to use technical jargon.
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*1 year *%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.
… for a small web server.
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.
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
The problem for me is I believe you need to open your network firewall for Lemmy and other federated services to work right?
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.
Here’s how it works:
The Tunnel daemon creates an encrypted tunnel between your origin web server and Cloudflare’s nearest data center, all without opening any public inbound ports.
After locking down all origin server ports and protocols using your firewall, any requests on HTTP/S ports are dropped, including volumetric DDoS attacks. Data breach attempts — such as snooping of data in transit or brute force login attacks — are blocked entirely.
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.
Alternative question– I use Zola and Github Pages to host my website. Does ActivityPub have support for blogging? Like let’s say people on Lemmy or Mastodon could subscribe to my blog through ActivityPub?
From what I can tell Zola does not have anything like this (tried searching GH issues), but I just want to know if it’s technically feasible. I can write Rust, so I could have a crack at it myself if it’s not too cost/effort prohibitive.
Does ActivityPub have support for blogging?
From what I researched some time ago: There are/were some federated blogging systems out there but they’re all stuck in the pre-Docker era installation-wise and technology-wise (i.e. just outdated).
But in the end it makes no sense in my opinion. Blogs nowadays are just publishing and less networking/interaction.
A simple file loader and markdown parser could be enough. I set up my page based on Apache directory listing, a custom Action to parse markdown files, and some fancy CSS. There is figuratively nothing that runs my page, except a web server and a markdown parser.