How to manage Networks


i am using Traefik and it works without any problems, but i wonder, whats the "Best Practice" to manage the networks.

Lot's of examples use a "traefik" network, where they add all applications.

Doing that, you can easily deploy a new Application with docker-compose, without touching the configuration of Traefik, but like this, all Applications get linked through the network, even if they are totally independent. I dont like that, i prefer to harden it.

For example I have a Nextcloud installation, which consists of

  • Nextcloud
  • MySQL
  • Onlyoffice
    And of course Traefik

I have an individual Network for Nextcloud<->MySQL, Nextcoud<->Onlyoffice, Onlyoffice<->Traefik and Nextcloud<->Traefik. I proceed the same for everything i deploy on that server using docker-compose.

This way all networking is hardened, but it needs a bit more configuration. For each deployed application, i have to create a new network and also change the traefik configration to use that. I also do not now about resource usage when having that much networks.

I wonder, if there is a "better" way, to do networking with traefik?
What do others use?