Traefik doesn’t really solve anything here, it just exposes everything on that traefik network on the same port, and makes it simple to add basic auth to each service.
But I agree that everyone using docker should use traefik :) even works great as Ingress on K8S
Ok. I think you will need to approach each of the requirements in isolation.
For the Wordpress sites, definitely htpassword/basic auth.
For MySQL, DO NOT bind to 0.0.0.0. This should only be 127.0.0.1. Assuming these are self hosted on servers that have ssh access, and ssh is restricted to...
What exact issues do you have with htaccess/htpassword?
I don’t see how this causes an issue, especially on nginx where you just make the base server config use htpassword.
We have been doing this for years as a simple way to solve this issue
Angular 1 is fine and sometimes you need to maintain and improve.
Migrating to angular 2/4/8 is not really viable IMO and not sure why you would want to.
I personally would rather migrate slowly to vue and run both side by side