Files
docker/docs/public/docker-compose.svg
T
2026-05-13 09:17:47 +10:00

464 lines
26 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: Compose Pages: 1 -->
<svg width="334pt" height="1610pt"
viewBox="0.00 0.00 334.49 1610.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 1606)">
<title>Compose</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-1606 330.49,-1606 330.49,4 -4,4"/>
<!-- svc:authelia -->
<g id="node1" class="node">
<title>svc:authelia</title>
<polygon fill="#dfefff" stroke="black" points="126,-900 54,-900 54,-864 126,-864 126,-900"/>
<text text-anchor="middle" x="90" y="-878.3" font-family="Helvetica,sans-Serif" font-size="14.00">authelia</text>
</g>
<!-- net:traefik -->
<g id="node35" class="node">
<title>net:traefik</title>
<ellipse fill="#f4f4f4" stroke="black" cx="271.25" cy="-828" rx="40.09" ry="18"/>
<text text-anchor="middle" x="271.25" y="-824.3" font-family="Helvetica,sans-Serif" font-size="14.00">traefik</text>
</g>
<!-- svc:authelia&#45;&gt;net:traefik -->
<g id="edge1" class="edge">
<title>svc:authelia&#45;&gt;net:traefik</title>
<path fill="none" stroke="black" d="M126.41,-871.33C155.5,-862.57 196.8,-850.13 227.69,-840.82"/>
<polygon fill="black" stroke="black" points="228.76,-844.15 237.32,-837.92 226.74,-837.45 228.76,-844.15"/>
</g>
<!-- svc:crowdsec -->
<g id="node2" class="node">
<title>svc:crowdsec</title>
<polygon fill="#dfefff" stroke="black" points="130.5,-846 49.5,-846 49.5,-810 130.5,-810 130.5,-846"/>
<text text-anchor="middle" x="90" y="-824.3" font-family="Helvetica,sans-Serif" font-size="14.00">crowdsec</text>
</g>
<!-- svc:crowdsec&#45;&gt;net:traefik -->
<g id="edge2" class="edge">
<title>svc:crowdsec&#45;&gt;net:traefik</title>
<path fill="none" stroke="black" d="M130.78,-828C157.33,-828 192.43,-828 220.78,-828"/>
<polygon fill="black" stroke="black" points="220.88,-831.5 230.88,-828 220.88,-824.5 220.88,-831.5"/>
</g>
<!-- svc:docker&#45;socket&#45;proxy -->
<g id="node3" class="node">
<title>svc:docker&#45;socket&#45;proxy</title>
<polygon fill="#dfefff" stroke="black" points="167.5,-1116 12.5,-1116 12.5,-1080 167.5,-1080 167.5,-1116"/>
<text text-anchor="middle" x="90" y="-1094.3" font-family="Helvetica,sans-Serif" font-size="14.00">docker&#45;socket&#45;proxy</text>
</g>
<!-- net:monitor -->
<g id="node32" class="node">
<title>net:monitor</title>
<ellipse fill="#f4f4f4" stroke="black" cx="271.25" cy="-1314" rx="46.29" ry="18"/>
<text text-anchor="middle" x="271.25" y="-1310.3" font-family="Helvetica,sans-Serif" font-size="14.00">monitor</text>
</g>
<!-- svc:docker&#45;socket&#45;proxy&#45;&gt;net:monitor -->
<g id="edge3" class="edge">
<title>svc:docker&#45;socket&#45;proxy&#45;&gt;net:monitor</title>
<path fill="none" stroke="black" d="M167.18,-1116.1C171.75,-1118.68 176.08,-1121.63 180,-1125 229.98,-1167.95 254.42,-1244.8 264.44,-1286.04"/>
<polygon fill="black" stroke="black" points="261.07,-1287 266.73,-1295.95 267.88,-1285.42 261.07,-1287"/>
</g>
<!-- svc:docker&#45;socket&#45;proxy&#45;&gt;net:traefik -->
<g id="edge4" class="edge">
<title>svc:docker&#45;socket&#45;proxy&#45;&gt;net:traefik</title>
<path fill="none" stroke="black" d="M167.53,-1080.29C172.02,-1077.62 176.24,-1074.54 180,-1071 242.3,-1012.4 261.83,-906.88 267.77,-856.4"/>
<polygon fill="black" stroke="black" points="271.27,-856.54 268.86,-846.22 264.31,-855.79 271.27,-856.54"/>
</g>
<!-- svc:docker&#45;update&#45;exporter -->
<g id="node4" class="node">
<title>svc:docker&#45;update&#45;exporter</title>
<polygon fill="#dfefff" stroke="black" points="180,-1494 0,-1494 0,-1458 180,-1458 180,-1494"/>
<text text-anchor="middle" x="90" y="-1472.3" font-family="Helvetica,sans-Serif" font-size="14.00">docker&#45;update&#45;exporter</text>
</g>
<!-- svc:docker&#45;update&#45;exporter&#45;&gt;net:monitor -->
<g id="edge5" class="edge">
<title>svc:docker&#45;update&#45;exporter&#45;&gt;net:monitor</title>
<path fill="none" stroke="black" d="M165.31,-1457.9C170.5,-1455.32 175.46,-1452.37 180,-1449 218.01,-1420.82 244.97,-1371.56 259.03,-1340.98"/>
<polygon fill="black" stroke="black" points="262.27,-1342.31 263.14,-1331.76 255.87,-1339.46 262.27,-1342.31"/>
</g>
<!-- svc:error&#45;pages -->
<g id="node5" class="node">
<title>svc:error&#45;pages</title>
<polygon fill="#dfefff" stroke="black" points="137.5,-792 42.5,-792 42.5,-756 137.5,-756 137.5,-792"/>
<text text-anchor="middle" x="90" y="-770.3" font-family="Helvetica,sans-Serif" font-size="14.00">error&#45;pages</text>
</g>
<!-- svc:error&#45;pages&#45;&gt;net:traefik -->
<g id="edge6" class="edge">
<title>svc:error&#45;pages&#45;&gt;net:traefik</title>
<path fill="none" stroke="black" d="M137.63,-788.05C165.53,-796.45 200.71,-807.05 227.83,-815.22"/>
<polygon fill="black" stroke="black" points="226.84,-818.58 237.43,-818.11 228.86,-811.88 226.84,-818.58"/>
</g>
<!-- svc:gitea -->
<g id="node6" class="node">
<title>svc:gitea</title>
<polygon fill="#dfefff" stroke="black" points="117,-738 63,-738 63,-702 117,-702 117,-738"/>
<text text-anchor="middle" x="90" y="-716.3" font-family="Helvetica,sans-Serif" font-size="14.00">gitea</text>
</g>
<!-- svc:gitea&#45;&gt;net:traefik -->
<g id="edge7" class="edge">
<title>svc:gitea&#45;&gt;net:traefik</title>
<path fill="none" stroke="black" d="M117.13,-724.77C135.53,-728.87 160.3,-735.91 180,-747 206.25,-761.78 231.35,-785.35 248.38,-803.26"/>
<polygon fill="black" stroke="black" points="246.24,-806.1 255.62,-811.03 251.37,-801.33 246.24,-806.1"/>
</g>
<!-- svc:gitea&#45;runner -->
<g id="node7" class="node">
<title>svc:gitea&#45;runner</title>
<polygon fill="#dfefff" stroke="black" points="142,-684 38,-684 38,-648 142,-648 142,-684"/>
<text text-anchor="middle" x="90" y="-662.3" font-family="Helvetica,sans-Serif" font-size="14.00">gitea&#45;runner</text>
</g>
<!-- svc:gitea&#45;runner&#45;&gt;net:traefik -->
<g id="edge8" class="edge">
<title>svc:gitea&#45;runner&#45;&gt;net:traefik</title>
<path fill="none" stroke="black" d="M142.32,-675.1C155.46,-679.1 168.98,-684.83 180,-693 218.01,-721.18 244.97,-770.44 259.03,-801.02"/>
<polygon fill="black" stroke="black" points="255.87,-802.54 263.14,-810.24 262.27,-799.69 255.87,-802.54"/>
</g>
<!-- svc:gotify -->
<g id="node8" class="node">
<title>svc:gotify</title>
<polygon fill="#dfefff" stroke="black" points="118,-630 62,-630 62,-594 118,-594 118,-630"/>
<text text-anchor="middle" x="90" y="-608.3" font-family="Helvetica,sans-Serif" font-size="14.00">gotify</text>
</g>
<!-- svc:gotify&#45;&gt;net:traefik -->
<g id="edge9" class="edge">
<title>svc:gotify&#45;&gt;net:traefik</title>
<path fill="none" stroke="black" d="M118.29,-614.47C137.49,-617.48 162.73,-624.16 180,-639 229.98,-681.95 254.42,-758.8 264.44,-800.04"/>
<polygon fill="black" stroke="black" points="261.07,-801 266.73,-809.95 267.88,-799.42 261.07,-801"/>
</g>
<!-- svc:grafana -->
<g id="node9" class="node">
<title>svc:grafana</title>
<polygon fill="#dfefff" stroke="black" points="125.5,-1062 54.5,-1062 54.5,-1026 125.5,-1026 125.5,-1062"/>
<text text-anchor="middle" x="90" y="-1040.3" font-family="Helvetica,sans-Serif" font-size="14.00">grafana</text>
</g>
<!-- svc:grafana&#45;&gt;net:monitor -->
<g id="edge10" class="edge">
<title>svc:grafana&#45;&gt;net:monitor</title>
<path fill="none" stroke="black" d="M125.52,-1047.11C143.74,-1050.41 165.3,-1057.17 180,-1071 242.3,-1129.6 261.83,-1235.12 267.77,-1285.6"/>
<polygon fill="black" stroke="black" points="264.31,-1286.21 268.86,-1295.78 271.27,-1285.46 264.31,-1286.21"/>
</g>
<!-- svc:grafana&#45;&gt;net:traefik -->
<g id="edge11" class="edge">
<title>svc:grafana&#45;&gt;net:traefik</title>
<path fill="none" stroke="black" d="M125.91,-1040.19C143.8,-1036.68 164.94,-1029.94 180,-1017 229.98,-974.05 254.42,-897.2 264.44,-855.96"/>
<polygon fill="black" stroke="black" points="267.88,-856.58 266.73,-846.05 261.07,-855 267.88,-856.58"/>
</g>
<!-- svc:gramps&#45;redis -->
<g id="node10" class="node">
<title>svc:gramps&#45;redis</title>
<polygon fill="#dfefff" stroke="black" points="144.5,-360 35.5,-360 35.5,-324 144.5,-324 144.5,-360"/>
<text text-anchor="middle" x="90" y="-338.3" font-family="Helvetica,sans-Serif" font-size="14.00">gramps&#45;redis</text>
</g>
<!-- net:gramps -->
<g id="node31" class="node">
<title>net:gramps</title>
<ellipse fill="#f4f4f4" stroke="black" cx="271.25" cy="-342" rx="45.49" ry="18"/>
<text text-anchor="middle" x="271.25" y="-338.3" font-family="Helvetica,sans-Serif" font-size="14.00">gramps</text>
</g>
<!-- svc:gramps&#45;redis&#45;&gt;net:gramps -->
<g id="edge12" class="edge">
<title>svc:gramps&#45;redis&#45;&gt;net:gramps</title>
<path fill="none" stroke="black" d="M144.78,-342C167.14,-342 193.05,-342 215.51,-342"/>
<polygon fill="black" stroke="black" points="215.56,-345.5 225.56,-342 215.56,-338.5 215.56,-345.5"/>
</g>
<!-- svc:grampsweb -->
<g id="node11" class="node">
<title>svc:grampsweb</title>
<polygon fill="#dfefff" stroke="black" points="139,-414 41,-414 41,-378 139,-378 139,-414"/>
<text text-anchor="middle" x="90" y="-392.3" font-family="Helvetica,sans-Serif" font-size="14.00">grampsweb</text>
</g>
<!-- svc:grampsweb&#45;&gt;net:gramps -->
<g id="edge13" class="edge">
<title>svc:grampsweb&#45;&gt;net:gramps</title>
<path fill="none" stroke="black" d="M139.03,-381.53C165.7,-373.5 198.68,-363.56 224.9,-355.66"/>
<polygon fill="black" stroke="black" points="226.03,-358.98 234.59,-352.74 224.01,-352.27 226.03,-358.98"/>
</g>
<!-- svc:grampsweb&#45;&gt;net:traefik -->
<g id="edge14" class="edge">
<title>svc:grampsweb&#45;&gt;net:traefik</title>
<path fill="none" stroke="black" d="M139.02,-401.02C153.99,-404.86 169.35,-411.52 180,-423 231.57,-478.6 259.36,-716.7 267.6,-799.49"/>
<polygon fill="black" stroke="black" points="264.14,-800.06 268.59,-809.67 271.1,-799.38 264.14,-800.06"/>
</g>
<!-- svc:grampsweb_celery -->
<g id="node12" class="node">
<title>svc:grampsweb_celery</title>
<polygon fill="#dfefff" stroke="black" points="163.5,-306 16.5,-306 16.5,-270 163.5,-270 163.5,-306"/>
<text text-anchor="middle" x="90" y="-284.3" font-family="Helvetica,sans-Serif" font-size="14.00">grampsweb_celery</text>
</g>
<!-- svc:grampsweb_celery&#45;&gt;net:gramps -->
<g id="edge15" class="edge">
<title>svc:grampsweb_celery&#45;&gt;net:gramps</title>
<path fill="none" stroke="black" d="M151.18,-306.13C175.28,-313.39 202.57,-321.61 224.94,-328.35"/>
<polygon fill="black" stroke="black" points="223.94,-331.71 234.52,-331.24 225.96,-325 223.94,-331.71"/>
</g>
<!-- svc:influxdb -->
<g id="node13" class="node">
<title>svc:influxdb</title>
<polygon fill="#dfefff" stroke="black" points="127,-1386 53,-1386 53,-1350 127,-1350 127,-1386"/>
<text text-anchor="middle" x="90" y="-1364.3" font-family="Helvetica,sans-Serif" font-size="14.00">influxdb</text>
</g>
<!-- svc:influxdb&#45;&gt;net:monitor -->
<g id="edge16" class="edge">
<title>svc:influxdb&#45;&gt;net:monitor</title>
<path fill="none" stroke="black" d="M127.27,-1357.07C155.3,-1348.63 194.28,-1336.88 224.46,-1327.79"/>
<polygon fill="black" stroke="black" points="225.77,-1331.06 234.33,-1324.82 223.75,-1324.35 225.77,-1331.06"/>
</g>
<!-- svc:influxdb&#45;&gt;net:traefik -->
<g id="edge17" class="edge">
<title>svc:influxdb&#45;&gt;net:traefik</title>
<path fill="none" stroke="black" d="M127.44,-1365.74C145.77,-1362.68 166.83,-1355.86 180,-1341 244.76,-1267.93 264.48,-953.16 269.06,-856.4"/>
<polygon fill="black" stroke="black" points="272.57,-856.36 269.53,-846.21 265.58,-856.04 272.57,-856.36"/>
</g>
<!-- svc:monitor&#45;kuma -->
<g id="node14" class="node">
<title>svc:monitor&#45;kuma</title>
<polygon fill="#dfefff" stroke="black" points="146.5,-1332 33.5,-1332 33.5,-1296 146.5,-1296 146.5,-1332"/>
<text text-anchor="middle" x="90" y="-1310.3" font-family="Helvetica,sans-Serif" font-size="14.00">monitor&#45;kuma</text>
</g>
<!-- svc:monitor&#45;kuma&#45;&gt;net:monitor -->
<g id="edge18" class="edge">
<title>svc:monitor&#45;kuma&#45;&gt;net:monitor</title>
<path fill="none" stroke="black" d="M146.73,-1314C168.47,-1314 193.32,-1314 215.01,-1314"/>
<polygon fill="black" stroke="black" points="215.05,-1317.5 225.05,-1314 215.05,-1310.5 215.05,-1317.5"/>
</g>
<!-- svc:monitor&#45;kuma&#45;&gt;net:traefik -->
<g id="edge19" class="edge">
<title>svc:monitor&#45;kuma&#45;&gt;net:traefik</title>
<path fill="none" stroke="black" d="M146.61,-1307C159.1,-1302.97 171.23,-1296.7 180,-1287 238.17,-1222.67 262.1,-946.17 268.43,-856.32"/>
<polygon fill="black" stroke="black" points="271.93,-856.3 269.13,-846.08 264.95,-855.82 271.93,-856.3"/>
</g>
<!-- svc:mtls&#45;bridge -->
<g id="node15" class="node">
<title>svc:mtls&#45;bridge</title>
<polygon fill="#dfefff" stroke="black" points="138.5,-1278 41.5,-1278 41.5,-1242 138.5,-1242 138.5,-1278"/>
<text text-anchor="middle" x="90" y="-1256.3" font-family="Helvetica,sans-Serif" font-size="14.00">mtls&#45;bridge</text>
</g>
<!-- svc:mtls&#45;bridge&#45;&gt;net:monitor -->
<g id="edge20" class="edge">
<title>svc:mtls&#45;bridge&#45;&gt;net:monitor</title>
<path fill="none" stroke="black" d="M138.56,-1274.33C165.14,-1282.34 198.1,-1292.27 224.4,-1300.19"/>
<polygon fill="black" stroke="black" points="223.54,-1303.58 234.12,-1303.12 225.56,-1296.88 223.54,-1303.58"/>
</g>
<!-- svc:mtls&#45;bridge&#45;&gt;net:traefik -->
<g id="edge21" class="edge">
<title>svc:mtls&#45;bridge&#45;&gt;net:traefik</title>
<path fill="none" stroke="black" d="M138.56,-1255.1C153.68,-1251.28 169.24,-1244.6 180,-1233 231.57,-1177.4 259.36,-939.3 267.6,-856.51"/>
<polygon fill="black" stroke="black" points="271.1,-856.62 268.59,-846.33 264.14,-855.94 271.1,-856.62"/>
</g>
<!-- svc:nextcloud&#45;db -->
<g id="node16" class="node">
<title>svc:nextcloud&#45;db</title>
<polygon fill="#dfefff" stroke="black" points="144,-90 36,-90 36,-54 144,-54 144,-90"/>
<text text-anchor="middle" x="90" y="-68.3" font-family="Helvetica,sans-Serif" font-size="14.00">nextcloud&#45;db</text>
</g>
<!-- net:nextcloud -->
<g id="node33" class="node">
<title>net:nextcloud</title>
<ellipse fill="#f4f4f4" stroke="black" cx="271.25" cy="-180" rx="55.49" ry="18"/>
<text text-anchor="middle" x="271.25" y="-176.3" font-family="Helvetica,sans-Serif" font-size="14.00">nextcloud</text>
</g>
<!-- svc:nextcloud&#45;db&#45;&gt;net:nextcloud -->
<g id="edge22" class="edge">
<title>svc:nextcloud&#45;db&#45;&gt;net:nextcloud</title>
<path fill="none" stroke="black" d="M144.33,-84.04C156.48,-87.9 169.03,-92.82 180,-99 206.09,-113.7 231.04,-137.06 248.07,-154.93"/>
<polygon fill="black" stroke="black" points="245.93,-157.77 255.31,-162.7 251.06,-153 245.93,-157.77"/>
</g>
<!-- svc:nextcloud&#45;redis -->
<g id="node17" class="node">
<title>svc:nextcloud&#45;redis</title>
<polygon fill="#dfefff" stroke="black" points="152,-198 28,-198 28,-162 152,-162 152,-198"/>
<text text-anchor="middle" x="90" y="-176.3" font-family="Helvetica,sans-Serif" font-size="14.00">nextcloud&#45;redis</text>
</g>
<!-- svc:nextcloud&#45;redis&#45;&gt;net:nextcloud -->
<g id="edge23" class="edge">
<title>svc:nextcloud&#45;redis&#45;&gt;net:nextcloud</title>
<path fill="none" stroke="black" d="M152.18,-180C169.48,-180 188.35,-180 205.83,-180"/>
<polygon fill="black" stroke="black" points="205.94,-183.5 215.94,-180 205.94,-176.5 205.94,-183.5"/>
</g>
<!-- svc:nextcloud&#45;webapp -->
<g id="node18" class="node">
<title>svc:nextcloud&#45;webapp</title>
<polygon fill="#dfefff" stroke="black" points="162.5,-252 17.5,-252 17.5,-216 162.5,-216 162.5,-252"/>
<text text-anchor="middle" x="90" y="-230.3" font-family="Helvetica,sans-Serif" font-size="14.00">nextcloud&#45;webapp</text>
</g>
<!-- svc:nextcloud&#45;webapp&#45;&gt;net:nextcloud -->
<g id="edge24" class="edge">
<title>svc:nextcloud&#45;webapp&#45;&gt;net:nextcloud</title>
<path fill="none" stroke="black" d="M151.18,-215.87C173.57,-209.12 198.72,-201.55 220.11,-195.1"/>
<polygon fill="black" stroke="black" points="221.4,-198.37 229.97,-192.13 219.38,-191.67 221.4,-198.37"/>
</g>
<!-- svc:nextcloud&#45;webapp&#45;&gt;net:traefik -->
<g id="edge25" class="edge">
<title>svc:nextcloud&#45;webapp&#45;&gt;net:traefik</title>
<path fill="none" stroke="black" d="M162.56,-247.4C169.12,-250.94 175.12,-255.4 180,-261 215.98,-302.27 256.67,-690.32 267.49,-799.53"/>
<polygon fill="black" stroke="black" points="264.03,-800.16 268.49,-809.77 271,-799.47 264.03,-800.16"/>
</g>
<!-- svc:node&#45;exporter -->
<g id="node19" class="node">
<title>svc:node&#45;exporter</title>
<polygon fill="#dfefff" stroke="black" points="148,-1440 32,-1440 32,-1404 148,-1404 148,-1440"/>
<text text-anchor="middle" x="90" y="-1418.3" font-family="Helvetica,sans-Serif" font-size="14.00">node&#45;exporter</text>
</g>
<!-- svc:node&#45;exporter&#45;&gt;net:monitor -->
<g id="edge26" class="edge">
<title>svc:node&#45;exporter&#45;&gt;net:monitor</title>
<path fill="none" stroke="black" d="M148.08,-1408.74C159.04,-1405.08 170.15,-1400.55 180,-1395 206.25,-1380.22 231.35,-1356.65 248.38,-1338.74"/>
<polygon fill="black" stroke="black" points="251.37,-1340.67 255.62,-1330.97 246.24,-1335.9 251.37,-1340.67"/>
</g>
<!-- svc:node&#45;red -->
<g id="node20" class="node">
<title>svc:node&#45;red</title>
<polygon fill="#dfefff" stroke="black" points="129.5,-1224 50.5,-1224 50.5,-1188 129.5,-1188 129.5,-1224"/>
<text text-anchor="middle" x="90" y="-1202.3" font-family="Helvetica,sans-Serif" font-size="14.00">node&#45;red</text>
</g>
<!-- svc:node&#45;red&#45;&gt;net:monitor -->
<g id="edge27" class="edge">
<title>svc:node&#45;red&#45;&gt;net:monitor</title>
<path fill="none" stroke="black" d="M129.72,-1213.82C145.92,-1218.07 164.52,-1224.28 180,-1233 206.25,-1247.78 231.35,-1271.35 248.38,-1289.26"/>
<polygon fill="black" stroke="black" points="246.24,-1292.1 255.62,-1297.03 251.37,-1287.33 246.24,-1292.1"/>
</g>
<!-- svc:node&#45;red&#45;&gt;net:traefik -->
<g id="edge28" class="edge">
<title>svc:node&#45;red&#45;&gt;net:traefik</title>
<path fill="none" stroke="black" d="M129.66,-1202.83C147.22,-1199.45 166.93,-1192.64 180,-1179 225.12,-1131.91 256.34,-930.92 266.59,-856.16"/>
<polygon fill="black" stroke="black" points="270.08,-856.45 267.95,-846.08 263.14,-855.52 270.08,-856.45"/>
</g>
<!-- svc:passbolt&#45;db -->
<g id="node21" class="node">
<title>svc:passbolt&#45;db</title>
<polygon fill="#dfefff" stroke="black" points="139,-36 41,-36 41,0 139,0 139,-36"/>
<text text-anchor="middle" x="90" y="-14.3" font-family="Helvetica,sans-Serif" font-size="14.00">passbolt&#45;db</text>
</g>
<!-- net:passbolt -->
<g id="node34" class="node">
<title>net:passbolt</title>
<ellipse fill="#f4f4f4" stroke="black" cx="271.25" cy="-72" rx="48.99" ry="18"/>
<text text-anchor="middle" x="271.25" y="-68.3" font-family="Helvetica,sans-Serif" font-size="14.00">passbolt</text>
</g>
<!-- svc:passbolt&#45;db&#45;&gt;net:passbolt -->
<g id="edge29" class="edge">
<title>svc:passbolt&#45;db&#45;&gt;net:passbolt</title>
<path fill="none" stroke="black" d="M139.03,-32.47C165.15,-40.34 197.32,-50.03 223.27,-57.85"/>
<polygon fill="black" stroke="black" points="222.3,-61.21 232.88,-60.74 224.32,-54.51 222.3,-61.21"/>
</g>
<!-- svc:passbolt&#45;webapp -->
<g id="node22" class="node">
<title>svc:passbolt&#45;webapp</title>
<polygon fill="#dfefff" stroke="black" points="157.5,-144 22.5,-144 22.5,-108 157.5,-108 157.5,-144"/>
<text text-anchor="middle" x="90" y="-122.3" font-family="Helvetica,sans-Serif" font-size="14.00">passbolt&#45;webapp</text>
</g>
<!-- svc:passbolt&#45;webapp&#45;&gt;net:passbolt -->
<g id="edge30" class="edge">
<title>svc:passbolt&#45;webapp&#45;&gt;net:passbolt</title>
<path fill="none" stroke="black" d="M151.18,-107.87C174.64,-100.8 201.13,-92.82 223.16,-86.19"/>
<polygon fill="black" stroke="black" points="224.37,-89.48 232.94,-83.24 222.35,-82.77 224.37,-89.48"/>
</g>
<!-- svc:passbolt&#45;webapp&#45;&gt;net:traefik -->
<g id="edge31" class="edge">
<title>svc:passbolt&#45;webapp&#45;&gt;net:traefik</title>
<path fill="none" stroke="black" d="M157.92,-136.87C166.32,-140.76 174.04,-145.99 180,-153 190.73,-165.62 251.89,-673.92 266.91,-799.95"/>
<polygon fill="black" stroke="black" points="263.45,-800.46 268.11,-809.97 270.4,-799.63 263.45,-800.46"/>
</g>
<!-- svc:pihole&#45;exporter -->
<g id="node23" class="node">
<title>svc:pihole&#45;exporter</title>
<polygon fill="#dfefff" stroke="black" points="151.5,-1602 28.5,-1602 28.5,-1566 151.5,-1566 151.5,-1602"/>
<text text-anchor="middle" x="90" y="-1580.3" font-family="Helvetica,sans-Serif" font-size="14.00">pihole&#45;exporter</text>
</g>
<!-- svc:pihole&#45;exporter&#45;&gt;net:monitor -->
<g id="edge32" class="edge">
<title>svc:pihole&#45;exporter&#45;&gt;net:monitor</title>
<path fill="none" stroke="black" d="M151.56,-1573.88C161.97,-1569.95 172,-1564.52 180,-1557 242.3,-1498.4 261.83,-1392.88 267.77,-1342.4"/>
<polygon fill="black" stroke="black" points="271.27,-1342.54 268.86,-1332.22 264.31,-1341.79 271.27,-1342.54"/>
</g>
<!-- svc:portainer -->
<g id="node24" class="node">
<title>svc:portainer</title>
<polygon fill="#dfefff" stroke="black" points="130,-576 50,-576 50,-540 130,-540 130,-576"/>
<text text-anchor="middle" x="90" y="-554.3" font-family="Helvetica,sans-Serif" font-size="14.00">portainer</text>
</g>
<!-- svc:portainer&#45;&gt;net:traefik -->
<g id="edge33" class="edge">
<title>svc:portainer&#45;&gt;net:traefik</title>
<path fill="none" stroke="black" d="M130.4,-562.06C147.48,-565.65 166.59,-572.39 180,-585 242.3,-643.6 261.83,-749.12 267.77,-799.6"/>
<polygon fill="black" stroke="black" points="264.31,-800.21 268.86,-809.78 271.27,-799.46 264.31,-800.21"/>
</g>
<!-- svc:prometheus -->
<g id="node25" class="node">
<title>svc:prometheus</title>
<polygon fill="#dfefff" stroke="black" points="140,-1170 40,-1170 40,-1134 140,-1134 140,-1170"/>
<text text-anchor="middle" x="90" y="-1148.3" font-family="Helvetica,sans-Serif" font-size="14.00">prometheus</text>
</g>
<!-- svc:prometheus&#45;&gt;net:monitor -->
<g id="edge34" class="edge">
<title>svc:prometheus&#45;&gt;net:monitor</title>
<path fill="none" stroke="black" d="M140.01,-1160.42C153.86,-1164.44 168.33,-1170.34 180,-1179 218.01,-1207.18 244.97,-1256.44 259.03,-1287.02"/>
<polygon fill="black" stroke="black" points="255.87,-1288.54 263.14,-1296.24 262.27,-1285.69 255.87,-1288.54"/>
</g>
<!-- svc:prometheus&#45;&gt;net:traefik -->
<g id="edge35" class="edge">
<title>svc:prometheus&#45;&gt;net:traefik</title>
<path fill="none" stroke="black" d="M140.38,-1146.01C154.73,-1142.08 169.38,-1135.62 180,-1125 254.99,-1050.04 268.02,-914.87 270.03,-856.31"/>
<polygon fill="black" stroke="black" points="273.53,-856.39 270.29,-846.31 266.53,-856.21 273.53,-856.39"/>
</g>
<!-- svc:searxng&#45;webapp -->
<g id="node26" class="node">
<title>svc:searxng&#45;webapp</title>
<polygon fill="#dfefff" stroke="black" points="156,-522 24,-522 24,-486 156,-486 156,-522"/>
<text text-anchor="middle" x="90" y="-500.3" font-family="Helvetica,sans-Serif" font-size="14.00">searxng&#45;webapp</text>
</g>
<!-- svc:searxng&#45;webapp&#45;&gt;net:traefik -->
<g id="edge36" class="edge">
<title>svc:searxng&#45;webapp&#45;&gt;net:traefik</title>
<path fill="none" stroke="black" d="M156.03,-515.39C164.9,-519.2 173.26,-524.27 180,-531 254.99,-605.96 268.02,-741.13 270.03,-799.69"/>
<polygon fill="black" stroke="black" points="266.53,-799.79 270.29,-809.69 273.53,-799.61 266.53,-799.79"/>
</g>
<!-- svc:shift&#45;recorder&#45;web -->
<g id="node27" class="node">
<title>svc:shift&#45;recorder&#45;web</title>
<polygon fill="#dfefff" stroke="black" points="161,-468 19,-468 19,-432 161,-432 161,-468"/>
<text text-anchor="middle" x="90" y="-446.3" font-family="Helvetica,sans-Serif" font-size="14.00">shift&#45;recorder&#45;web</text>
</g>
<!-- svc:shift&#45;recorder&#45;web&#45;&gt;net:traefik -->
<g id="edge37" class="edge">
<title>svc:shift&#45;recorder&#45;web&#45;&gt;net:traefik</title>
<path fill="none" stroke="black" d="M161.17,-463.42C168.16,-466.96 174.64,-471.4 180,-477 225.12,-524.09 256.34,-725.08 266.59,-799.84"/>
<polygon fill="black" stroke="black" points="263.14,-800.48 267.95,-809.92 270.08,-799.55 263.14,-800.48"/>
</g>
<!-- svc:stockfill -->
<g id="node28" class="node">
<title>svc:stockfill</title>
<polygon fill="#dfefff" stroke="black" points="125,-1008 55,-1008 55,-972 125,-972 125,-1008"/>
<text text-anchor="middle" x="90" y="-986.3" font-family="Helvetica,sans-Serif" font-size="14.00">stockfill</text>
</g>
<!-- svc:stockfill&#45;&gt;net:traefik -->
<g id="edge38" class="edge">
<title>svc:stockfill&#45;&gt;net:traefik</title>
<path fill="none" stroke="black" d="M125.19,-985.29C142.88,-981.52 164.05,-974.83 180,-963 218.01,-934.82 244.97,-885.56 259.03,-854.98"/>
<polygon fill="black" stroke="black" points="262.27,-856.31 263.14,-845.76 255.87,-853.46 262.27,-856.31"/>
</g>
<!-- svc:telegraf -->
<g id="node29" class="node">
<title>svc:telegraf</title>
<polygon fill="#dfefff" stroke="black" points="125.5,-1548 54.5,-1548 54.5,-1512 125.5,-1512 125.5,-1548"/>
<text text-anchor="middle" x="90" y="-1526.3" font-family="Helvetica,sans-Serif" font-size="14.00">telegraf</text>
</g>
<!-- svc:telegraf&#45;&gt;net:monitor -->
<g id="edge39" class="edge">
<title>svc:telegraf&#45;&gt;net:monitor</title>
<path fill="none" stroke="black" d="M125.91,-1526.19C143.8,-1522.68 164.94,-1515.94 180,-1503 229.98,-1460.05 254.42,-1383.2 264.44,-1341.96"/>
<polygon fill="black" stroke="black" points="267.88,-1342.58 266.73,-1332.05 261.07,-1341 267.88,-1342.58"/>
</g>
<!-- svc:traefik -->
<g id="node30" class="node">
<title>svc:traefik</title>
<polygon fill="#dfefff" stroke="black" points="121,-954 59,-954 59,-918 121,-918 121,-954"/>
<text text-anchor="middle" x="90" y="-932.3" font-family="Helvetica,sans-Serif" font-size="14.00">traefik</text>
</g>
<!-- svc:traefik&#45;&gt;net:traefik -->
<g id="edge40" class="edge">
<title>svc:traefik&#45;&gt;net:traefik</title>
<path fill="none" stroke="black" d="M121.17,-930.3C139.05,-926.1 161.71,-919.3 180,-909 206.25,-894.22 231.35,-870.65 248.38,-852.74"/>
<polygon fill="black" stroke="black" points="251.37,-854.67 255.62,-844.97 246.24,-849.9 251.37,-854.67"/>
</g>
</g>
</svg>