Ha oui, en effet, c'est intéressant.
La logique s'adapte assez facilement avec d'autres techno, docker n'a rien de vital.
Je ne suis pas forcément fan de geoip, mais quand j'avais fait les stats sur mes ip bloquées, on avait clairement quelques zones qui se détachait. Là par exemple, il ne bloque pas les USA, alors qu'ils sont aussi pénibles que la Russie, la Chine et le Brésil. Et par ailleurs tous les serveurs de ces pays ne sont pas à bloquer. Il bloque l'Irlande, sans doute pour AWS, mais du coup sur un serveur qui reçoit des mails des commandes d'Amazon, ça risque d'être un souci. Ok, c'est une façon d'empêcher ses utilisatrices d'utiliser Amazon

Idéalement, il faudrait en réalité repérer les plages d'adresses problématiques (généralement toutes d'un même datacenter), ça c'est plus utile à bloquer, et il y a moins de risque de bloquer un utilisateur légitime. Dans le cas du mail, je sais que j'ajoute en liste autorisé les ip des fournisseurs mails (dont amazon, aliexpress, etc, quand quelqu'un me dit que le mail n'arrive pas).
Mon idée (pas mise en place) était d'avoir un domaine "honeypot" : si une ip le visite (au delà du robots.txt qui dira "allez au diable), vu qu'il ne fournit pas de contenu, n'est pas référencé, etc, l'ip est ajouté à une liste de ban. Un petit cron une fois par jour pour analyser toutes ses ip, en sortir la plage quand ça semble utile, puis l'info est relayée aux autres serveuers : "bloquez la plage d'ip X.X.* pour un bon mois, c'est des fermes de bots !".
Note que le tuto utilise iptables et fail2ban, de mon côté je passe plutôt à nftables et reaction dans ce genre d'usage, la syntaxe est plus simple à gérer (pour reaction) et nftables est puissant.