Fix Traefik router backend targets in generated diagrams

This commit is contained in:
beatz174-bit
2026-05-13 09:17:41 +10:00
parent 9d79f828e4
commit 7bc2729ef6
7 changed files with 3488 additions and 3236 deletions
+67 -48
View File
@@ -1,5 +1,5 @@
digraph DockerTraefikDynu { digraph DockerTraefikDynu {
graph [rankdir=LR, compound=true, splines=ortho, nodesep=0.5, ranksep=1.0, fontname="Helvetica"]; graph [rankdir=LR, compound=true, splines=true, nodesep=0.5, ranksep=1.0, fontname="Helvetica"];
node [fontname="Helvetica", fontsize=10, style="rounded,filled"]; node [fontname="Helvetica", fontsize=10, style="rounded,filled"];
edge [fontname="Helvetica", fontsize=9]; edge [fontname="Helvetica", fontsize=9];
"ext:dynu" [label="Dynu / Public DNS", shape=oval, fillcolor="#fde68a"]; "ext:dynu" [label="Dynu / Public DNS", shape=oval, fillcolor="#fde68a"];
@@ -13,7 +13,8 @@ digraph DockerTraefikDynu {
"svc:authelia" -> "net:traefik" [color="#6b7280"]; "svc:authelia" -> "net:traefik" [color="#6b7280"];
"router:authelia" [label="router:authelia\nentry:websecure tls:true", shape=diamond, fillcolor="#fbcfe8"]; "router:authelia" [label="router:authelia\nentry:websecure tls:true", shape=diamond, fillcolor="#fbcfe8"];
"svc:traefik" -> "router:authelia"; "svc:traefik" -> "router:authelia";
"router:authelia" -> "svc:authelia" [label="service:authelia"]; "traefik-service:authelia" [label="service:authelia", shape=component, fillcolor="#fecaca"];
"router:authelia" -> "traefik-service:authelia";
"dns:service-1.<internal-domain>" [label="service-1.<internal-domain>", shape=note, fillcolor="#fde68a"]; "dns:service-1.<internal-domain>" [label="service-1.<internal-domain>", shape=note, fillcolor="#fde68a"];
"ext:dynu" -> "dns:service-1.<internal-domain>"; "ext:dynu" -> "dns:service-1.<internal-domain>";
"dns:service-1.<internal-domain>" -> "router:authelia"; "dns:service-1.<internal-domain>" -> "router:authelia";
@@ -28,44 +29,48 @@ digraph DockerTraefikDynu {
"svc:error-pages" -> "net:traefik" [color="#6b7280"]; "svc:error-pages" -> "net:traefik" [color="#6b7280"];
"router:error-pages-router" [label="router:error-pages-router\nentry:web tls:false", shape=diamond, fillcolor="#fbcfe8"]; "router:error-pages-router" [label="router:error-pages-router\nentry:web tls:false", shape=diamond, fillcolor="#fbcfe8"];
"svc:traefik" -> "router:error-pages-router"; "svc:traefik" -> "router:error-pages-router";
"router:error-pages-router" -> "svc:error-pages" [label="service:error-pages"]; "traefik-service:error-pages" [label="service:error-pages", shape=component, fillcolor="#fecaca"];
"router:error-pages-router" -> "traefik-service:error-pages";
"mw:error-pages-middleware" [label="error-pages-middleware", shape=hexagon, fillcolor="#ddd6fe"]; "mw:error-pages-middleware" [label="error-pages-middleware", shape=hexagon, fillcolor="#ddd6fe"];
"router:error-pages-router" -> "mw:error-pages-middleware" [style=dashed]; "router:error-pages-router" -> "mw:error-pages-middleware" [style=dashed];
"lb:error-pages:error-pages-service" [label="lb:error-pages-service\nport:8080", shape=component, fillcolor="#fecaca"]; "traefik-service:error-pages-service" [label="service:error-pages-service\nport:8080", shape=component, fillcolor="#fecaca"];
"lb:error-pages:error-pages-service" -> "svc:error-pages"; "traefik-service:error-pages-service" -> "svc:error-pages";
"svc:gitea" [label="gitea", shape=box, fillcolor="#dcfce7"]; "svc:gitea" [label="gitea", shape=box, fillcolor="#dcfce7"];
"svc:gitea" -> "net:traefik" [color="#6b7280"]; "svc:gitea" -> "net:traefik" [color="#6b7280"];
"router:gitea" [label="router:gitea\nentry:websecure tls:true", shape=diamond, fillcolor="#fbcfe8"]; "router:gitea" [label="router:gitea\nentry:websecure tls:true", shape=diamond, fillcolor="#fbcfe8"];
"svc:traefik" -> "router:gitea"; "svc:traefik" -> "router:gitea";
"router:gitea" -> "svc:gitea" [label="service:gitea"]; "traefik-service:gitea" [label="service:gitea", shape=component, fillcolor="#fecaca"];
"router:gitea" -> "traefik-service:gitea";
"dns:service-2.<internal-domain>" [label="service-2.<internal-domain>", shape=note, fillcolor="#fde68a"]; "dns:service-2.<internal-domain>" [label="service-2.<internal-domain>", shape=note, fillcolor="#fde68a"];
"ext:dynu" -> "dns:service-2.<internal-domain>"; "ext:dynu" -> "dns:service-2.<internal-domain>";
"dns:service-2.<internal-domain>" -> "router:gitea"; "dns:service-2.<internal-domain>" -> "router:gitea";
"lb:gitea:gitea" [label="lb:gitea\nport:3000", shape=component, fillcolor="#fecaca"]; "traefik-service:gitea" [label="service:gitea\nport:3000", shape=component, fillcolor="#fecaca"];
"lb:gitea:gitea" -> "svc:gitea"; "traefik-service:gitea" -> "svc:gitea";
"svc:gitea-runner" [label="gitea-runner", shape=box, fillcolor="#dcfce7"]; "svc:gitea-runner" [label="gitea-runner", shape=box, fillcolor="#dcfce7"];
"svc:gitea-runner" -> "net:traefik" [color="#6b7280"]; "svc:gitea-runner" -> "net:traefik" [color="#6b7280"];
"svc:gotify" [label="gotify", shape=box, fillcolor="#dcfce7"]; "svc:gotify" [label="gotify", shape=box, fillcolor="#dcfce7"];
"svc:gotify" -> "net:traefik" [color="#6b7280"]; "svc:gotify" -> "net:traefik" [color="#6b7280"];
"router:gotify" [label="router:gotify\nentry:websecure tls:false", shape=diamond, fillcolor="#fbcfe8"]; "router:gotify" [label="router:gotify\nentry:websecure tls:false", shape=diamond, fillcolor="#fbcfe8"];
"svc:traefik" -> "router:gotify"; "svc:traefik" -> "router:gotify";
"router:gotify" -> "svc:gotify" [label="service:gotify"]; "traefik-service:gotify" [label="service:gotify", shape=component, fillcolor="#fecaca"];
"router:gotify" -> "traefik-service:gotify";
"dns:service-3.<internal-domain>" [label="service-3.<internal-domain>", shape=note, fillcolor="#fde68a"]; "dns:service-3.<internal-domain>" [label="service-3.<internal-domain>", shape=note, fillcolor="#fde68a"];
"ext:dynu" -> "dns:service-3.<internal-domain>"; "ext:dynu" -> "dns:service-3.<internal-domain>";
"dns:service-3.<internal-domain>" -> "router:gotify"; "dns:service-3.<internal-domain>" -> "router:gotify";
"lb:gotify:gotify" [label="lb:gotify\nport:80", shape=component, fillcolor="#fecaca"]; "traefik-service:gotify" [label="service:gotify\nport:80", shape=component, fillcolor="#fecaca"];
"lb:gotify:gotify" -> "svc:gotify"; "traefik-service:gotify" -> "svc:gotify";
"svc:grafana" [label="grafana", shape=box, fillcolor="#dcfce7"]; "svc:grafana" [label="grafana", shape=box, fillcolor="#dcfce7"];
"svc:grafana" -> "net:monitor" [color="#6b7280"]; "svc:grafana" -> "net:monitor" [color="#6b7280"];
"svc:grafana" -> "net:traefik" [color="#6b7280"]; "svc:grafana" -> "net:traefik" [color="#6b7280"];
"router:grafana" [label="router:grafana\nentry:websecure tls:false", shape=diamond, fillcolor="#fbcfe8"]; "router:grafana" [label="router:grafana\nentry:websecure tls:false", shape=diamond, fillcolor="#fbcfe8"];
"svc:traefik" -> "router:grafana"; "svc:traefik" -> "router:grafana";
"router:grafana" -> "svc:grafana" [label="service:grafana"]; "traefik-service:grafana" [label="service:grafana", shape=component, fillcolor="#fecaca"];
"router:grafana" -> "traefik-service:grafana";
"dns:service-4.<internal-domain>" [label="service-4.<internal-domain>", shape=note, fillcolor="#fde68a"]; "dns:service-4.<internal-domain>" [label="service-4.<internal-domain>", shape=note, fillcolor="#fde68a"];
"ext:dynu" -> "dns:service-4.<internal-domain>"; "ext:dynu" -> "dns:service-4.<internal-domain>";
"dns:service-4.<internal-domain>" -> "router:grafana"; "dns:service-4.<internal-domain>" -> "router:grafana";
"lb:grafana:grafana" [label="lb:grafana\nport:3000", shape=component, fillcolor="#fecaca"]; "traefik-service:grafana" [label="service:grafana\nport:3000", shape=component, fillcolor="#fecaca"];
"lb:grafana:grafana" -> "svc:grafana"; "traefik-service:grafana" -> "svc:grafana";
"svc:gramps-redis" [label="gramps-redis", shape=box, fillcolor="#dcfce7"]; "svc:gramps-redis" [label="gramps-redis", shape=box, fillcolor="#dcfce7"];
"svc:gramps-redis" -> "net:gramps" [color="#6b7280"]; "svc:gramps-redis" -> "net:gramps" [color="#6b7280"];
"svc:grampsweb" [label="grampsweb", shape=box, fillcolor="#dcfce7"]; "svc:grampsweb" [label="grampsweb", shape=box, fillcolor="#dcfce7"];
@@ -73,12 +78,13 @@ digraph DockerTraefikDynu {
"svc:grampsweb" -> "net:traefik" [color="#6b7280"]; "svc:grampsweb" -> "net:traefik" [color="#6b7280"];
"router:gramps" [label="router:gramps\nentry:websecure tls:false", shape=diamond, fillcolor="#fbcfe8"]; "router:gramps" [label="router:gramps\nentry:websecure tls:false", shape=diamond, fillcolor="#fbcfe8"];
"svc:traefik" -> "router:gramps"; "svc:traefik" -> "router:gramps";
"router:gramps" -> "svc:grampsweb" [label="service:grampsweb"]; "traefik-service:grampsweb" [label="service:grampsweb", shape=component, fillcolor="#fecaca"];
"router:gramps" -> "traefik-service:grampsweb";
"dns:service-5.<internal-domain>" [label="service-5.<internal-domain>", shape=note, fillcolor="#fde68a"]; "dns:service-5.<internal-domain>" [label="service-5.<internal-domain>", shape=note, fillcolor="#fde68a"];
"ext:dynu" -> "dns:service-5.<internal-domain>"; "ext:dynu" -> "dns:service-5.<internal-domain>";
"dns:service-5.<internal-domain>" -> "router:gramps"; "dns:service-5.<internal-domain>" -> "router:gramps";
"lb:grampsweb:gramps" [label="lb:gramps\nport:5000", shape=component, fillcolor="#fecaca"]; "traefik-service:gramps" [label="service:gramps\nport:5000", shape=component, fillcolor="#fecaca"];
"lb:grampsweb:gramps" -> "svc:grampsweb"; "traefik-service:gramps" -> "svc:grampsweb";
"svc:grampsweb_celery" [label="grampsweb_celery", shape=box, fillcolor="#dcfce7"]; "svc:grampsweb_celery" [label="grampsweb_celery", shape=box, fillcolor="#dcfce7"];
"svc:grampsweb_celery" -> "net:gramps" [color="#6b7280"]; "svc:grampsweb_celery" -> "net:gramps" [color="#6b7280"];
"svc:influxdb" [label="influxdb", shape=box, fillcolor="#dcfce7"]; "svc:influxdb" [label="influxdb", shape=box, fillcolor="#dcfce7"];
@@ -86,31 +92,34 @@ digraph DockerTraefikDynu {
"svc:influxdb" -> "net:traefik" [color="#6b7280"]; "svc:influxdb" -> "net:traefik" [color="#6b7280"];
"router:influxdb" [label="router:influxdb\nentry:websecure tls:false", shape=diamond, fillcolor="#fbcfe8"]; "router:influxdb" [label="router:influxdb\nentry:websecure tls:false", shape=diamond, fillcolor="#fbcfe8"];
"svc:traefik" -> "router:influxdb"; "svc:traefik" -> "router:influxdb";
"router:influxdb" -> "svc:influxdb" [label="service:influxdb"]; "traefik-service:influxdb" [label="service:influxdb", shape=component, fillcolor="#fecaca"];
"router:influxdb" -> "traefik-service:influxdb";
"dns:service-6.<internal-domain>" [label="service-6.<internal-domain>", shape=note, fillcolor="#fde68a"]; "dns:service-6.<internal-domain>" [label="service-6.<internal-domain>", shape=note, fillcolor="#fde68a"];
"ext:dynu" -> "dns:service-6.<internal-domain>"; "ext:dynu" -> "dns:service-6.<internal-domain>";
"dns:service-6.<internal-domain>" -> "router:influxdb"; "dns:service-6.<internal-domain>" -> "router:influxdb";
"mw:authelia" [label="authelia", shape=hexagon, fillcolor="#ddd6fe"]; "mw:authelia" [label="authelia", shape=hexagon, fillcolor="#ddd6fe"];
"router:influxdb" -> "mw:authelia" [style=dashed]; "router:influxdb" -> "mw:authelia" [style=dashed];
"lb:influxdb:influxdb" [label="lb:influxdb\nport:8086", shape=component, fillcolor="#fecaca"]; "traefik-service:influxdb" [label="service:influxdb\nport:8086", shape=component, fillcolor="#fecaca"];
"lb:influxdb:influxdb" -> "svc:influxdb"; "traefik-service:influxdb" -> "svc:influxdb";
"svc:monitor-kuma" [label="monitor-kuma", shape=box, fillcolor="#dcfce7"]; "svc:monitor-kuma" [label="monitor-kuma", shape=box, fillcolor="#dcfce7"];
"svc:monitor-kuma" -> "net:monitor" [color="#6b7280"]; "svc:monitor-kuma" -> "net:monitor" [color="#6b7280"];
"svc:monitor-kuma" -> "net:traefik" [color="#6b7280"]; "svc:monitor-kuma" -> "net:traefik" [color="#6b7280"];
"router:monitor" [label="router:monitor\nentry:websecure tls:true", shape=diamond, fillcolor="#fbcfe8"]; "router:monitor" [label="router:monitor\nentry:websecure tls:true", shape=diamond, fillcolor="#fbcfe8"];
"svc:traefik" -> "router:monitor"; "svc:traefik" -> "router:monitor";
"router:monitor" -> "svc:monitor-kuma" [label="service:monitor-kuma"]; "traefik-service:monitor-kuma" [label="service:monitor-kuma", shape=component, fillcolor="#fecaca"];
"router:monitor" -> "traefik-service:monitor-kuma";
"dns:service-7.<internal-domain>" [label="service-7.<internal-domain>", shape=note, fillcolor="#fde68a"]; "dns:service-7.<internal-domain>" [label="service-7.<internal-domain>", shape=note, fillcolor="#fde68a"];
"ext:dynu" -> "dns:service-7.<internal-domain>"; "ext:dynu" -> "dns:service-7.<internal-domain>";
"dns:service-7.<internal-domain>" -> "router:monitor"; "dns:service-7.<internal-domain>" -> "router:monitor";
"lb:monitor-kuma:monitor" [label="lb:monitor\nport:3001", shape=component, fillcolor="#fecaca"]; "traefik-service:monitor" [label="service:monitor\nport:3001", shape=component, fillcolor="#fecaca"];
"lb:monitor-kuma:monitor" -> "svc:monitor-kuma"; "traefik-service:monitor" -> "svc:monitor-kuma";
"svc:mtls-bridge" [label="mtls-bridge", shape=box, fillcolor="#dcfce7"]; "svc:mtls-bridge" [label="mtls-bridge", shape=box, fillcolor="#dcfce7"];
"svc:mtls-bridge" -> "net:monitor" [color="#6b7280"]; "svc:mtls-bridge" -> "net:monitor" [color="#6b7280"];
"svc:mtls-bridge" -> "net:traefik" [color="#6b7280"]; "svc:mtls-bridge" -> "net:traefik" [color="#6b7280"];
"router:mtls-bridge" [label="router:mtls-bridge\nentry:websecure tls:false", shape=diamond, fillcolor="#fbcfe8"]; "router:mtls-bridge" [label="router:mtls-bridge\nentry:websecure tls:false", shape=diamond, fillcolor="#fbcfe8"];
"svc:traefik" -> "router:mtls-bridge"; "svc:traefik" -> "router:mtls-bridge";
"router:mtls-bridge" -> "svc:mtls-bridge" [label="service:mtls-bridge"]; "traefik-service:mtls-bridge" [label="service:mtls-bridge", shape=component, fillcolor="#fecaca"];
"router:mtls-bridge" -> "traefik-service:mtls-bridge";
"dns:service-8.<internal-domain>" [label="service-8.<internal-domain>", shape=note, fillcolor="#fde68a"]; "dns:service-8.<internal-domain>" [label="service-8.<internal-domain>", shape=note, fillcolor="#fde68a"];
"ext:dynu" -> "dns:service-8.<internal-domain>"; "ext:dynu" -> "dns:service-8.<internal-domain>";
"dns:service-8.<internal-domain>" -> "router:mtls-bridge"; "dns:service-8.<internal-domain>" -> "router:mtls-bridge";
@@ -120,14 +129,15 @@ digraph DockerTraefikDynu {
"router:mtls-bridge" -> "mw:mtls-bridge-cors" [style=dashed]; "router:mtls-bridge" -> "mw:mtls-bridge-cors" [style=dashed];
"router:mtls-bridge-preflight" [label="router:mtls-bridge-preflight\nentry:websecure tls:false", shape=diamond, fillcolor="#fbcfe8"]; "router:mtls-bridge-preflight" [label="router:mtls-bridge-preflight\nentry:websecure tls:false", shape=diamond, fillcolor="#fbcfe8"];
"svc:traefik" -> "router:mtls-bridge-preflight"; "svc:traefik" -> "router:mtls-bridge-preflight";
"router:mtls-bridge-preflight" -> "svc:mtls-bridge" [label="service:mtls-bridge"]; "traefik-service:mtls-bridge" [label="service:mtls-bridge", shape=component, fillcolor="#fecaca"];
"router:mtls-bridge-preflight" -> "traefik-service:mtls-bridge";
"dns:service-8.<internal-domain>" [label="service-8.<internal-domain>", shape=note, fillcolor="#fde68a"]; "dns:service-8.<internal-domain>" [label="service-8.<internal-domain>", shape=note, fillcolor="#fde68a"];
"ext:dynu" -> "dns:service-8.<internal-domain>"; "ext:dynu" -> "dns:service-8.<internal-domain>";
"dns:service-8.<internal-domain>" -> "router:mtls-bridge-preflight"; "dns:service-8.<internal-domain>" -> "router:mtls-bridge-preflight";
"mw:mtls-bridge-cors" [label="mtls-bridge-cors", shape=hexagon, fillcolor="#ddd6fe"]; "mw:mtls-bridge-cors" [label="mtls-bridge-cors", shape=hexagon, fillcolor="#ddd6fe"];
"router:mtls-bridge-preflight" -> "mw:mtls-bridge-cors" [style=dashed]; "router:mtls-bridge-preflight" -> "mw:mtls-bridge-cors" [style=dashed];
"lb:mtls-bridge:mtls-bridge" [label="lb:mtls-bridge\nport:8080", shape=component, fillcolor="#fecaca"]; "traefik-service:mtls-bridge" [label="service:mtls-bridge\nport:8080", shape=component, fillcolor="#fecaca"];
"lb:mtls-bridge:mtls-bridge" -> "svc:mtls-bridge"; "traefik-service:mtls-bridge" -> "svc:mtls-bridge";
"svc:nextcloud-db" [label="nextcloud-db", shape=box, fillcolor="#dcfce7"]; "svc:nextcloud-db" [label="nextcloud-db", shape=box, fillcolor="#dcfce7"];
"svc:nextcloud-db" -> "net:nextcloud" [color="#6b7280"]; "svc:nextcloud-db" -> "net:nextcloud" [color="#6b7280"];
"svc:nextcloud-redis" [label="nextcloud-redis", shape=box, fillcolor="#dcfce7"]; "svc:nextcloud-redis" [label="nextcloud-redis", shape=box, fillcolor="#dcfce7"];
@@ -137,7 +147,8 @@ digraph DockerTraefikDynu {
"svc:nextcloud-webapp" -> "net:traefik" [color="#6b7280"]; "svc:nextcloud-webapp" -> "net:traefik" [color="#6b7280"];
"router:nextcloud" [label="router:nextcloud\nentry:websecure tls:false", shape=diamond, fillcolor="#fbcfe8"]; "router:nextcloud" [label="router:nextcloud\nentry:websecure tls:false", shape=diamond, fillcolor="#fbcfe8"];
"svc:traefik" -> "router:nextcloud"; "svc:traefik" -> "router:nextcloud";
"router:nextcloud" -> "svc:nextcloud-webapp" [label="service:nextcloud-webapp"]; "traefik-service:nextcloud-webapp" [label="service:nextcloud-webapp", shape=component, fillcolor="#fecaca"];
"router:nextcloud" -> "traefik-service:nextcloud-webapp";
"dns:service-9.<internal-domain>" [label="service-9.<internal-domain>", shape=note, fillcolor="#fde68a"]; "dns:service-9.<internal-domain>" [label="service-9.<internal-domain>", shape=note, fillcolor="#fde68a"];
"ext:dynu" -> "dns:service-9.<internal-domain>"; "ext:dynu" -> "dns:service-9.<internal-domain>";
"dns:service-9.<internal-domain>" -> "router:nextcloud"; "dns:service-9.<internal-domain>" -> "router:nextcloud";
@@ -152,14 +163,15 @@ digraph DockerTraefikDynu {
"svc:node-red" -> "net:traefik" [color="#6b7280"]; "svc:node-red" -> "net:traefik" [color="#6b7280"];
"router:node-red" [label="router:node-red\nentry:websecure tls:false", shape=diamond, fillcolor="#fbcfe8"]; "router:node-red" [label="router:node-red\nentry:websecure tls:false", shape=diamond, fillcolor="#fbcfe8"];
"svc:traefik" -> "router:node-red"; "svc:traefik" -> "router:node-red";
"router:node-red" -> "svc:node-red" [label="service:node-red"]; "traefik-service:node-red" [label="service:node-red", shape=component, fillcolor="#fecaca"];
"router:node-red" -> "traefik-service:node-red";
"dns:service-10.<internal-domain>" [label="service-10.<internal-domain>", shape=note, fillcolor="#fde68a"]; "dns:service-10.<internal-domain>" [label="service-10.<internal-domain>", shape=note, fillcolor="#fde68a"];
"ext:dynu" -> "dns:service-10.<internal-domain>"; "ext:dynu" -> "dns:service-10.<internal-domain>";
"dns:service-10.<internal-domain>" -> "router:node-red"; "dns:service-10.<internal-domain>" -> "router:node-red";
"mw:authelia" [label="authelia", shape=hexagon, fillcolor="#ddd6fe"]; "mw:authelia" [label="authelia", shape=hexagon, fillcolor="#ddd6fe"];
"router:node-red" -> "mw:authelia" [style=dashed]; "router:node-red" -> "mw:authelia" [style=dashed];
"lb:node-red:node-red" [label="lb:node-red\nport:1880", shape=component, fillcolor="#fecaca"]; "traefik-service:node-red" [label="service:node-red\nport:1880", shape=component, fillcolor="#fecaca"];
"lb:node-red:node-red" -> "svc:node-red"; "traefik-service:node-red" -> "svc:node-red";
"svc:passbolt-db" [label="passbolt-db", shape=box, fillcolor="#dcfce7"]; "svc:passbolt-db" [label="passbolt-db", shape=box, fillcolor="#dcfce7"];
"svc:passbolt-db" -> "net:passbolt" [color="#6b7280"]; "svc:passbolt-db" -> "net:passbolt" [color="#6b7280"];
"svc:passbolt-webapp" [label="passbolt-webapp", shape=box, fillcolor="#dcfce7"]; "svc:passbolt-webapp" [label="passbolt-webapp", shape=box, fillcolor="#dcfce7"];
@@ -167,7 +179,8 @@ digraph DockerTraefikDynu {
"svc:passbolt-webapp" -> "net:traefik" [color="#6b7280"]; "svc:passbolt-webapp" -> "net:traefik" [color="#6b7280"];
"router:passbolt" [label="router:passbolt\nentry:websecure tls:false", shape=diamond, fillcolor="#fbcfe8"]; "router:passbolt" [label="router:passbolt\nentry:websecure tls:false", shape=diamond, fillcolor="#fbcfe8"];
"svc:traefik" -> "router:passbolt"; "svc:traefik" -> "router:passbolt";
"router:passbolt" -> "svc:passbolt-webapp" [label="service:passbolt-webapp"]; "traefik-service:passbolt-webapp" [label="service:passbolt-webapp", shape=component, fillcolor="#fecaca"];
"router:passbolt" -> "traefik-service:passbolt-webapp";
"dns:service-11.<internal-domain>" [label="service-11.<internal-domain>", shape=note, fillcolor="#fde68a"]; "dns:service-11.<internal-domain>" [label="service-11.<internal-domain>", shape=note, fillcolor="#fde68a"];
"ext:dynu" -> "dns:service-11.<internal-domain>"; "ext:dynu" -> "dns:service-11.<internal-domain>";
"dns:service-11.<internal-domain>" -> "router:passbolt"; "dns:service-11.<internal-domain>" -> "router:passbolt";
@@ -177,62 +190,68 @@ digraph DockerTraefikDynu {
"svc:portainer" -> "net:traefik" [color="#6b7280"]; "svc:portainer" -> "net:traefik" [color="#6b7280"];
"router:portainer" [label="router:portainer\nentry:websecure tls:true", shape=diamond, fillcolor="#fbcfe8"]; "router:portainer" [label="router:portainer\nentry:websecure tls:true", shape=diamond, fillcolor="#fbcfe8"];
"svc:traefik" -> "router:portainer"; "svc:traefik" -> "router:portainer";
"router:portainer" -> "svc:portainer" [label="service:portainer"]; "traefik-service:portainer" [label="service:portainer", shape=component, fillcolor="#fecaca"];
"router:portainer" -> "traefik-service:portainer";
"dns:service-12.<internal-domain>" [label="service-12.<internal-domain>", shape=note, fillcolor="#fde68a"]; "dns:service-12.<internal-domain>" [label="service-12.<internal-domain>", shape=note, fillcolor="#fde68a"];
"ext:dynu" -> "dns:service-12.<internal-domain>"; "ext:dynu" -> "dns:service-12.<internal-domain>";
"dns:service-12.<internal-domain>" -> "router:portainer"; "dns:service-12.<internal-domain>" -> "router:portainer";
"lb:portainer:portainer" [label="lb:portainer\nport:9000", shape=component, fillcolor="#fecaca"]; "traefik-service:portainer" [label="service:portainer\nport:9000", shape=component, fillcolor="#fecaca"];
"lb:portainer:portainer" -> "svc:portainer"; "traefik-service:portainer" -> "svc:portainer";
"svc:prometheus" [label="prometheus", shape=box, fillcolor="#dcfce7"]; "svc:prometheus" [label="prometheus", shape=box, fillcolor="#dcfce7"];
"svc:prometheus" -> "net:monitor" [color="#6b7280"]; "svc:prometheus" -> "net:monitor" [color="#6b7280"];
"svc:prometheus" -> "net:traefik" [color="#6b7280"]; "svc:prometheus" -> "net:traefik" [color="#6b7280"];
"router:prometheus" [label="router:prometheus\nentry:websecure tls:false", shape=diamond, fillcolor="#fbcfe8"]; "router:prometheus" [label="router:prometheus\nentry:websecure tls:false", shape=diamond, fillcolor="#fbcfe8"];
"svc:traefik" -> "router:prometheus"; "svc:traefik" -> "router:prometheus";
"router:prometheus" -> "svc:prometheus" [label="service:prometheus"]; "traefik-service:prometheus" [label="service:prometheus", shape=component, fillcolor="#fecaca"];
"router:prometheus" -> "traefik-service:prometheus";
"dns:service-13.<internal-domain>" [label="service-13.<internal-domain>", shape=note, fillcolor="#fde68a"]; "dns:service-13.<internal-domain>" [label="service-13.<internal-domain>", shape=note, fillcolor="#fde68a"];
"ext:dynu" -> "dns:service-13.<internal-domain>"; "ext:dynu" -> "dns:service-13.<internal-domain>";
"dns:service-13.<internal-domain>" -> "router:prometheus"; "dns:service-13.<internal-domain>" -> "router:prometheus";
"mw:authelia" [label="authelia", shape=hexagon, fillcolor="#ddd6fe"]; "mw:authelia" [label="authelia", shape=hexagon, fillcolor="#ddd6fe"];
"router:prometheus" -> "mw:authelia" [style=dashed]; "router:prometheus" -> "mw:authelia" [style=dashed];
"lb:prometheus:prometheus" [label="lb:prometheus\nport:9090", shape=component, fillcolor="#fecaca"]; "traefik-service:prometheus" [label="service:prometheus\nport:9090", shape=component, fillcolor="#fecaca"];
"lb:prometheus:prometheus" -> "svc:prometheus"; "traefik-service:prometheus" -> "svc:prometheus";
"svc:searxng-webapp" [label="searxng-webapp", shape=box, fillcolor="#dcfce7"]; "svc:searxng-webapp" [label="searxng-webapp", shape=box, fillcolor="#dcfce7"];
"svc:searxng-webapp" -> "net:traefik" [color="#6b7280"]; "svc:searxng-webapp" -> "net:traefik" [color="#6b7280"];
"router:searxng" [label="router:searxng\nentry:websecure tls:false", shape=diamond, fillcolor="#fbcfe8"]; "router:searxng" [label="router:searxng\nentry:websecure tls:false", shape=diamond, fillcolor="#fbcfe8"];
"svc:traefik" -> "router:searxng"; "svc:traefik" -> "router:searxng";
"router:searxng" -> "svc:searxng-webapp" [label="service:searxng-webapp"]; "traefik-service:searxng-webapp" [label="service:searxng-webapp", shape=component, fillcolor="#fecaca"];
"router:searxng" -> "traefik-service:searxng-webapp";
"dns:service-14.<internal-domain>" [label="service-14.<internal-domain>", shape=note, fillcolor="#fde68a"]; "dns:service-14.<internal-domain>" [label="service-14.<internal-domain>", shape=note, fillcolor="#fde68a"];
"ext:dynu" -> "dns:service-14.<internal-domain>"; "ext:dynu" -> "dns:service-14.<internal-domain>";
"dns:service-14.<internal-domain>" -> "router:searxng"; "dns:service-14.<internal-domain>" -> "router:searxng";
"lb:searxng-webapp:searxng" [label="lb:searxng\nport:8080", shape=component, fillcolor="#fecaca"]; "traefik-service:searxng" [label="service:searxng\nport:8080", shape=component, fillcolor="#fecaca"];
"lb:searxng-webapp:searxng" -> "svc:searxng-webapp"; "traefik-service:searxng" -> "svc:searxng-webapp";
"svc:shift-recorder-web" [label="shift-recorder-web", shape=box, fillcolor="#dcfce7"]; "svc:shift-recorder-web" [label="shift-recorder-web", shape=box, fillcolor="#dcfce7"];
"svc:shift-recorder-web" -> "net:traefik" [color="#6b7280"]; "svc:shift-recorder-web" -> "net:traefik" [color="#6b7280"];
"router:shifts" [label="router:shifts\nentry:websecure tls:true", shape=diamond, fillcolor="#fbcfe8"]; "router:shifts" [label="router:shifts\nentry:websecure tls:true", shape=diamond, fillcolor="#fbcfe8"];
"svc:traefik" -> "router:shifts"; "svc:traefik" -> "router:shifts";
"router:shifts" -> "svc:shift-recorder-web" [label="service:shift-recorder-web"]; "traefik-service:shift-recorder-web" [label="service:shift-recorder-web", shape=component, fillcolor="#fecaca"];
"router:shifts" -> "traefik-service:shift-recorder-web";
"dns:service-15.<internal-domain>" [label="service-15.<internal-domain>", shape=note, fillcolor="#fde68a"]; "dns:service-15.<internal-domain>" [label="service-15.<internal-domain>", shape=note, fillcolor="#fde68a"];
"ext:dynu" -> "dns:service-15.<internal-domain>"; "ext:dynu" -> "dns:service-15.<internal-domain>";
"dns:service-15.<internal-domain>" -> "router:shifts"; "dns:service-15.<internal-domain>" -> "router:shifts";
"lb:shift-recorder-web:shifts" [label="lb:shifts\nport:80", shape=component, fillcolor="#fecaca"]; "traefik-service:shifts" [label="service:shifts\nport:80", shape=component, fillcolor="#fecaca"];
"lb:shift-recorder-web:shifts" -> "svc:shift-recorder-web"; "traefik-service:shifts" -> "svc:shift-recorder-web";
"svc:stockfill" [label="stockfill", shape=box, fillcolor="#dcfce7"]; "svc:stockfill" [label="stockfill", shape=box, fillcolor="#dcfce7"];
"svc:stockfill" -> "net:traefik" [color="#6b7280"]; "svc:stockfill" -> "net:traefik" [color="#6b7280"];
"router:stockfill" [label="router:stockfill\nentry:websecure tls:true", shape=diamond, fillcolor="#fbcfe8"]; "router:stockfill" [label="router:stockfill\nentry:websecure tls:true", shape=diamond, fillcolor="#fbcfe8"];
"svc:traefik" -> "router:stockfill"; "svc:traefik" -> "router:stockfill";
"router:stockfill" -> "svc:stockfill" [label="service:stockfill"]; "traefik-service:stockfill" [label="service:stockfill", shape=component, fillcolor="#fecaca"];
"router:stockfill" -> "traefik-service:stockfill";
"dns:service-16.<internal-domain>" [label="service-16.<internal-domain>", shape=note, fillcolor="#fde68a"]; "dns:service-16.<internal-domain>" [label="service-16.<internal-domain>", shape=note, fillcolor="#fde68a"];
"ext:dynu" -> "dns:service-16.<internal-domain>"; "ext:dynu" -> "dns:service-16.<internal-domain>";
"dns:service-16.<internal-domain>" -> "router:stockfill"; "dns:service-16.<internal-domain>" -> "router:stockfill";
"lb:stockfill:stockfill" [label="lb:stockfill\nport:80", shape=component, fillcolor="#fecaca"]; "traefik-service:stockfill" [label="service:stockfill\nport:80", shape=component, fillcolor="#fecaca"];
"lb:stockfill:stockfill" -> "svc:stockfill"; "traefik-service:stockfill" -> "svc:stockfill";
"svc:telegraf" [label="telegraf", shape=box, fillcolor="#dcfce7"]; "svc:telegraf" [label="telegraf", shape=box, fillcolor="#dcfce7"];
"svc:telegraf" -> "net:monitor" [color="#6b7280"]; "svc:telegraf" -> "net:monitor" [color="#6b7280"];
"svc:traefik" [label="traefik", shape=box, fillcolor="#dcfce7"]; "svc:traefik" [label="traefik", shape=box, fillcolor="#dcfce7"];
"svc:traefik" -> "net:traefik" [color="#6b7280"]; "svc:traefik" -> "net:traefik" [color="#6b7280"];
"router:traefik" [label="router:traefik\nentry:websecure tls:false", shape=diamond, fillcolor="#fbcfe8"]; "router:traefik" [label="router:traefik\nentry:websecure tls:false", shape=diamond, fillcolor="#fbcfe8"];
"svc:traefik" -> "router:traefik"; "svc:traefik" -> "router:traefik";
"router:traefik" -> "svc:traefik" [label="service:api@internal"]; "traefik-service:api@internal" [label="service:api@internal", shape=component, fillcolor="#fecaca"];
"router:traefik" -> "traefik-service:api@internal";
"dns:service-17.<internal-domain>" [label="service-17.<internal-domain>", shape=note, fillcolor="#fde68a"]; "dns:service-17.<internal-domain>" [label="service-17.<internal-domain>", shape=note, fillcolor="#fde68a"];
"ext:dynu" -> "dns:service-17.<internal-domain>"; "ext:dynu" -> "dns:service-17.<internal-domain>";
"dns:service-17.<internal-domain>" -> "router:traefik"; "dns:service-17.<internal-domain>" -> "router:traefik";
File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 118 KiB

After

Width:  |  Height:  |  Size: 122 KiB

+67 -48
View File
@@ -1,5 +1,5 @@
digraph DockerTraefikDynu { digraph DockerTraefikDynu {
graph [rankdir=LR, compound=true, splines=ortho, nodesep=0.5, ranksep=1.0, fontname="Helvetica"]; graph [rankdir=LR, compound=true, splines=true, nodesep=0.5, ranksep=1.0, fontname="Helvetica"];
node [fontname="Helvetica", fontsize=10, style="rounded,filled"]; node [fontname="Helvetica", fontsize=10, style="rounded,filled"];
edge [fontname="Helvetica", fontsize=9]; edge [fontname="Helvetica", fontsize=9];
"ext:dynu" [label="Dynu / Public DNS", shape=oval, fillcolor="#fde68a"]; "ext:dynu" [label="Dynu / Public DNS", shape=oval, fillcolor="#fde68a"];
@@ -13,7 +13,8 @@ digraph DockerTraefikDynu {
"svc:authelia" -> "net:traefik" [color="#6b7280"]; "svc:authelia" -> "net:traefik" [color="#6b7280"];
"router:authelia" [label="router:authelia\nentry:websecure tls:true", shape=diamond, fillcolor="#fbcfe8"]; "router:authelia" [label="router:authelia\nentry:websecure tls:true", shape=diamond, fillcolor="#fbcfe8"];
"svc:traefik" -> "router:authelia"; "svc:traefik" -> "router:authelia";
"router:authelia" -> "svc:authelia" [label="service:authelia"]; "traefik-service:authelia" [label="service:authelia", shape=component, fillcolor="#fecaca"];
"router:authelia" -> "traefik-service:authelia";
"dns:service-1.<internal-domain>" [label="service-1.<internal-domain>", shape=note, fillcolor="#fde68a"]; "dns:service-1.<internal-domain>" [label="service-1.<internal-domain>", shape=note, fillcolor="#fde68a"];
"ext:dynu" -> "dns:service-1.<internal-domain>"; "ext:dynu" -> "dns:service-1.<internal-domain>";
"dns:service-1.<internal-domain>" -> "router:authelia"; "dns:service-1.<internal-domain>" -> "router:authelia";
@@ -28,44 +29,48 @@ digraph DockerTraefikDynu {
"svc:error-pages" -> "net:traefik" [color="#6b7280"]; "svc:error-pages" -> "net:traefik" [color="#6b7280"];
"router:error-pages-router" [label="router:error-pages-router\nentry:web tls:false", shape=diamond, fillcolor="#fbcfe8"]; "router:error-pages-router" [label="router:error-pages-router\nentry:web tls:false", shape=diamond, fillcolor="#fbcfe8"];
"svc:traefik" -> "router:error-pages-router"; "svc:traefik" -> "router:error-pages-router";
"router:error-pages-router" -> "svc:error-pages" [label="service:error-pages"]; "traefik-service:error-pages" [label="service:error-pages", shape=component, fillcolor="#fecaca"];
"router:error-pages-router" -> "traefik-service:error-pages";
"mw:error-pages-middleware" [label="error-pages-middleware", shape=hexagon, fillcolor="#ddd6fe"]; "mw:error-pages-middleware" [label="error-pages-middleware", shape=hexagon, fillcolor="#ddd6fe"];
"router:error-pages-router" -> "mw:error-pages-middleware" [style=dashed]; "router:error-pages-router" -> "mw:error-pages-middleware" [style=dashed];
"lb:error-pages:error-pages-service" [label="lb:error-pages-service\nport:8080", shape=component, fillcolor="#fecaca"]; "traefik-service:error-pages-service" [label="service:error-pages-service\nport:8080", shape=component, fillcolor="#fecaca"];
"lb:error-pages:error-pages-service" -> "svc:error-pages"; "traefik-service:error-pages-service" -> "svc:error-pages";
"svc:gitea" [label="gitea", shape=box, fillcolor="#dcfce7"]; "svc:gitea" [label="gitea", shape=box, fillcolor="#dcfce7"];
"svc:gitea" -> "net:traefik" [color="#6b7280"]; "svc:gitea" -> "net:traefik" [color="#6b7280"];
"router:gitea" [label="router:gitea\nentry:websecure tls:true", shape=diamond, fillcolor="#fbcfe8"]; "router:gitea" [label="router:gitea\nentry:websecure tls:true", shape=diamond, fillcolor="#fbcfe8"];
"svc:traefik" -> "router:gitea"; "svc:traefik" -> "router:gitea";
"router:gitea" -> "svc:gitea" [label="service:gitea"]; "traefik-service:gitea" [label="service:gitea", shape=component, fillcolor="#fecaca"];
"router:gitea" -> "traefik-service:gitea";
"dns:service-2.<internal-domain>" [label="service-2.<internal-domain>", shape=note, fillcolor="#fde68a"]; "dns:service-2.<internal-domain>" [label="service-2.<internal-domain>", shape=note, fillcolor="#fde68a"];
"ext:dynu" -> "dns:service-2.<internal-domain>"; "ext:dynu" -> "dns:service-2.<internal-domain>";
"dns:service-2.<internal-domain>" -> "router:gitea"; "dns:service-2.<internal-domain>" -> "router:gitea";
"lb:gitea:gitea" [label="lb:gitea\nport:3000", shape=component, fillcolor="#fecaca"]; "traefik-service:gitea" [label="service:gitea\nport:3000", shape=component, fillcolor="#fecaca"];
"lb:gitea:gitea" -> "svc:gitea"; "traefik-service:gitea" -> "svc:gitea";
"svc:gitea-runner" [label="gitea-runner", shape=box, fillcolor="#dcfce7"]; "svc:gitea-runner" [label="gitea-runner", shape=box, fillcolor="#dcfce7"];
"svc:gitea-runner" -> "net:traefik" [color="#6b7280"]; "svc:gitea-runner" -> "net:traefik" [color="#6b7280"];
"svc:gotify" [label="gotify", shape=box, fillcolor="#dcfce7"]; "svc:gotify" [label="gotify", shape=box, fillcolor="#dcfce7"];
"svc:gotify" -> "net:traefik" [color="#6b7280"]; "svc:gotify" -> "net:traefik" [color="#6b7280"];
"router:gotify" [label="router:gotify\nentry:websecure tls:false", shape=diamond, fillcolor="#fbcfe8"]; "router:gotify" [label="router:gotify\nentry:websecure tls:false", shape=diamond, fillcolor="#fbcfe8"];
"svc:traefik" -> "router:gotify"; "svc:traefik" -> "router:gotify";
"router:gotify" -> "svc:gotify" [label="service:gotify"]; "traefik-service:gotify" [label="service:gotify", shape=component, fillcolor="#fecaca"];
"router:gotify" -> "traefik-service:gotify";
"dns:service-3.<internal-domain>" [label="service-3.<internal-domain>", shape=note, fillcolor="#fde68a"]; "dns:service-3.<internal-domain>" [label="service-3.<internal-domain>", shape=note, fillcolor="#fde68a"];
"ext:dynu" -> "dns:service-3.<internal-domain>"; "ext:dynu" -> "dns:service-3.<internal-domain>";
"dns:service-3.<internal-domain>" -> "router:gotify"; "dns:service-3.<internal-domain>" -> "router:gotify";
"lb:gotify:gotify" [label="lb:gotify\nport:80", shape=component, fillcolor="#fecaca"]; "traefik-service:gotify" [label="service:gotify\nport:80", shape=component, fillcolor="#fecaca"];
"lb:gotify:gotify" -> "svc:gotify"; "traefik-service:gotify" -> "svc:gotify";
"svc:grafana" [label="grafana", shape=box, fillcolor="#dcfce7"]; "svc:grafana" [label="grafana", shape=box, fillcolor="#dcfce7"];
"svc:grafana" -> "net:monitor" [color="#6b7280"]; "svc:grafana" -> "net:monitor" [color="#6b7280"];
"svc:grafana" -> "net:traefik" [color="#6b7280"]; "svc:grafana" -> "net:traefik" [color="#6b7280"];
"router:grafana" [label="router:grafana\nentry:websecure tls:false", shape=diamond, fillcolor="#fbcfe8"]; "router:grafana" [label="router:grafana\nentry:websecure tls:false", shape=diamond, fillcolor="#fbcfe8"];
"svc:traefik" -> "router:grafana"; "svc:traefik" -> "router:grafana";
"router:grafana" -> "svc:grafana" [label="service:grafana"]; "traefik-service:grafana" [label="service:grafana", shape=component, fillcolor="#fecaca"];
"router:grafana" -> "traefik-service:grafana";
"dns:service-4.<internal-domain>" [label="service-4.<internal-domain>", shape=note, fillcolor="#fde68a"]; "dns:service-4.<internal-domain>" [label="service-4.<internal-domain>", shape=note, fillcolor="#fde68a"];
"ext:dynu" -> "dns:service-4.<internal-domain>"; "ext:dynu" -> "dns:service-4.<internal-domain>";
"dns:service-4.<internal-domain>" -> "router:grafana"; "dns:service-4.<internal-domain>" -> "router:grafana";
"lb:grafana:grafana" [label="lb:grafana\nport:3000", shape=component, fillcolor="#fecaca"]; "traefik-service:grafana" [label="service:grafana\nport:3000", shape=component, fillcolor="#fecaca"];
"lb:grafana:grafana" -> "svc:grafana"; "traefik-service:grafana" -> "svc:grafana";
"svc:gramps-redis" [label="gramps-redis", shape=box, fillcolor="#dcfce7"]; "svc:gramps-redis" [label="gramps-redis", shape=box, fillcolor="#dcfce7"];
"svc:gramps-redis" -> "net:gramps" [color="#6b7280"]; "svc:gramps-redis" -> "net:gramps" [color="#6b7280"];
"svc:grampsweb" [label="grampsweb", shape=box, fillcolor="#dcfce7"]; "svc:grampsweb" [label="grampsweb", shape=box, fillcolor="#dcfce7"];
@@ -73,12 +78,13 @@ digraph DockerTraefikDynu {
"svc:grampsweb" -> "net:traefik" [color="#6b7280"]; "svc:grampsweb" -> "net:traefik" [color="#6b7280"];
"router:gramps" [label="router:gramps\nentry:websecure tls:false", shape=diamond, fillcolor="#fbcfe8"]; "router:gramps" [label="router:gramps\nentry:websecure tls:false", shape=diamond, fillcolor="#fbcfe8"];
"svc:traefik" -> "router:gramps"; "svc:traefik" -> "router:gramps";
"router:gramps" -> "svc:grampsweb" [label="service:grampsweb"]; "traefik-service:grampsweb" [label="service:grampsweb", shape=component, fillcolor="#fecaca"];
"router:gramps" -> "traefik-service:grampsweb";
"dns:service-5.<internal-domain>" [label="service-5.<internal-domain>", shape=note, fillcolor="#fde68a"]; "dns:service-5.<internal-domain>" [label="service-5.<internal-domain>", shape=note, fillcolor="#fde68a"];
"ext:dynu" -> "dns:service-5.<internal-domain>"; "ext:dynu" -> "dns:service-5.<internal-domain>";
"dns:service-5.<internal-domain>" -> "router:gramps"; "dns:service-5.<internal-domain>" -> "router:gramps";
"lb:grampsweb:gramps" [label="lb:gramps\nport:5000", shape=component, fillcolor="#fecaca"]; "traefik-service:gramps" [label="service:gramps\nport:5000", shape=component, fillcolor="#fecaca"];
"lb:grampsweb:gramps" -> "svc:grampsweb"; "traefik-service:gramps" -> "svc:grampsweb";
"svc:grampsweb_celery" [label="grampsweb_celery", shape=box, fillcolor="#dcfce7"]; "svc:grampsweb_celery" [label="grampsweb_celery", shape=box, fillcolor="#dcfce7"];
"svc:grampsweb_celery" -> "net:gramps" [color="#6b7280"]; "svc:grampsweb_celery" -> "net:gramps" [color="#6b7280"];
"svc:influxdb" [label="influxdb", shape=box, fillcolor="#dcfce7"]; "svc:influxdb" [label="influxdb", shape=box, fillcolor="#dcfce7"];
@@ -86,31 +92,34 @@ digraph DockerTraefikDynu {
"svc:influxdb" -> "net:traefik" [color="#6b7280"]; "svc:influxdb" -> "net:traefik" [color="#6b7280"];
"router:influxdb" [label="router:influxdb\nentry:websecure tls:false", shape=diamond, fillcolor="#fbcfe8"]; "router:influxdb" [label="router:influxdb\nentry:websecure tls:false", shape=diamond, fillcolor="#fbcfe8"];
"svc:traefik" -> "router:influxdb"; "svc:traefik" -> "router:influxdb";
"router:influxdb" -> "svc:influxdb" [label="service:influxdb"]; "traefik-service:influxdb" [label="service:influxdb", shape=component, fillcolor="#fecaca"];
"router:influxdb" -> "traefik-service:influxdb";
"dns:service-6.<internal-domain>" [label="service-6.<internal-domain>", shape=note, fillcolor="#fde68a"]; "dns:service-6.<internal-domain>" [label="service-6.<internal-domain>", shape=note, fillcolor="#fde68a"];
"ext:dynu" -> "dns:service-6.<internal-domain>"; "ext:dynu" -> "dns:service-6.<internal-domain>";
"dns:service-6.<internal-domain>" -> "router:influxdb"; "dns:service-6.<internal-domain>" -> "router:influxdb";
"mw:authelia" [label="authelia", shape=hexagon, fillcolor="#ddd6fe"]; "mw:authelia" [label="authelia", shape=hexagon, fillcolor="#ddd6fe"];
"router:influxdb" -> "mw:authelia" [style=dashed]; "router:influxdb" -> "mw:authelia" [style=dashed];
"lb:influxdb:influxdb" [label="lb:influxdb\nport:8086", shape=component, fillcolor="#fecaca"]; "traefik-service:influxdb" [label="service:influxdb\nport:8086", shape=component, fillcolor="#fecaca"];
"lb:influxdb:influxdb" -> "svc:influxdb"; "traefik-service:influxdb" -> "svc:influxdb";
"svc:monitor-kuma" [label="monitor-kuma", shape=box, fillcolor="#dcfce7"]; "svc:monitor-kuma" [label="monitor-kuma", shape=box, fillcolor="#dcfce7"];
"svc:monitor-kuma" -> "net:monitor" [color="#6b7280"]; "svc:monitor-kuma" -> "net:monitor" [color="#6b7280"];
"svc:monitor-kuma" -> "net:traefik" [color="#6b7280"]; "svc:monitor-kuma" -> "net:traefik" [color="#6b7280"];
"router:monitor" [label="router:monitor\nentry:websecure tls:true", shape=diamond, fillcolor="#fbcfe8"]; "router:monitor" [label="router:monitor\nentry:websecure tls:true", shape=diamond, fillcolor="#fbcfe8"];
"svc:traefik" -> "router:monitor"; "svc:traefik" -> "router:monitor";
"router:monitor" -> "svc:monitor-kuma" [label="service:monitor-kuma"]; "traefik-service:monitor-kuma" [label="service:monitor-kuma", shape=component, fillcolor="#fecaca"];
"router:monitor" -> "traefik-service:monitor-kuma";
"dns:service-7.<internal-domain>" [label="service-7.<internal-domain>", shape=note, fillcolor="#fde68a"]; "dns:service-7.<internal-domain>" [label="service-7.<internal-domain>", shape=note, fillcolor="#fde68a"];
"ext:dynu" -> "dns:service-7.<internal-domain>"; "ext:dynu" -> "dns:service-7.<internal-domain>";
"dns:service-7.<internal-domain>" -> "router:monitor"; "dns:service-7.<internal-domain>" -> "router:monitor";
"lb:monitor-kuma:monitor" [label="lb:monitor\nport:3001", shape=component, fillcolor="#fecaca"]; "traefik-service:monitor" [label="service:monitor\nport:3001", shape=component, fillcolor="#fecaca"];
"lb:monitor-kuma:monitor" -> "svc:monitor-kuma"; "traefik-service:monitor" -> "svc:monitor-kuma";
"svc:mtls-bridge" [label="mtls-bridge", shape=box, fillcolor="#dcfce7"]; "svc:mtls-bridge" [label="mtls-bridge", shape=box, fillcolor="#dcfce7"];
"svc:mtls-bridge" -> "net:monitor" [color="#6b7280"]; "svc:mtls-bridge" -> "net:monitor" [color="#6b7280"];
"svc:mtls-bridge" -> "net:traefik" [color="#6b7280"]; "svc:mtls-bridge" -> "net:traefik" [color="#6b7280"];
"router:mtls-bridge" [label="router:mtls-bridge\nentry:websecure tls:false", shape=diamond, fillcolor="#fbcfe8"]; "router:mtls-bridge" [label="router:mtls-bridge\nentry:websecure tls:false", shape=diamond, fillcolor="#fbcfe8"];
"svc:traefik" -> "router:mtls-bridge"; "svc:traefik" -> "router:mtls-bridge";
"router:mtls-bridge" -> "svc:mtls-bridge" [label="service:mtls-bridge"]; "traefik-service:mtls-bridge" [label="service:mtls-bridge", shape=component, fillcolor="#fecaca"];
"router:mtls-bridge" -> "traefik-service:mtls-bridge";
"dns:service-8.<internal-domain>" [label="service-8.<internal-domain>", shape=note, fillcolor="#fde68a"]; "dns:service-8.<internal-domain>" [label="service-8.<internal-domain>", shape=note, fillcolor="#fde68a"];
"ext:dynu" -> "dns:service-8.<internal-domain>"; "ext:dynu" -> "dns:service-8.<internal-domain>";
"dns:service-8.<internal-domain>" -> "router:mtls-bridge"; "dns:service-8.<internal-domain>" -> "router:mtls-bridge";
@@ -120,14 +129,15 @@ digraph DockerTraefikDynu {
"router:mtls-bridge" -> "mw:mtls-bridge-cors" [style=dashed]; "router:mtls-bridge" -> "mw:mtls-bridge-cors" [style=dashed];
"router:mtls-bridge-preflight" [label="router:mtls-bridge-preflight\nentry:websecure tls:false", shape=diamond, fillcolor="#fbcfe8"]; "router:mtls-bridge-preflight" [label="router:mtls-bridge-preflight\nentry:websecure tls:false", shape=diamond, fillcolor="#fbcfe8"];
"svc:traefik" -> "router:mtls-bridge-preflight"; "svc:traefik" -> "router:mtls-bridge-preflight";
"router:mtls-bridge-preflight" -> "svc:mtls-bridge" [label="service:mtls-bridge"]; "traefik-service:mtls-bridge" [label="service:mtls-bridge", shape=component, fillcolor="#fecaca"];
"router:mtls-bridge-preflight" -> "traefik-service:mtls-bridge";
"dns:service-8.<internal-domain>" [label="service-8.<internal-domain>", shape=note, fillcolor="#fde68a"]; "dns:service-8.<internal-domain>" [label="service-8.<internal-domain>", shape=note, fillcolor="#fde68a"];
"ext:dynu" -> "dns:service-8.<internal-domain>"; "ext:dynu" -> "dns:service-8.<internal-domain>";
"dns:service-8.<internal-domain>" -> "router:mtls-bridge-preflight"; "dns:service-8.<internal-domain>" -> "router:mtls-bridge-preflight";
"mw:mtls-bridge-cors" [label="mtls-bridge-cors", shape=hexagon, fillcolor="#ddd6fe"]; "mw:mtls-bridge-cors" [label="mtls-bridge-cors", shape=hexagon, fillcolor="#ddd6fe"];
"router:mtls-bridge-preflight" -> "mw:mtls-bridge-cors" [style=dashed]; "router:mtls-bridge-preflight" -> "mw:mtls-bridge-cors" [style=dashed];
"lb:mtls-bridge:mtls-bridge" [label="lb:mtls-bridge\nport:8080", shape=component, fillcolor="#fecaca"]; "traefik-service:mtls-bridge" [label="service:mtls-bridge\nport:8080", shape=component, fillcolor="#fecaca"];
"lb:mtls-bridge:mtls-bridge" -> "svc:mtls-bridge"; "traefik-service:mtls-bridge" -> "svc:mtls-bridge";
"svc:nextcloud-db" [label="nextcloud-db", shape=box, fillcolor="#dcfce7"]; "svc:nextcloud-db" [label="nextcloud-db", shape=box, fillcolor="#dcfce7"];
"svc:nextcloud-db" -> "net:nextcloud" [color="#6b7280"]; "svc:nextcloud-db" -> "net:nextcloud" [color="#6b7280"];
"svc:nextcloud-redis" [label="nextcloud-redis", shape=box, fillcolor="#dcfce7"]; "svc:nextcloud-redis" [label="nextcloud-redis", shape=box, fillcolor="#dcfce7"];
@@ -137,7 +147,8 @@ digraph DockerTraefikDynu {
"svc:nextcloud-webapp" -> "net:traefik" [color="#6b7280"]; "svc:nextcloud-webapp" -> "net:traefik" [color="#6b7280"];
"router:nextcloud" [label="router:nextcloud\nentry:websecure tls:false", shape=diamond, fillcolor="#fbcfe8"]; "router:nextcloud" [label="router:nextcloud\nentry:websecure tls:false", shape=diamond, fillcolor="#fbcfe8"];
"svc:traefik" -> "router:nextcloud"; "svc:traefik" -> "router:nextcloud";
"router:nextcloud" -> "svc:nextcloud-webapp" [label="service:nextcloud-webapp"]; "traefik-service:nextcloud-webapp" [label="service:nextcloud-webapp", shape=component, fillcolor="#fecaca"];
"router:nextcloud" -> "traefik-service:nextcloud-webapp";
"dns:service-9.<internal-domain>" [label="service-9.<internal-domain>", shape=note, fillcolor="#fde68a"]; "dns:service-9.<internal-domain>" [label="service-9.<internal-domain>", shape=note, fillcolor="#fde68a"];
"ext:dynu" -> "dns:service-9.<internal-domain>"; "ext:dynu" -> "dns:service-9.<internal-domain>";
"dns:service-9.<internal-domain>" -> "router:nextcloud"; "dns:service-9.<internal-domain>" -> "router:nextcloud";
@@ -152,14 +163,15 @@ digraph DockerTraefikDynu {
"svc:node-red" -> "net:traefik" [color="#6b7280"]; "svc:node-red" -> "net:traefik" [color="#6b7280"];
"router:node-red" [label="router:node-red\nentry:websecure tls:false", shape=diamond, fillcolor="#fbcfe8"]; "router:node-red" [label="router:node-red\nentry:websecure tls:false", shape=diamond, fillcolor="#fbcfe8"];
"svc:traefik" -> "router:node-red"; "svc:traefik" -> "router:node-red";
"router:node-red" -> "svc:node-red" [label="service:node-red"]; "traefik-service:node-red" [label="service:node-red", shape=component, fillcolor="#fecaca"];
"router:node-red" -> "traefik-service:node-red";
"dns:service-10.<internal-domain>" [label="service-10.<internal-domain>", shape=note, fillcolor="#fde68a"]; "dns:service-10.<internal-domain>" [label="service-10.<internal-domain>", shape=note, fillcolor="#fde68a"];
"ext:dynu" -> "dns:service-10.<internal-domain>"; "ext:dynu" -> "dns:service-10.<internal-domain>";
"dns:service-10.<internal-domain>" -> "router:node-red"; "dns:service-10.<internal-domain>" -> "router:node-red";
"mw:authelia" [label="authelia", shape=hexagon, fillcolor="#ddd6fe"]; "mw:authelia" [label="authelia", shape=hexagon, fillcolor="#ddd6fe"];
"router:node-red" -> "mw:authelia" [style=dashed]; "router:node-red" -> "mw:authelia" [style=dashed];
"lb:node-red:node-red" [label="lb:node-red\nport:1880", shape=component, fillcolor="#fecaca"]; "traefik-service:node-red" [label="service:node-red\nport:1880", shape=component, fillcolor="#fecaca"];
"lb:node-red:node-red" -> "svc:node-red"; "traefik-service:node-red" -> "svc:node-red";
"svc:passbolt-db" [label="passbolt-db", shape=box, fillcolor="#dcfce7"]; "svc:passbolt-db" [label="passbolt-db", shape=box, fillcolor="#dcfce7"];
"svc:passbolt-db" -> "net:passbolt" [color="#6b7280"]; "svc:passbolt-db" -> "net:passbolt" [color="#6b7280"];
"svc:passbolt-webapp" [label="passbolt-webapp", shape=box, fillcolor="#dcfce7"]; "svc:passbolt-webapp" [label="passbolt-webapp", shape=box, fillcolor="#dcfce7"];
@@ -167,7 +179,8 @@ digraph DockerTraefikDynu {
"svc:passbolt-webapp" -> "net:traefik" [color="#6b7280"]; "svc:passbolt-webapp" -> "net:traefik" [color="#6b7280"];
"router:passbolt" [label="router:passbolt\nentry:websecure tls:false", shape=diamond, fillcolor="#fbcfe8"]; "router:passbolt" [label="router:passbolt\nentry:websecure tls:false", shape=diamond, fillcolor="#fbcfe8"];
"svc:traefik" -> "router:passbolt"; "svc:traefik" -> "router:passbolt";
"router:passbolt" -> "svc:passbolt-webapp" [label="service:passbolt-webapp"]; "traefik-service:passbolt-webapp" [label="service:passbolt-webapp", shape=component, fillcolor="#fecaca"];
"router:passbolt" -> "traefik-service:passbolt-webapp";
"dns:service-11.<internal-domain>" [label="service-11.<internal-domain>", shape=note, fillcolor="#fde68a"]; "dns:service-11.<internal-domain>" [label="service-11.<internal-domain>", shape=note, fillcolor="#fde68a"];
"ext:dynu" -> "dns:service-11.<internal-domain>"; "ext:dynu" -> "dns:service-11.<internal-domain>";
"dns:service-11.<internal-domain>" -> "router:passbolt"; "dns:service-11.<internal-domain>" -> "router:passbolt";
@@ -177,62 +190,68 @@ digraph DockerTraefikDynu {
"svc:portainer" -> "net:traefik" [color="#6b7280"]; "svc:portainer" -> "net:traefik" [color="#6b7280"];
"router:portainer" [label="router:portainer\nentry:websecure tls:true", shape=diamond, fillcolor="#fbcfe8"]; "router:portainer" [label="router:portainer\nentry:websecure tls:true", shape=diamond, fillcolor="#fbcfe8"];
"svc:traefik" -> "router:portainer"; "svc:traefik" -> "router:portainer";
"router:portainer" -> "svc:portainer" [label="service:portainer"]; "traefik-service:portainer" [label="service:portainer", shape=component, fillcolor="#fecaca"];
"router:portainer" -> "traefik-service:portainer";
"dns:service-12.<internal-domain>" [label="service-12.<internal-domain>", shape=note, fillcolor="#fde68a"]; "dns:service-12.<internal-domain>" [label="service-12.<internal-domain>", shape=note, fillcolor="#fde68a"];
"ext:dynu" -> "dns:service-12.<internal-domain>"; "ext:dynu" -> "dns:service-12.<internal-domain>";
"dns:service-12.<internal-domain>" -> "router:portainer"; "dns:service-12.<internal-domain>" -> "router:portainer";
"lb:portainer:portainer" [label="lb:portainer\nport:9000", shape=component, fillcolor="#fecaca"]; "traefik-service:portainer" [label="service:portainer\nport:9000", shape=component, fillcolor="#fecaca"];
"lb:portainer:portainer" -> "svc:portainer"; "traefik-service:portainer" -> "svc:portainer";
"svc:prometheus" [label="prometheus", shape=box, fillcolor="#dcfce7"]; "svc:prometheus" [label="prometheus", shape=box, fillcolor="#dcfce7"];
"svc:prometheus" -> "net:monitor" [color="#6b7280"]; "svc:prometheus" -> "net:monitor" [color="#6b7280"];
"svc:prometheus" -> "net:traefik" [color="#6b7280"]; "svc:prometheus" -> "net:traefik" [color="#6b7280"];
"router:prometheus" [label="router:prometheus\nentry:websecure tls:false", shape=diamond, fillcolor="#fbcfe8"]; "router:prometheus" [label="router:prometheus\nentry:websecure tls:false", shape=diamond, fillcolor="#fbcfe8"];
"svc:traefik" -> "router:prometheus"; "svc:traefik" -> "router:prometheus";
"router:prometheus" -> "svc:prometheus" [label="service:prometheus"]; "traefik-service:prometheus" [label="service:prometheus", shape=component, fillcolor="#fecaca"];
"router:prometheus" -> "traefik-service:prometheus";
"dns:service-13.<internal-domain>" [label="service-13.<internal-domain>", shape=note, fillcolor="#fde68a"]; "dns:service-13.<internal-domain>" [label="service-13.<internal-domain>", shape=note, fillcolor="#fde68a"];
"ext:dynu" -> "dns:service-13.<internal-domain>"; "ext:dynu" -> "dns:service-13.<internal-domain>";
"dns:service-13.<internal-domain>" -> "router:prometheus"; "dns:service-13.<internal-domain>" -> "router:prometheus";
"mw:authelia" [label="authelia", shape=hexagon, fillcolor="#ddd6fe"]; "mw:authelia" [label="authelia", shape=hexagon, fillcolor="#ddd6fe"];
"router:prometheus" -> "mw:authelia" [style=dashed]; "router:prometheus" -> "mw:authelia" [style=dashed];
"lb:prometheus:prometheus" [label="lb:prometheus\nport:9090", shape=component, fillcolor="#fecaca"]; "traefik-service:prometheus" [label="service:prometheus\nport:9090", shape=component, fillcolor="#fecaca"];
"lb:prometheus:prometheus" -> "svc:prometheus"; "traefik-service:prometheus" -> "svc:prometheus";
"svc:searxng-webapp" [label="searxng-webapp", shape=box, fillcolor="#dcfce7"]; "svc:searxng-webapp" [label="searxng-webapp", shape=box, fillcolor="#dcfce7"];
"svc:searxng-webapp" -> "net:traefik" [color="#6b7280"]; "svc:searxng-webapp" -> "net:traefik" [color="#6b7280"];
"router:searxng" [label="router:searxng\nentry:websecure tls:false", shape=diamond, fillcolor="#fbcfe8"]; "router:searxng" [label="router:searxng\nentry:websecure tls:false", shape=diamond, fillcolor="#fbcfe8"];
"svc:traefik" -> "router:searxng"; "svc:traefik" -> "router:searxng";
"router:searxng" -> "svc:searxng-webapp" [label="service:searxng-webapp"]; "traefik-service:searxng-webapp" [label="service:searxng-webapp", shape=component, fillcolor="#fecaca"];
"router:searxng" -> "traefik-service:searxng-webapp";
"dns:service-14.<internal-domain>" [label="service-14.<internal-domain>", shape=note, fillcolor="#fde68a"]; "dns:service-14.<internal-domain>" [label="service-14.<internal-domain>", shape=note, fillcolor="#fde68a"];
"ext:dynu" -> "dns:service-14.<internal-domain>"; "ext:dynu" -> "dns:service-14.<internal-domain>";
"dns:service-14.<internal-domain>" -> "router:searxng"; "dns:service-14.<internal-domain>" -> "router:searxng";
"lb:searxng-webapp:searxng" [label="lb:searxng\nport:8080", shape=component, fillcolor="#fecaca"]; "traefik-service:searxng" [label="service:searxng\nport:8080", shape=component, fillcolor="#fecaca"];
"lb:searxng-webapp:searxng" -> "svc:searxng-webapp"; "traefik-service:searxng" -> "svc:searxng-webapp";
"svc:shift-recorder-web" [label="shift-recorder-web", shape=box, fillcolor="#dcfce7"]; "svc:shift-recorder-web" [label="shift-recorder-web", shape=box, fillcolor="#dcfce7"];
"svc:shift-recorder-web" -> "net:traefik" [color="#6b7280"]; "svc:shift-recorder-web" -> "net:traefik" [color="#6b7280"];
"router:shifts" [label="router:shifts\nentry:websecure tls:true", shape=diamond, fillcolor="#fbcfe8"]; "router:shifts" [label="router:shifts\nentry:websecure tls:true", shape=diamond, fillcolor="#fbcfe8"];
"svc:traefik" -> "router:shifts"; "svc:traefik" -> "router:shifts";
"router:shifts" -> "svc:shift-recorder-web" [label="service:shift-recorder-web"]; "traefik-service:shift-recorder-web" [label="service:shift-recorder-web", shape=component, fillcolor="#fecaca"];
"router:shifts" -> "traefik-service:shift-recorder-web";
"dns:service-15.<internal-domain>" [label="service-15.<internal-domain>", shape=note, fillcolor="#fde68a"]; "dns:service-15.<internal-domain>" [label="service-15.<internal-domain>", shape=note, fillcolor="#fde68a"];
"ext:dynu" -> "dns:service-15.<internal-domain>"; "ext:dynu" -> "dns:service-15.<internal-domain>";
"dns:service-15.<internal-domain>" -> "router:shifts"; "dns:service-15.<internal-domain>" -> "router:shifts";
"lb:shift-recorder-web:shifts" [label="lb:shifts\nport:80", shape=component, fillcolor="#fecaca"]; "traefik-service:shifts" [label="service:shifts\nport:80", shape=component, fillcolor="#fecaca"];
"lb:shift-recorder-web:shifts" -> "svc:shift-recorder-web"; "traefik-service:shifts" -> "svc:shift-recorder-web";
"svc:stockfill" [label="stockfill", shape=box, fillcolor="#dcfce7"]; "svc:stockfill" [label="stockfill", shape=box, fillcolor="#dcfce7"];
"svc:stockfill" -> "net:traefik" [color="#6b7280"]; "svc:stockfill" -> "net:traefik" [color="#6b7280"];
"router:stockfill" [label="router:stockfill\nentry:websecure tls:true", shape=diamond, fillcolor="#fbcfe8"]; "router:stockfill" [label="router:stockfill\nentry:websecure tls:true", shape=diamond, fillcolor="#fbcfe8"];
"svc:traefik" -> "router:stockfill"; "svc:traefik" -> "router:stockfill";
"router:stockfill" -> "svc:stockfill" [label="service:stockfill"]; "traefik-service:stockfill" [label="service:stockfill", shape=component, fillcolor="#fecaca"];
"router:stockfill" -> "traefik-service:stockfill";
"dns:service-16.<internal-domain>" [label="service-16.<internal-domain>", shape=note, fillcolor="#fde68a"]; "dns:service-16.<internal-domain>" [label="service-16.<internal-domain>", shape=note, fillcolor="#fde68a"];
"ext:dynu" -> "dns:service-16.<internal-domain>"; "ext:dynu" -> "dns:service-16.<internal-domain>";
"dns:service-16.<internal-domain>" -> "router:stockfill"; "dns:service-16.<internal-domain>" -> "router:stockfill";
"lb:stockfill:stockfill" [label="lb:stockfill\nport:80", shape=component, fillcolor="#fecaca"]; "traefik-service:stockfill" [label="service:stockfill\nport:80", shape=component, fillcolor="#fecaca"];
"lb:stockfill:stockfill" -> "svc:stockfill"; "traefik-service:stockfill" -> "svc:stockfill";
"svc:telegraf" [label="telegraf", shape=box, fillcolor="#dcfce7"]; "svc:telegraf" [label="telegraf", shape=box, fillcolor="#dcfce7"];
"svc:telegraf" -> "net:monitor" [color="#6b7280"]; "svc:telegraf" -> "net:monitor" [color="#6b7280"];
"svc:traefik" [label="traefik", shape=box, fillcolor="#dcfce7"]; "svc:traefik" [label="traefik", shape=box, fillcolor="#dcfce7"];
"svc:traefik" -> "net:traefik" [color="#6b7280"]; "svc:traefik" -> "net:traefik" [color="#6b7280"];
"router:traefik" [label="router:traefik\nentry:websecure tls:false", shape=diamond, fillcolor="#fbcfe8"]; "router:traefik" [label="router:traefik\nentry:websecure tls:false", shape=diamond, fillcolor="#fbcfe8"];
"svc:traefik" -> "router:traefik"; "svc:traefik" -> "router:traefik";
"router:traefik" -> "svc:traefik" [label="service:api@internal"]; "traefik-service:api@internal" [label="service:api@internal", shape=component, fillcolor="#fecaca"];
"router:traefik" -> "traefik-service:api@internal";
"dns:service-17.<internal-domain>" [label="service-17.<internal-domain>", shape=note, fillcolor="#fde68a"]; "dns:service-17.<internal-domain>" [label="service-17.<internal-domain>", shape=note, fillcolor="#fde68a"];
"ext:dynu" -> "dns:service-17.<internal-domain>"; "ext:dynu" -> "dns:service-17.<internal-domain>";
"dns:service-17.<internal-domain>" -> "router:traefik"; "dns:service-17.<internal-domain>" -> "router:traefik";
File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 118 KiB

After

Width:  |  Height:  |  Size: 122 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 118 KiB

After

Width:  |  Height:  |  Size: 122 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 118 KiB

After

Width:  |  Height:  |  Size: 122 KiB

+6 -4
View File
@@ -120,7 +120,7 @@ def generate_docker_traefik_dynu(compose: dict, out_dot: Path, out_svg: Path) ->
lines = [ lines = [
"digraph DockerTraefikDynu {", "digraph DockerTraefikDynu {",
" graph [rankdir=LR, compound=true, splines=ortho, nodesep=0.5, ranksep=1.0, fontname=\"Helvetica\"];", " graph [rankdir=LR, compound=true, splines=true, nodesep=0.5, ranksep=1.0, fontname=\"Helvetica\"];",
" node [fontname=\"Helvetica\", fontsize=10, style=\"rounded,filled\"];", " node [fontname=\"Helvetica\", fontsize=10, style=\"rounded,filled\"];",
" edge [fontname=\"Helvetica\", fontsize=9];", " edge [fontname=\"Helvetica\", fontsize=9];",
' "ext:dynu" [label="Dynu / Public DNS", shape=oval, fillcolor="#fde68a"];', ' "ext:dynu" [label="Dynu / Public DNS", shape=oval, fillcolor="#fde68a"];',
@@ -151,7 +151,9 @@ def generate_docker_traefik_dynu(compose: dict, out_dot: Path, out_svg: Path) ->
tls = labels.get(f"{router_prefix}{router}.tls", "false") tls = labels.get(f"{router_prefix}{router}.tls", "false")
lines.append(f' "router:{router}" [label="router:{router}\\nentry:{entrypoints} tls:{tls}", shape=diamond, fillcolor="#fbcfe8"];') lines.append(f' "router:{router}" [label="router:{router}\\nentry:{entrypoints} tls:{tls}", shape=diamond, fillcolor="#fbcfe8"];')
lines.append(f' "svc:traefik" -> "router:{router}";') lines.append(f' "svc:traefik" -> "router:{router}";')
lines.append(f' "router:{router}" -> "svc:{svc_name}" [label="service:{router_service}"];') target_node = f"traefik-service:{router_service}"
lines.append(f' "{target_node}" [label="service:{router_service}", shape=component, fillcolor="#fecaca"];')
lines.append(f' "router:{router}" -> "{target_node}";')
for host in extract_hosts(rule): for host in extract_hosts(rule):
clean = sanitize_domain(host, known_domains) clean = sanitize_domain(host, known_domains)
@@ -166,8 +168,8 @@ def generate_docker_traefik_dynu(compose: dict, out_dot: Path, out_svg: Path) ->
lb_services = sorted({k[len(service_prefix):].split(".", 1)[0] for k in labels if k.startswith(service_prefix)}) lb_services = sorted({k[len(service_prefix):].split(".", 1)[0] for k in labels if k.startswith(service_prefix)})
for lb in lb_services: for lb in lb_services:
port = labels.get(f"{service_prefix}{lb}.loadbalancer.server.port", "") port = labels.get(f"{service_prefix}{lb}.loadbalancer.server.port", "")
lines.append(f' "lb:{svc_name}:{lb}" [label="lb:{lb}\\nport:{port}", shape=component, fillcolor="#fecaca"];') lines.append(f' "traefik-service:{lb}" [label="service:{lb}\\nport:{port}", shape=component, fillcolor="#fecaca"];')
lines.append(f' "lb:{svc_name}:{lb}" -> "svc:{svc_name}";') lines.append(f' "traefik-service:{lb}" -> "svc:{svc_name}";')
lines.append("}") lines.append("}")
write_dot(out_dot, lines) write_dot(out_dot, lines)