Files
docker/docs/diagrams/physical-topology.svg
T
2026-05-13 09:08:47 +10:00

402 lines
29 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.43.0 (0)
-->
<!-- Title: PhysicalTopology Pages: 1 -->
<svg width="297pt" height="2086pt"
viewBox="0.00 0.00 297.00 2086.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 2082)">
<title>PhysicalTopology</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-2082 293,-2082 293,4 -4,4"/>
<g id="clust1" class="cluster">
<title>cluster_docker</title>
<path fill="#eef3ff" stroke="#c7d6f5" d="M29,-8C29,-8 269,-8 269,-8 275,-8 281,-14 281,-20 281,-20 281,-1975 281,-1975 281,-1981 275,-1987 269,-1987 269,-1987 29,-1987 29,-1987 23,-1987 17,-1981 17,-1975 17,-1975 17,-20 17,-20 17,-14 23,-8 29,-8"/>
<text text-anchor="middle" x="149" y="-1971.8" font-family="Helvetica,sans-Serif" font-size="14.00">docker</text>
</g>
<g id="clust2" class="cluster">
<title>cluster_raspberrypi</title>
<path fill="#eef3ff" stroke="#c7d6f5" d="M20,-1995C20,-1995 249.5,-1995 249.5,-1995 255.5,-1995 261.5,-2001 261.5,-2007 261.5,-2007 261.5,-2058 261.5,-2058 261.5,-2064 255.5,-2070 249.5,-2070 249.5,-2070 20,-2070 20,-2070 14,-2070 8,-2064 8,-2058 8,-2058 8,-2007 8,-2007 8,-2001 14,-1995 20,-1995"/>
<text text-anchor="middle" x="134.75" y="-2054.8" font-family="Helvetica,sans-Serif" font-size="14.00">raspberrypi</text>
</g>
<!-- host:docker -->
<g id="node1" class="node">
<title>host:docker</title>
<polygon fill="#d4e3ff" stroke="black" points="79,-1004 29,-1004 25,-1000 25,-968 75,-968 79,-972 79,-1004"/>
<polyline fill="none" stroke="black" points="75,-1000 25,-1000 "/>
<polyline fill="none" stroke="black" points="75,-1000 75,-968 "/>
<polyline fill="none" stroke="black" points="75,-1000 79,-1004 "/>
<text text-anchor="middle" x="52" y="-983.5" font-family="Helvetica,sans-Serif" font-size="10.00">docker</text>
</g>
<!-- svc:authelia -->
<g id="node2" class="node">
<title>svc:authelia</title>
<path fill="#dff2e1" stroke="black" d="M223.5,-52C223.5,-52 191.5,-52 191.5,-52 185.5,-52 179.5,-46 179.5,-40 179.5,-40 179.5,-28 179.5,-28 179.5,-22 185.5,-16 191.5,-16 191.5,-16 223.5,-16 223.5,-16 229.5,-16 235.5,-22 235.5,-28 235.5,-28 235.5,-40 235.5,-40 235.5,-46 229.5,-52 223.5,-52"/>
<text text-anchor="middle" x="207.5" y="-31.5" font-family="Helvetica,sans-Serif" font-size="10.00">authelia</text>
</g>
<!-- host:docker&#45;&gt;svc:authelia -->
<g id="edge1" class="edge">
<title>host:docker&#45;&gt;svc:authelia</title>
<path fill="none" stroke="#6b7280" stroke-dasharray="5,2" d="M30,-967.83C30,-836.22 30,-34 30,-34 30,-34 169.37,-34 169.37,-34"/>
<polygon fill="#6b7280" stroke="#6b7280" points="169.37,-37.5 179.37,-34 169.37,-30.5 169.37,-37.5"/>
</g>
<!-- svc:crowdsec -->
<g id="node3" class="node">
<title>svc:crowdsec</title>
<path fill="#dff2e1" stroke="black" d="M226.5,-120C226.5,-120 188.5,-120 188.5,-120 182.5,-120 176.5,-114 176.5,-108 176.5,-108 176.5,-96 176.5,-96 176.5,-90 182.5,-84 188.5,-84 188.5,-84 226.5,-84 226.5,-84 232.5,-84 238.5,-90 238.5,-96 238.5,-96 238.5,-108 238.5,-108 238.5,-114 232.5,-120 226.5,-120"/>
<text text-anchor="middle" x="207.5" y="-99.5" font-family="Helvetica,sans-Serif" font-size="10.00">crowdsec</text>
</g>
<!-- host:docker&#45;&gt;svc:crowdsec -->
<g id="edge2" class="edge">
<title>host:docker&#45;&gt;svc:crowdsec</title>
<path fill="none" stroke="#6b7280" stroke-dasharray="5,2" d="M34,-967.94C34,-842.17 34,-102 34,-102 34,-102 166.48,-102 166.48,-102"/>
<polygon fill="#6b7280" stroke="#6b7280" points="166.48,-105.5 176.48,-102 166.48,-98.5 166.48,-105.5"/>
</g>
<!-- svc:docker&#45;socket&#45;proxy -->
<g id="node4" class="node">
<title>svc:docker&#45;socket&#45;proxy</title>
<path fill="#dff2e1" stroke="black" d="M253.5,-188C253.5,-188 161.5,-188 161.5,-188 155.5,-188 149.5,-182 149.5,-176 149.5,-176 149.5,-164 149.5,-164 149.5,-158 155.5,-152 161.5,-152 161.5,-152 253.5,-152 253.5,-152 259.5,-152 265.5,-158 265.5,-164 265.5,-164 265.5,-176 265.5,-176 265.5,-182 259.5,-188 253.5,-188"/>
<text text-anchor="middle" x="207.5" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00">docker&#45;socket&#45;proxy</text>
</g>
<!-- host:docker&#45;&gt;svc:docker&#45;socket&#45;proxy -->
<g id="edge3" class="edge">
<title>host:docker&#45;&gt;svc:docker&#45;socket&#45;proxy</title>
<path fill="none" stroke="#6b7280" stroke-dasharray="5,2" d="M38,-967.81C38,-847.41 38,-170 38,-170 38,-170 139.17,-170 139.17,-170"/>
<polygon fill="#6b7280" stroke="#6b7280" points="139.17,-173.5 149.17,-170 139.17,-166.5 139.17,-173.5"/>
</g>
<!-- svc:docker&#45;update&#45;exporter -->
<g id="node5" class="node">
<title>svc:docker&#45;update&#45;exporter</title>
<path fill="#dff2e1" stroke="black" d="M261,-256C261,-256 154,-256 154,-256 148,-256 142,-250 142,-244 142,-244 142,-232 142,-232 142,-226 148,-220 154,-220 154,-220 261,-220 261,-220 267,-220 273,-226 273,-232 273,-232 273,-244 273,-244 273,-250 267,-256 261,-256"/>
<text text-anchor="middle" x="207.5" y="-235.5" font-family="Helvetica,sans-Serif" font-size="10.00">docker&#45;update&#45;exporter</text>
</g>
<!-- host:docker&#45;&gt;svc:docker&#45;update&#45;exporter -->
<g id="edge4" class="edge">
<title>host:docker&#45;&gt;svc:docker&#45;update&#45;exporter</title>
<path fill="none" stroke="#6b7280" stroke-dasharray="5,2" d="M79.25,-975.2C107.63,-975.2 148,-975.2 148,-975.2 148,-975.2 148,-266.22 148,-266.22"/>
<polygon fill="#6b7280" stroke="#6b7280" points="151.5,-266.22 148,-256.22 144.5,-266.22 151.5,-266.22"/>
</g>
<!-- svc:error&#45;pages -->
<g id="node6" class="node">
<title>svc:error&#45;pages</title>
<path fill="#dff2e1" stroke="black" d="M232,-324C232,-324 183,-324 183,-324 177,-324 171,-318 171,-312 171,-312 171,-300 171,-300 171,-294 177,-288 183,-288 183,-288 232,-288 232,-288 238,-288 244,-294 244,-300 244,-300 244,-312 244,-312 244,-318 238,-324 232,-324"/>
<text text-anchor="middle" x="207.5" y="-303.5" font-family="Helvetica,sans-Serif" font-size="10.00">error&#45;pages</text>
</g>
<!-- host:docker&#45;&gt;svc:error&#45;pages -->
<g id="edge5" class="edge">
<title>host:docker&#45;&gt;svc:error&#45;pages</title>
<path fill="none" stroke="#6b7280" stroke-dasharray="5,2" d="M42,-967.81C42,-859.67 42,-306 42,-306 42,-306 160.77,-306 160.77,-306"/>
<polygon fill="#6b7280" stroke="#6b7280" points="160.77,-309.5 170.77,-306 160.77,-302.5 160.77,-309.5"/>
</g>
<!-- svc:gitea -->
<g id="node7" class="node">
<title>svc:gitea</title>
<path fill="#dff2e1" stroke="black" d="M222.5,-392C222.5,-392 192.5,-392 192.5,-392 186.5,-392 180.5,-386 180.5,-380 180.5,-380 180.5,-368 180.5,-368 180.5,-362 186.5,-356 192.5,-356 192.5,-356 222.5,-356 222.5,-356 228.5,-356 234.5,-362 234.5,-368 234.5,-368 234.5,-380 234.5,-380 234.5,-386 228.5,-392 222.5,-392"/>
<text text-anchor="middle" x="207.5" y="-371.5" font-family="Helvetica,sans-Serif" font-size="10.00">gitea</text>
</g>
<!-- host:docker&#45;&gt;svc:gitea -->
<g id="edge6" class="edge">
<title>host:docker&#45;&gt;svc:gitea</title>
<path fill="none" stroke="#6b7280" stroke-dasharray="5,2" d="M46,-967.68C46,-865.85 46,-374 46,-374 46,-374 170.47,-374 170.47,-374"/>
<polygon fill="#6b7280" stroke="#6b7280" points="170.47,-377.5 180.47,-374 170.47,-370.5 170.47,-377.5"/>
</g>
<!-- svc:gitea&#45;runner -->
<g id="node8" class="node">
<title>svc:gitea&#45;runner</title>
<path fill="#dff2e1" stroke="black" d="M234,-460C234,-460 181,-460 181,-460 175,-460 169,-454 169,-448 169,-448 169,-436 169,-436 169,-430 175,-424 181,-424 181,-424 234,-424 234,-424 240,-424 246,-430 246,-436 246,-436 246,-448 246,-448 246,-454 240,-460 234,-460"/>
<text text-anchor="middle" x="207.5" y="-439.5" font-family="Helvetica,sans-Serif" font-size="10.00">gitea&#45;runner</text>
</g>
<!-- host:docker&#45;&gt;svc:gitea&#45;runner -->
<g id="edge7" class="edge">
<title>host:docker&#45;&gt;svc:gitea&#45;runner</title>
<path fill="none" stroke="#6b7280" stroke-dasharray="5,2" d="M50,-967.9C50,-873.51 50,-442 50,-442 50,-442 158.97,-442 158.97,-442"/>
<polygon fill="#6b7280" stroke="#6b7280" points="158.97,-445.5 168.97,-442 158.97,-438.5 158.97,-445.5"/>
</g>
<!-- svc:gotify -->
<g id="node9" class="node">
<title>svc:gotify</title>
<path fill="#dff2e1" stroke="black" d="M222.5,-528C222.5,-528 192.5,-528 192.5,-528 186.5,-528 180.5,-522 180.5,-516 180.5,-516 180.5,-504 180.5,-504 180.5,-498 186.5,-492 192.5,-492 192.5,-492 222.5,-492 222.5,-492 228.5,-492 234.5,-498 234.5,-504 234.5,-504 234.5,-516 234.5,-516 234.5,-522 228.5,-528 222.5,-528"/>
<text text-anchor="middle" x="207.5" y="-507.5" font-family="Helvetica,sans-Serif" font-size="10.00">gotify</text>
</g>
<!-- host:docker&#45;&gt;svc:gotify -->
<g id="edge8" class="edge">
<title>host:docker&#45;&gt;svc:gotify</title>
<path fill="none" stroke="#6b7280" stroke-dasharray="5,2" d="M55,-967.92C55,-880.97 55,-510 55,-510 55,-510 170.24,-510 170.24,-510"/>
<polygon fill="#6b7280" stroke="#6b7280" points="170.24,-513.5 180.24,-510 170.24,-506.5 170.24,-513.5"/>
</g>
<!-- svc:grafana -->
<g id="node10" class="node">
<title>svc:grafana</title>
<path fill="#dff2e1" stroke="black" d="M222.5,-596C222.5,-596 192.5,-596 192.5,-596 186.5,-596 180.5,-590 180.5,-584 180.5,-584 180.5,-572 180.5,-572 180.5,-566 186.5,-560 192.5,-560 192.5,-560 222.5,-560 222.5,-560 228.5,-560 234.5,-566 234.5,-572 234.5,-572 234.5,-584 234.5,-584 234.5,-590 228.5,-596 222.5,-596"/>
<text text-anchor="middle" x="207.5" y="-575.5" font-family="Helvetica,sans-Serif" font-size="10.00">grafana</text>
</g>
<!-- host:docker&#45;&gt;svc:grafana -->
<g id="edge9" class="edge">
<title>host:docker&#45;&gt;svc:grafana</title>
<path fill="none" stroke="#6b7280" stroke-dasharray="5,2" d="M59,-967.94C59,-888.98 59,-578 59,-578 59,-578 170.26,-578 170.26,-578"/>
<polygon fill="#6b7280" stroke="#6b7280" points="170.26,-581.5 180.26,-578 170.26,-574.5 170.26,-581.5"/>
</g>
<!-- svc:gramps&#45;redis -->
<g id="node11" class="node">
<title>svc:gramps&#45;redis</title>
<path fill="#dff2e1" stroke="black" d="M236,-664C236,-664 179,-664 179,-664 173,-664 167,-658 167,-652 167,-652 167,-640 167,-640 167,-634 173,-628 179,-628 179,-628 236,-628 236,-628 242,-628 248,-634 248,-640 248,-640 248,-652 248,-652 248,-658 242,-664 236,-664"/>
<text text-anchor="middle" x="207.5" y="-643.5" font-family="Helvetica,sans-Serif" font-size="10.00">gramps&#45;redis</text>
</g>
<!-- host:docker&#45;&gt;svc:gramps&#45;redis -->
<g id="edge10" class="edge">
<title>host:docker&#45;&gt;svc:gramps&#45;redis</title>
<path fill="none" stroke="#6b7280" stroke-dasharray="5,2" d="M63,-967.72C63,-897.1 63,-646 63,-646 63,-646 156.86,-646 156.86,-646"/>
<polygon fill="#6b7280" stroke="#6b7280" points="156.86,-649.5 166.86,-646 156.86,-642.5 156.86,-649.5"/>
</g>
<!-- svc:grampsweb -->
<g id="node12" class="node">
<title>svc:grampsweb</title>
<path fill="#dff2e1" stroke="black" d="M232.5,-732C232.5,-732 182.5,-732 182.5,-732 176.5,-732 170.5,-726 170.5,-720 170.5,-720 170.5,-708 170.5,-708 170.5,-702 176.5,-696 182.5,-696 182.5,-696 232.5,-696 232.5,-696 238.5,-696 244.5,-702 244.5,-708 244.5,-708 244.5,-720 244.5,-720 244.5,-726 238.5,-732 232.5,-732"/>
<text text-anchor="middle" x="207.5" y="-711.5" font-family="Helvetica,sans-Serif" font-size="10.00">grampsweb</text>
</g>
<!-- host:docker&#45;&gt;svc:grampsweb -->
<g id="edge11" class="edge">
<title>host:docker&#45;&gt;svc:grampsweb</title>
<path fill="none" stroke="#6b7280" stroke-dasharray="5,2" d="M67,-967.73C67,-906.75 67,-714 67,-714 67,-714 160.22,-714 160.22,-714"/>
<polygon fill="#6b7280" stroke="#6b7280" points="160.22,-717.5 170.22,-714 160.22,-710.5 160.22,-717.5"/>
</g>
<!-- svc:grampsweb_celery -->
<g id="node13" class="node">
<title>svc:grampsweb_celery</title>
<path fill="#dff2e1" stroke="black" d="M250,-800C250,-800 165,-800 165,-800 159,-800 153,-794 153,-788 153,-788 153,-776 153,-776 153,-770 159,-764 165,-764 165,-764 250,-764 250,-764 256,-764 262,-770 262,-776 262,-776 262,-788 262,-788 262,-794 256,-800 250,-800"/>
<text text-anchor="middle" x="207.5" y="-779.5" font-family="Helvetica,sans-Serif" font-size="10.00">grampsweb_celery</text>
</g>
<!-- host:docker&#45;&gt;svc:grampsweb_celery -->
<g id="edge12" class="edge">
<title>host:docker&#45;&gt;svc:grampsweb_celery</title>
<path fill="none" stroke="#6b7280" stroke-dasharray="5,2" d="M79,-982.4C110.7,-982.4 159,-982.4 159,-982.4 159,-982.4 159,-810.14 159,-810.14"/>
<polygon fill="#6b7280" stroke="#6b7280" points="162.5,-810.14 159,-800.14 155.5,-810.14 162.5,-810.14"/>
</g>
<!-- svc:influxdb -->
<g id="node14" class="node">
<title>svc:influxdb</title>
<path fill="#dff2e1" stroke="black" d="M223.5,-868C223.5,-868 191.5,-868 191.5,-868 185.5,-868 179.5,-862 179.5,-856 179.5,-856 179.5,-844 179.5,-844 179.5,-838 185.5,-832 191.5,-832 191.5,-832 223.5,-832 223.5,-832 229.5,-832 235.5,-838 235.5,-844 235.5,-844 235.5,-856 235.5,-856 235.5,-862 229.5,-868 223.5,-868"/>
<text text-anchor="middle" x="207.5" y="-847.5" font-family="Helvetica,sans-Serif" font-size="10.00">influxdb</text>
</g>
<!-- host:docker&#45;&gt;svc:influxdb -->
<g id="edge13" class="edge">
<title>host:docker&#45;&gt;svc:influxdb</title>
<path fill="none" stroke="#6b7280" stroke-dasharray="5,2" d="M71,-967.94C71,-930.95 71,-850 71,-850 71,-850 169.22,-850 169.22,-850"/>
<polygon fill="#6b7280" stroke="#6b7280" points="169.22,-853.5 179.22,-850 169.22,-846.5 169.22,-853.5"/>
</g>
<!-- svc:monitor&#45;kuma -->
<g id="node15" class="node">
<title>svc:monitor&#45;kuma</title>
<path fill="#dff2e1" stroke="black" d="M238.5,-936C238.5,-936 176.5,-936 176.5,-936 170.5,-936 164.5,-930 164.5,-924 164.5,-924 164.5,-912 164.5,-912 164.5,-906 170.5,-900 176.5,-900 176.5,-900 238.5,-900 238.5,-900 244.5,-900 250.5,-906 250.5,-912 250.5,-912 250.5,-924 250.5,-924 250.5,-930 244.5,-936 238.5,-936"/>
<text text-anchor="middle" x="207.5" y="-915.5" font-family="Helvetica,sans-Serif" font-size="10.00">monitor&#45;kuma</text>
</g>
<!-- host:docker&#45;&gt;svc:monitor&#45;kuma -->
<g id="edge14" class="edge">
<title>host:docker&#45;&gt;svc:monitor&#45;kuma</title>
<path fill="none" stroke="#6b7280" stroke-dasharray="5,2" d="M75,-967.78C75,-947.63 75,-918 75,-918 75,-918 154.48,-918 154.48,-918"/>
<polygon fill="#6b7280" stroke="#6b7280" points="154.48,-921.5 164.48,-918 154.48,-914.5 154.48,-921.5"/>
</g>
<!-- svc:mtls&#45;bridge -->
<g id="node16" class="node">
<title>svc:mtls&#45;bridge</title>
<path fill="#dff2e1" stroke="black" d="M232,-1004C232,-1004 183,-1004 183,-1004 177,-1004 171,-998 171,-992 171,-992 171,-980 171,-980 171,-974 177,-968 183,-968 183,-968 232,-968 232,-968 238,-968 244,-974 244,-980 244,-980 244,-992 244,-992 244,-998 238,-1004 232,-1004"/>
<text text-anchor="middle" x="207.5" y="-983.5" font-family="Helvetica,sans-Serif" font-size="10.00">mtls&#45;bridge</text>
</g>
<!-- host:docker&#45;&gt;svc:mtls&#45;bridge -->
<g id="edge15" class="edge">
<title>host:docker&#45;&gt;svc:mtls&#45;bridge</title>
<path fill="none" stroke="#6b7280" stroke-dasharray="5,2" d="M79.09,-989.6C79.09,-989.6 160.82,-989.6 160.82,-989.6"/>
<polygon fill="#6b7280" stroke="#6b7280" points="160.82,-993.1 170.82,-989.6 160.82,-986.1 160.82,-993.1"/>
</g>
<!-- svc:nextcloud&#45;db -->
<g id="node17" class="node">
<title>svc:nextcloud&#45;db</title>
<path fill="#dff2e1" stroke="black" d="M235.5,-1072C235.5,-1072 179.5,-1072 179.5,-1072 173.5,-1072 167.5,-1066 167.5,-1060 167.5,-1060 167.5,-1048 167.5,-1048 167.5,-1042 173.5,-1036 179.5,-1036 179.5,-1036 235.5,-1036 235.5,-1036 241.5,-1036 247.5,-1042 247.5,-1048 247.5,-1048 247.5,-1060 247.5,-1060 247.5,-1066 241.5,-1072 235.5,-1072"/>
<text text-anchor="middle" x="207.5" y="-1051.5" font-family="Helvetica,sans-Serif" font-size="10.00">nextcloud&#45;db</text>
</g>
<!-- host:docker&#45;&gt;svc:nextcloud&#45;db -->
<g id="edge16" class="edge">
<title>host:docker&#45;&gt;svc:nextcloud&#45;db</title>
<path fill="none" stroke="#6b7280" stroke-dasharray="5,2" d="M76,-1004.22C76,-1024.37 76,-1054 76,-1054 76,-1054 157.33,-1054 157.33,-1054"/>
<polygon fill="#6b7280" stroke="#6b7280" points="157.33,-1057.5 167.33,-1054 157.33,-1050.5 157.33,-1057.5"/>
</g>
<!-- svc:nextcloud&#45;redis -->
<g id="node18" class="node">
<title>svc:nextcloud&#45;redis</title>
<path fill="#dff2e1" stroke="black" d="M241.5,-1140C241.5,-1140 173.5,-1140 173.5,-1140 167.5,-1140 161.5,-1134 161.5,-1128 161.5,-1128 161.5,-1116 161.5,-1116 161.5,-1110 167.5,-1104 173.5,-1104 173.5,-1104 241.5,-1104 241.5,-1104 247.5,-1104 253.5,-1110 253.5,-1116 253.5,-1116 253.5,-1128 253.5,-1128 253.5,-1134 247.5,-1140 241.5,-1140"/>
<text text-anchor="middle" x="207.5" y="-1119.5" font-family="Helvetica,sans-Serif" font-size="10.00">nextcloud&#45;redis</text>
</g>
<!-- host:docker&#45;&gt;svc:nextcloud&#45;redis -->
<g id="edge17" class="edge">
<title>host:docker&#45;&gt;svc:nextcloud&#45;redis</title>
<path fill="none" stroke="#6b7280" stroke-dasharray="5,2" d="M72,-1004.06C72,-1041.05 72,-1122 72,-1122 72,-1122 151.25,-1122 151.25,-1122"/>
<polygon fill="#6b7280" stroke="#6b7280" points="151.25,-1125.5 161.25,-1122 151.25,-1118.5 151.25,-1125.5"/>
</g>
<!-- svc:nextcloud&#45;webapp -->
<g id="node19" class="node">
<title>svc:nextcloud&#45;webapp</title>
<path fill="#dff2e1" stroke="black" d="M249,-1208C249,-1208 166,-1208 166,-1208 160,-1208 154,-1202 154,-1196 154,-1196 154,-1184 154,-1184 154,-1178 160,-1172 166,-1172 166,-1172 249,-1172 249,-1172 255,-1172 261,-1178 261,-1184 261,-1184 261,-1196 261,-1196 261,-1202 255,-1208 249,-1208"/>
<text text-anchor="middle" x="207.5" y="-1187.5" font-family="Helvetica,sans-Serif" font-size="10.00">nextcloud&#45;webapp</text>
</g>
<!-- host:docker&#45;&gt;svc:nextcloud&#45;webapp -->
<g id="edge18" class="edge">
<title>host:docker&#45;&gt;svc:nextcloud&#45;webapp</title>
<path fill="none" stroke="#6b7280" stroke-dasharray="5,2" d="M79.04,-996.8C110.15,-996.8 157,-996.8 157,-996.8 157,-996.8 157,-1161.82 157,-1161.82"/>
<polygon fill="#6b7280" stroke="#6b7280" points="153.5,-1161.82 157,-1171.82 160.5,-1161.82 153.5,-1161.82"/>
</g>
<!-- svc:node&#45;exporter -->
<g id="node20" class="node">
<title>svc:node&#45;exporter</title>
<path fill="#dff2e1" stroke="black" d="M238.5,-1276C238.5,-1276 176.5,-1276 176.5,-1276 170.5,-1276 164.5,-1270 164.5,-1264 164.5,-1264 164.5,-1252 164.5,-1252 164.5,-1246 170.5,-1240 176.5,-1240 176.5,-1240 238.5,-1240 238.5,-1240 244.5,-1240 250.5,-1246 250.5,-1252 250.5,-1252 250.5,-1264 250.5,-1264 250.5,-1270 244.5,-1276 238.5,-1276"/>
<text text-anchor="middle" x="207.5" y="-1255.5" font-family="Helvetica,sans-Serif" font-size="10.00">node&#45;exporter</text>
</g>
<!-- host:docker&#45;&gt;svc:node&#45;exporter -->
<g id="edge19" class="edge">
<title>host:docker&#45;&gt;svc:node&#45;exporter</title>
<path fill="none" stroke="#6b7280" stroke-dasharray="5,2" d="M68,-1004.27C68,-1065.25 68,-1258 68,-1258 68,-1258 154.13,-1258 154.13,-1258"/>
<polygon fill="#6b7280" stroke="#6b7280" points="154.13,-1261.5 164.13,-1258 154.13,-1254.5 154.13,-1261.5"/>
</g>
<!-- svc:node&#45;red -->
<g id="node21" class="node">
<title>svc:node&#45;red</title>
<path fill="#dff2e1" stroke="black" d="M225.5,-1344C225.5,-1344 189.5,-1344 189.5,-1344 183.5,-1344 177.5,-1338 177.5,-1332 177.5,-1332 177.5,-1320 177.5,-1320 177.5,-1314 183.5,-1308 189.5,-1308 189.5,-1308 225.5,-1308 225.5,-1308 231.5,-1308 237.5,-1314 237.5,-1320 237.5,-1320 237.5,-1332 237.5,-1332 237.5,-1338 231.5,-1344 225.5,-1344"/>
<text text-anchor="middle" x="207.5" y="-1323.5" font-family="Helvetica,sans-Serif" font-size="10.00">node&#45;red</text>
</g>
<!-- host:docker&#45;&gt;svc:node&#45;red -->
<g id="edge20" class="edge">
<title>host:docker&#45;&gt;svc:node&#45;red</title>
<path fill="none" stroke="#6b7280" stroke-dasharray="5,2" d="M64,-1004.28C64,-1074.9 64,-1326 64,-1326 64,-1326 167.42,-1326 167.42,-1326"/>
<polygon fill="#6b7280" stroke="#6b7280" points="167.42,-1329.5 177.42,-1326 167.42,-1322.5 167.42,-1329.5"/>
</g>
<!-- svc:passbolt&#45;db -->
<g id="node22" class="node">
<title>svc:passbolt&#45;db</title>
<path fill="#dff2e1" stroke="black" d="M232.5,-1412C232.5,-1412 182.5,-1412 182.5,-1412 176.5,-1412 170.5,-1406 170.5,-1400 170.5,-1400 170.5,-1388 170.5,-1388 170.5,-1382 176.5,-1376 182.5,-1376 182.5,-1376 232.5,-1376 232.5,-1376 238.5,-1376 244.5,-1382 244.5,-1388 244.5,-1388 244.5,-1400 244.5,-1400 244.5,-1406 238.5,-1412 232.5,-1412"/>
<text text-anchor="middle" x="207.5" y="-1391.5" font-family="Helvetica,sans-Serif" font-size="10.00">passbolt&#45;db</text>
</g>
<!-- host:docker&#45;&gt;svc:passbolt&#45;db -->
<g id="edge21" class="edge">
<title>host:docker&#45;&gt;svc:passbolt&#45;db</title>
<path fill="none" stroke="#6b7280" stroke-dasharray="5,2" d="M60,-1004.06C60,-1083.02 60,-1394 60,-1394 60,-1394 160.28,-1394 160.28,-1394"/>
<polygon fill="#6b7280" stroke="#6b7280" points="160.28,-1397.5 170.28,-1394 160.28,-1390.5 160.28,-1397.5"/>
</g>
<!-- svc:passbolt&#45;webapp -->
<g id="node23" class="node">
<title>svc:passbolt&#45;webapp</title>
<path fill="#dff2e1" stroke="black" d="M245.5,-1480C245.5,-1480 169.5,-1480 169.5,-1480 163.5,-1480 157.5,-1474 157.5,-1468 157.5,-1468 157.5,-1456 157.5,-1456 157.5,-1450 163.5,-1444 169.5,-1444 169.5,-1444 245.5,-1444 245.5,-1444 251.5,-1444 257.5,-1450 257.5,-1456 257.5,-1456 257.5,-1468 257.5,-1468 257.5,-1474 251.5,-1480 245.5,-1480"/>
<text text-anchor="middle" x="207.5" y="-1459.5" font-family="Helvetica,sans-Serif" font-size="10.00">passbolt&#45;webapp</text>
</g>
<!-- host:docker&#45;&gt;svc:passbolt&#45;webapp -->
<g id="edge22" class="edge">
<title>host:docker&#45;&gt;svc:passbolt&#45;webapp</title>
<path fill="none" stroke="#6b7280" stroke-dasharray="5,2" d="M56,-1004.08C56,-1091.03 56,-1462 56,-1462 56,-1462 147.47,-1462 147.47,-1462"/>
<polygon fill="#6b7280" stroke="#6b7280" points="147.47,-1465.5 157.47,-1462 147.47,-1458.5 147.47,-1465.5"/>
</g>
<!-- svc:portainer -->
<g id="node24" class="node">
<title>svc:portainer</title>
<path fill="#dff2e1" stroke="black" d="M226,-1548C226,-1548 189,-1548 189,-1548 183,-1548 177,-1542 177,-1536 177,-1536 177,-1524 177,-1524 177,-1518 183,-1512 189,-1512 189,-1512 226,-1512 226,-1512 232,-1512 238,-1518 238,-1524 238,-1524 238,-1536 238,-1536 238,-1542 232,-1548 226,-1548"/>
<text text-anchor="middle" x="207.5" y="-1527.5" font-family="Helvetica,sans-Serif" font-size="10.00">portainer</text>
</g>
<!-- host:docker&#45;&gt;svc:portainer -->
<g id="edge23" class="edge">
<title>host:docker&#45;&gt;svc:portainer</title>
<path fill="none" stroke="#6b7280" stroke-dasharray="5,2" d="M52,-1004.1C52,-1098.49 52,-1530 52,-1530 52,-1530 166.78,-1530 166.78,-1530"/>
<polygon fill="#6b7280" stroke="#6b7280" points="166.78,-1533.5 176.78,-1530 166.78,-1526.5 166.78,-1533.5"/>
</g>
<!-- svc:prometheus -->
<g id="node25" class="node">
<title>svc:prometheus</title>
<path fill="#dff2e1" stroke="black" d="M233,-1616C233,-1616 182,-1616 182,-1616 176,-1616 170,-1610 170,-1604 170,-1604 170,-1592 170,-1592 170,-1586 176,-1580 182,-1580 182,-1580 233,-1580 233,-1580 239,-1580 245,-1586 245,-1592 245,-1592 245,-1604 245,-1604 245,-1610 239,-1616 233,-1616"/>
<text text-anchor="middle" x="207.5" y="-1595.5" font-family="Helvetica,sans-Serif" font-size="10.00">prometheus</text>
</g>
<!-- host:docker&#45;&gt;svc:prometheus -->
<g id="edge24" class="edge">
<title>host:docker&#45;&gt;svc:prometheus</title>
<path fill="none" stroke="#6b7280" stroke-dasharray="5,2" d="M49,-1004.32C49,-1106.15 49,-1598 49,-1598 49,-1598 159.94,-1598 159.94,-1598"/>
<polygon fill="#6b7280" stroke="#6b7280" points="159.94,-1601.5 169.94,-1598 159.94,-1594.5 159.94,-1601.5"/>
</g>
<!-- svc:searxng&#45;webapp -->
<g id="node26" class="node">
<title>svc:searxng&#45;webapp</title>
<path fill="#dff2e1" stroke="black" d="M244.5,-1684C244.5,-1684 170.5,-1684 170.5,-1684 164.5,-1684 158.5,-1678 158.5,-1672 158.5,-1672 158.5,-1660 158.5,-1660 158.5,-1654 164.5,-1648 170.5,-1648 170.5,-1648 244.5,-1648 244.5,-1648 250.5,-1648 256.5,-1654 256.5,-1660 256.5,-1660 256.5,-1672 256.5,-1672 256.5,-1678 250.5,-1684 244.5,-1684"/>
<text text-anchor="middle" x="207.5" y="-1663.5" font-family="Helvetica,sans-Serif" font-size="10.00">searxng&#45;webapp</text>
</g>
<!-- host:docker&#45;&gt;svc:searxng&#45;webapp -->
<g id="edge25" class="edge">
<title>host:docker&#45;&gt;svc:searxng&#45;webapp</title>
<path fill="none" stroke="#6b7280" stroke-dasharray="5,2" d="M45,-1004.19C45,-1112.33 45,-1666 45,-1666 45,-1666 148.3,-1666 148.3,-1666"/>
<polygon fill="#6b7280" stroke="#6b7280" points="148.3,-1669.5 158.3,-1666 148.3,-1662.5 148.3,-1669.5"/>
</g>
<!-- svc:shift&#45;recorder&#45;web -->
<g id="node27" class="node">
<title>svc:shift&#45;recorder&#45;web</title>
<path fill="#dff2e1" stroke="black" d="M248.5,-1752C248.5,-1752 166.5,-1752 166.5,-1752 160.5,-1752 154.5,-1746 154.5,-1740 154.5,-1740 154.5,-1728 154.5,-1728 154.5,-1722 160.5,-1716 166.5,-1716 166.5,-1716 248.5,-1716 248.5,-1716 254.5,-1716 260.5,-1722 260.5,-1728 260.5,-1728 260.5,-1740 260.5,-1740 260.5,-1746 254.5,-1752 248.5,-1752"/>
<text text-anchor="middle" x="207.5" y="-1731.5" font-family="Helvetica,sans-Serif" font-size="10.00">shift&#45;recorder&#45;web</text>
</g>
<!-- host:docker&#45;&gt;svc:shift&#45;recorder&#45;web -->
<g id="edge26" class="edge">
<title>host:docker&#45;&gt;svc:shift&#45;recorder&#45;web</title>
<path fill="none" stroke="#6b7280" stroke-dasharray="5,2" d="M41,-1004.12C41,-1118.35 41,-1734 41,-1734 41,-1734 144.36,-1734 144.36,-1734"/>
<polygon fill="#6b7280" stroke="#6b7280" points="144.36,-1737.5 154.36,-1734 144.36,-1730.5 144.36,-1737.5"/>
</g>
<!-- svc:stockfill -->
<g id="node28" class="node">
<title>svc:stockfill</title>
<path fill="#dff2e1" stroke="black" d="M223,-1820C223,-1820 192,-1820 192,-1820 186,-1820 180,-1814 180,-1808 180,-1808 180,-1796 180,-1796 180,-1790 186,-1784 192,-1784 192,-1784 223,-1784 223,-1784 229,-1784 235,-1790 235,-1796 235,-1796 235,-1808 235,-1808 235,-1814 229,-1820 223,-1820"/>
<text text-anchor="middle" x="207.5" y="-1799.5" font-family="Helvetica,sans-Serif" font-size="10.00">stockfill</text>
</g>
<!-- host:docker&#45;&gt;svc:stockfill -->
<g id="edge27" class="edge">
<title>host:docker&#45;&gt;svc:stockfill</title>
<path fill="none" stroke="#6b7280" stroke-dasharray="5,2" d="M37,-1004.19C37,-1124.59 37,-1802 37,-1802 37,-1802 169.73,-1802 169.73,-1802"/>
<polygon fill="#6b7280" stroke="#6b7280" points="169.73,-1805.5 179.73,-1802 169.73,-1798.5 169.73,-1805.5"/>
</g>
<!-- svc:telegraf -->
<g id="node29" class="node">
<title>svc:telegraf</title>
<path fill="#dff2e1" stroke="black" d="M223,-1888C223,-1888 192,-1888 192,-1888 186,-1888 180,-1882 180,-1876 180,-1876 180,-1864 180,-1864 180,-1858 186,-1852 192,-1852 192,-1852 223,-1852 223,-1852 229,-1852 235,-1858 235,-1864 235,-1864 235,-1876 235,-1876 235,-1882 229,-1888 223,-1888"/>
<text text-anchor="middle" x="207.5" y="-1867.5" font-family="Helvetica,sans-Serif" font-size="10.00">telegraf</text>
</g>
<!-- host:docker&#45;&gt;svc:telegraf -->
<g id="edge28" class="edge">
<title>host:docker&#45;&gt;svc:telegraf</title>
<path fill="none" stroke="#6b7280" stroke-dasharray="5,2" d="M33,-1004.06C33,-1129.83 33,-1870 33,-1870 33,-1870 169.85,-1870 169.85,-1870"/>
<polygon fill="#6b7280" stroke="#6b7280" points="169.85,-1873.5 179.85,-1870 169.85,-1866.5 169.85,-1873.5"/>
</g>
<!-- svc:traefik -->
<g id="node30" class="node">
<title>svc:traefik</title>
<path fill="#dff2e1" stroke="black" d="M222.5,-1956C222.5,-1956 192.5,-1956 192.5,-1956 186.5,-1956 180.5,-1950 180.5,-1944 180.5,-1944 180.5,-1932 180.5,-1932 180.5,-1926 186.5,-1920 192.5,-1920 192.5,-1920 222.5,-1920 222.5,-1920 228.5,-1920 234.5,-1926 234.5,-1932 234.5,-1932 234.5,-1944 234.5,-1944 234.5,-1950 228.5,-1956 222.5,-1956"/>
<text text-anchor="middle" x="207.5" y="-1935.5" font-family="Helvetica,sans-Serif" font-size="10.00">traefik</text>
</g>
<!-- host:docker&#45;&gt;svc:traefik -->
<g id="edge29" class="edge">
<title>host:docker&#45;&gt;svc:traefik</title>
<path fill="none" stroke="#6b7280" stroke-dasharray="5,2" d="M29,-1004.17C29,-1135.78 29,-1938 29,-1938 29,-1938 170.39,-1938 170.39,-1938"/>
<polygon fill="#6b7280" stroke="#6b7280" points="170.39,-1941.5 180.39,-1938 170.39,-1934.5 170.39,-1941.5"/>
</g>
<!-- host:raspberrypi -->
<g id="node31" class="node">
<title>host:raspberrypi</title>
<polygon fill="#d4e3ff" stroke="black" points="88,-2039 20,-2039 16,-2035 16,-2003 84,-2003 88,-2007 88,-2039"/>
<polyline fill="none" stroke="black" points="84,-2035 16,-2035 "/>
<polyline fill="none" stroke="black" points="84,-2035 84,-2003 "/>
<polyline fill="none" stroke="black" points="84,-2035 88,-2039 "/>
<text text-anchor="middle" x="52" y="-2018.5" font-family="Helvetica,sans-Serif" font-size="10.00">raspberrypi</text>
</g>
<!-- svc:pihole&#45;exporter -->
<g id="node32" class="node">
<title>svc:pihole&#45;exporter</title>
<path fill="#dff2e1" stroke="black" d="M241.5,-2039C241.5,-2039 173.5,-2039 173.5,-2039 167.5,-2039 161.5,-2033 161.5,-2027 161.5,-2027 161.5,-2015 161.5,-2015 161.5,-2009 167.5,-2003 173.5,-2003 173.5,-2003 241.5,-2003 241.5,-2003 247.5,-2003 253.5,-2009 253.5,-2015 253.5,-2015 253.5,-2027 253.5,-2027 253.5,-2033 247.5,-2039 241.5,-2039"/>
<text text-anchor="middle" x="207.5" y="-2018.5" font-family="Helvetica,sans-Serif" font-size="10.00">pihole&#45;exporter</text>
</g>
<!-- host:raspberrypi&#45;&gt;svc:pihole&#45;exporter -->
<g id="edge30" class="edge">
<title>host:raspberrypi&#45;&gt;svc:pihole&#45;exporter</title>
<path fill="none" stroke="#6b7280" stroke-dasharray="5,2" d="M88.07,-2021C88.07,-2021 151.29,-2021 151.29,-2021"/>
<polygon fill="#6b7280" stroke="#6b7280" points="151.29,-2024.5 161.29,-2021 151.29,-2017.5 151.29,-2024.5"/>
</g>
</g>
</svg>