digraph PhysicalTopology { graph [rankdir=LR, compound=true, splines=ortho, nodesep=0.45, ranksep=0.75, fontname="Helvetica"]; node [fontname="Helvetica", fontsize=10, style="rounded,filled", fillcolor="#ffffff"]; edge [fontname="Helvetica", fontsize=9]; subgraph "cluster_docker" { label="docker"; style="rounded,filled"; color="#c7d6f5"; fillcolor="#eef3ff"; "host:docker" [label="docker", shape=box3d, fillcolor="#d4e3ff"]; "svc:authelia" [label="authelia", shape=box, fillcolor="#dff2e1"]; "host:docker" -> "svc:authelia" [style=dashed, color="#6b7280"]; "svc:crowdsec" [label="crowdsec", shape=box, fillcolor="#dff2e1"]; "host:docker" -> "svc:crowdsec" [style=dashed, color="#6b7280"]; "svc:docker-socket-proxy" [label="docker-socket-proxy", shape=box, fillcolor="#dff2e1"]; "host:docker" -> "svc:docker-socket-proxy" [style=dashed, color="#6b7280"]; "svc:docker-update-exporter" [label="docker-update-exporter", shape=box, fillcolor="#dff2e1"]; "host:docker" -> "svc:docker-update-exporter" [style=dashed, color="#6b7280"]; "svc:error-pages" [label="error-pages", shape=box, fillcolor="#dff2e1"]; "host:docker" -> "svc:error-pages" [style=dashed, color="#6b7280"]; "svc:gitea" [label="gitea", shape=box, fillcolor="#dff2e1"]; "host:docker" -> "svc:gitea" [style=dashed, color="#6b7280"]; "svc:gitea-runner" [label="gitea-runner", shape=box, fillcolor="#dff2e1"]; "host:docker" -> "svc:gitea-runner" [style=dashed, color="#6b7280"]; "svc:gotify" [label="gotify", shape=box, fillcolor="#dff2e1"]; "host:docker" -> "svc:gotify" [style=dashed, color="#6b7280"]; "svc:grafana" [label="grafana", shape=box, fillcolor="#dff2e1"]; "host:docker" -> "svc:grafana" [style=dashed, color="#6b7280"]; "svc:gramps-redis" [label="gramps-redis", shape=box, fillcolor="#dff2e1"]; "host:docker" -> "svc:gramps-redis" [style=dashed, color="#6b7280"]; "svc:grampsweb" [label="grampsweb", shape=box, fillcolor="#dff2e1"]; "host:docker" -> "svc:grampsweb" [style=dashed, color="#6b7280"]; "svc:grampsweb_celery" [label="grampsweb_celery", shape=box, fillcolor="#dff2e1"]; "host:docker" -> "svc:grampsweb_celery" [style=dashed, color="#6b7280"]; "svc:influxdb" [label="influxdb", shape=box, fillcolor="#dff2e1"]; "host:docker" -> "svc:influxdb" [style=dashed, color="#6b7280"]; "svc:monitor-kuma" [label="monitor-kuma", shape=box, fillcolor="#dff2e1"]; "host:docker" -> "svc:monitor-kuma" [style=dashed, color="#6b7280"]; "svc:mtls-bridge" [label="mtls-bridge", shape=box, fillcolor="#dff2e1"]; "host:docker" -> "svc:mtls-bridge" [style=dashed, color="#6b7280"]; "svc:nextcloud-db" [label="nextcloud-db", shape=box, fillcolor="#dff2e1"]; "host:docker" -> "svc:nextcloud-db" [style=dashed, color="#6b7280"]; "svc:nextcloud-redis" [label="nextcloud-redis", shape=box, fillcolor="#dff2e1"]; "host:docker" -> "svc:nextcloud-redis" [style=dashed, color="#6b7280"]; "svc:nextcloud-webapp" [label="nextcloud-webapp", shape=box, fillcolor="#dff2e1"]; "host:docker" -> "svc:nextcloud-webapp" [style=dashed, color="#6b7280"]; "svc:node-exporter" [label="node-exporter", shape=box, fillcolor="#dff2e1"]; "host:docker" -> "svc:node-exporter" [style=dashed, color="#6b7280"]; "svc:node-red" [label="node-red", shape=box, fillcolor="#dff2e1"]; "host:docker" -> "svc:node-red" [style=dashed, color="#6b7280"]; "svc:passbolt-db" [label="passbolt-db", shape=box, fillcolor="#dff2e1"]; "host:docker" -> "svc:passbolt-db" [style=dashed, color="#6b7280"]; "svc:passbolt-webapp" [label="passbolt-webapp", shape=box, fillcolor="#dff2e1"]; "host:docker" -> "svc:passbolt-webapp" [style=dashed, color="#6b7280"]; "svc:portainer" [label="portainer", shape=box, fillcolor="#dff2e1"]; "host:docker" -> "svc:portainer" [style=dashed, color="#6b7280"]; "svc:prometheus" [label="prometheus", shape=box, fillcolor="#dff2e1"]; "host:docker" -> "svc:prometheus" [style=dashed, color="#6b7280"]; "svc:searxng-webapp" [label="searxng-webapp", shape=box, fillcolor="#dff2e1"]; "host:docker" -> "svc:searxng-webapp" [style=dashed, color="#6b7280"]; "svc:shift-recorder-web" [label="shift-recorder-web", shape=box, fillcolor="#dff2e1"]; "host:docker" -> "svc:shift-recorder-web" [style=dashed, color="#6b7280"]; "svc:stockfill" [label="stockfill", shape=box, fillcolor="#dff2e1"]; "host:docker" -> "svc:stockfill" [style=dashed, color="#6b7280"]; "svc:telegraf" [label="telegraf", shape=box, fillcolor="#dff2e1"]; "host:docker" -> "svc:telegraf" [style=dashed, color="#6b7280"]; "svc:traefik" [label="traefik", shape=box, fillcolor="#dff2e1"]; "host:docker" -> "svc:traefik" [style=dashed, color="#6b7280"]; } subgraph "cluster_raspberrypi" { label="raspberrypi"; style="rounded,filled"; color="#c7d6f5"; fillcolor="#eef3ff"; "host:raspberrypi" [label="raspberrypi", shape=box3d, fillcolor="#d4e3ff"]; "svc:pihole-exporter" [label="pihole-exporter", shape=box, fillcolor="#dff2e1"]; "host:raspberrypi" -> "svc:pihole-exporter" [style=dashed, color="#6b7280"]; } }