- You host it yourself
- You can get a cool domain name
- It's pretty low maintenance
So, hear me out... What if we put a scheme in place where anyone who wanted to use the API had to pay for access? And then we charge like 20x what we should to put them out of business. I am sure that would work out well.
Use a site like browse.feddit.de to find communities you want to join and join them. Every instance only "has" their local communities plus whatever remote communities the users of the instance join. With more users it is more likely someone else has subscribed to something you are interested in, but someone on e.g. lemmy.world had to be the first user there to search and subscribe to any community that isn't based on that instance.
It is worth noting (assuming we are referring to the same incident) the Mastodon data wasn't the target of the search, the person just happened to be actively working with a database backup when the FBI executed the warrant and took all of the person's computers and stuff.
To answer what I think you are getting at lemmy scales based on two things:
- Database size (and write volume) scales mostly on what communities are being federated to you. Unless you are .world the volume of remote content is going to massively outweigh local content. On my (mostly) single-user instance I have found this to be the same with Pictrs as well, as it is mostly eating storage to store federated thumbnails.
- Database read load scales mostly on the number of users you have. For a single-user instance this is pretty minimal. For an instance like .world (with thousands of users) I imagine it is significant and scaling postgres to have read-only replicas to scale this load.
~18 hours ago I wrote
My instance has been running for 23 days, and I am pretty much the only active local user:
7.3G pictrs 5.3G postgres
I may have a slight Reddit Lemmy problem
As of right now
7.5G pictrs
5.7G postgres
So my storage is currently growing at around 1G per day, though pictrs is mostly cached thumbnails so that should mostly level out at some point as the cache expires.
To answer your stated question: I run an instance on a mini PC with 32G of RAM (using <2G including all lemmy things such as pg, pictrs, etc and any OS overhead) and a quad core i5-6500T (CPU load usually around 0.3). You could probably easily run Lemmy on a Pi so long as you use an external drive for storage.
If everything you want to run makes sense to do within k8s it is perfectly reasonable to run k8s on some bare-metal OS. Some things lend themselves to certain ways of running them better than others. E.g. Home Assistant really does not like to run anywhere but a dedicated machine/VM (at least last time I looked into it).
Regardless of k8s it may make sense to run some sort of virtualization layer just to make management easier. One panel you can use to access all of the machines in you k8s cluster from a console level can be pretty nice, and a Proxmox cluster would give you this. You can make a VM on a host that takes up basically all of the available RAM/CPU on it. Proxmox specifically has some built-in niceties with gluster (which I've never use, I manage gluster myself on bare metal) which could even be useful inside a k8s cluster for PVCs and the like.
If you are willing to get weird (and experimental) look into Rancher's Harvester it's an HCI platform (similar to Proxmox or vSphere) that uses k8s as its base layer and even manages VMs through k8s APIs... I played with it a bit and it was really neat, but opted for bare metal Ubuntu for my lab install (and actually moved from rke2 to k3s to Nomad to docker compose with some custom management/clustering over the course of a few years).
It depends how vindictive I'm feeling and how blatant/annoying the abuse is. In some cases it is easier to just block the IP and move on. When I do I have gotten mixed results. AWS and Google (usually reporting gmail spammers) are usually pretty responsive.
The only problem there is that if you are going for privacy all of the traffic between your unbound and the authoritative servers is unencrypted. It us certainly a trade-off involving trusting a 3rd party, but with a busier public DNS server there can be a level of plausible deniability due to the aggregation and shared caching involved.
Users are empowered to set what they want their default homepage view to be ("Subscribed" , "All", or "Local"). I am unsure what the default is, but mine is set to "Subscribed" which I think it makes the most sense for most users.
Unless you are on a heavily moderated/defederated server (such as beehaw) whose moderation policies, politics, etc. you are aligned with it is very likely that "All" is going to contain something that someone doesn't like. I am personally not in favor of over-policing what users do outside the confines of their home instance, it's a fine line that I haven't had to define too clearly yet so perhaps my thoughts here will change.
If you don't like what's in "Local", then to me that is a sign that the instance isn't for you. Local is a reflection of the sort of content that users on that instance want to see more of. The admin allowing such content is not necessarily an endorsement (unless they were the one to actually post it), but is tacit acceptance of that content and the community that content exists in.
I think some way to make a "Curated" feed of posts only from certain approved communities would be a welcome feature and present a useful middle ground allowing for a moderatable discovery experience, like the default subscriptions provided on that other site.
Someone mentioned the possibility all of this being a pretext to withdraw troops for "defense". That would be wonderful, but almost feels almost too much to hope for.
2027 seems kinda weak sauce. Maybe it is more reasonable than I feel given I don't know much about hardware design timelines, but I honestly was hoping for more of a middle finger to companies that have embraced the anti-consumer practice of using non-replaceable batteries.
That... that is never how that worked...