1,192 karma · joined March 14, 2018
They provide several IP blacklists. None of those seem to be false positives. You can also add custom 3rd party blocklists.
They also provide several different rulesets. It is up to you to choose which ones to use and fine tune. LLMs can be very helpful with that.
And there are 3rd party dashboards and tools that help you manage it more easily.
I use the free version as a simple WAF on multiple servers and it blocks a lot of bots. It did require some initial finetuning though.
Are there any better open source solutions?
Perhaps you could manually set up some VLANs and set up Docker networking to use those, but that has to be custom setup, none of that is a standard feature of Docker.
So instead of having to reinvent the wheel for each of those problems, you can just take kubernetes instead. And while it is a lot to learn, LLMs can make it a lot easier to do. For years I was running docker-compose stacks for self hosted things, but I replaced that once LLM agents became a bit less stupid. :)
Docker has networks but there is no good options to limit it beyond those and it is extremely basic and basically leaves everything open between your proxy and app.
Docker has poor tooling for network level security between the containers, has issues with different runtimes per container, etc.
It is just a bit primitive if you want to expose multiple services to the internet on the same server. One of those apps will get compromised and then all the others will follow.
If you want a decent self hosted server, ask your frontier LLM agent of choice to configure kubernetes (on something like k3s) with mandatory userns mapping so nothing runs as root on the host, default deny firewall so inter-container communication is as locked down as possible, and if your router supports, set up VLANs so none of the containers can access your other devices on the LAN. Use something like backrest to handle backups, alertmanager and Grafana for monitoring, Keel for auto updates. Also consider separating ingress for public and internal services and use Tailscale with split DNS to acces the internal entrypoint. Set up Crowdsec as WAF and subscribe to their free blocklists to filter out bots. Ask it to set this all up using Ansible, so it can be maintained.
While this would be extremely time consuming to set up and maintain by hand, an agent can do and test it in a few hours.
I just use Linux PC as much as possible instead. And that 4$ M4 is just a fancy presentation computer I use when I travel.
Personally I would spend thousands on an actually great Linux laptop, but there are still none around.
It cost me ~650$ total.
The next time I bought a minisplit (3.5kW one), I already had the tools and it cost me only 450$. A proper one meant for use during harsh winter would probably costs a bit more though, at around 1000$.
So I have set up a few of them for my family and friends so far. The units come pre-charged with gas for ~5M of ducts, there is nothing hard to set them up.
I also set up ESP32 controllers so I could attach them to Home Assistant, bypassing any Chinese cloud apps, etc.
Scripts on RouterOS handle network checks for failover, DNS updates, etc.
I got that Mikrotik home router 10 years ago and it is still performing great and handles most of the use cases without issues.
For public projects I have workflows that can publish and push containers to both Gitea and Github.
I don't see companies using open source lining up to support the developers. Good for developers to come up with some monetization strategies to keep their software alive.
Better Auth is the go-to solution for many people using Nextjs, so it makes sense that Vercel puts some effort in maintaining it.
I have never had issues running Nextjs in regular containers, it is just a good open source solution, I don't see why it would be any different with Better Auth.
Before that I did have custom config, it was not that hard to set up, there are great examples and explanations on Arch wiki: https://wiki.archlinux.org/title/PipeWire
Where none of the desktop environments offer the same feature set. And the more compositors there are the harder it is for apps to use those new protocols, and guaranteeing a ton of bug reports from users using an unsupported compositor. That just hinders Linux desktop app development.
With unified kernel images there is no need for grub or any other bootloader anymore. And UKI simplifies boot configuration and helps improving security in some aspects.