@
Wtrdk je moet 2 netwerken maken: een waar alle traefik communicatie via verloopt en een waar je matomo app overheen loopt. Ik heb ook Traefik 2 draaien icm Matomo en dat werkt goed. Je moet vooral heel goed opletten naar je virtuele netwerken die je in docker maakt en welke containers je daar aan hangt.
* bridge network: hier koppelt Traefik naar buiten toe over je host, gewoon default docker netwerk waar je de http/https poorten naar buiten toe open zet
* web network: een netwerk dat ik heb gemaakt waar Traefik in zit waar alle containers die Traefik managed in zitten, dus alle websites
* matomo network: een local network waar de matomo webserver, applicatieserver en database server in zitten
De matomo frontend is een nginx webserver. Deze 'exposed' poort 80 naar buiten de container. Deze container zet je in het web network zodat Traefik de exposed poort ziet en hier een domainnaam / certificaat etc aan kan koppelen. Dat is gelijk aan de andere containers die via Traefik lopen.
De matomo frontend wil de php requests via fastcgi doorsturen naar de matomo php applicatie, waar php-fpm draait. Deze twee containers moeten dus ook in eenzelfde netwerk zitten. Dat geldt ook voor de koppeling tussen matomo app en db, deze moeten in een netwerk zitten om de php applicatie de db te laten uitlezen. Om het eenvoudig te maken, heb ik één netwerk waar frontend, app en db in zitten zodat ze elkaar kunnen zien.
Wat ik bij jou zie: je haalt de netwerken door elkaar en de verschillende poorten. Je moet een matomo netwerk creëren waarbij alleen de webserver ook een pootje heeft in het Traefik netwerk. De app en db moeten niet in dat Traefik netwerk zitten, anders zouden die ook van buitenaf bereikbaar kunnen worden. De frontend, app en db van matomo zet je weer in een eigen ander netwerk.
Dan, als je een applicatie via poorten / domeinnamen naar de buitenwereld wil koppelen, dan regel je dat in traefik via je bridge netwerk. Dus geen configuratie aan je matomo frontend container, maar via je labels door traefik laten regelen.
Dan, je moet alle containers die je aan Traefik wil koppelen, in het Traefik net