[mod] network.svg

This commit is contained in:
Andy Bunce 2025-03-21 10:38:31 +00:00
parent 5599024b49
commit 8307b2af5d
2 changed files with 218 additions and 227 deletions

View file

@ -1,371 +1,352 @@
<?xml version="1.0" standalone="no"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="100%" height="100%" viewBox="0.00 0.00 2338.00 1430.55">
<g id="graph0" class="graph" transform="translate(4,1426.550048828125) scale(1)" data-name="saffron">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="100%" height="100%" viewBox="0.00 0.00 2391.49 1461.50">
<g id="graph0" class="graph" transform="translate(4,1457.5) scale(1)" data-name="saffron">
<polygon fill="white" stroke="none" points="-4,4 -4,-1426.55 2334,-1426.55 2334,4 -4,4"/>
<polygon fill="lightgrey" stroke="none" points="-4,4 -4,-1457.5 2387.49,-1457.5 2387.49,4 -4,4" style=""/>
<g id="clust1" class="cluster" data-name="cluster_x">
<polygon fill="none" stroke="black" points="0,-298.55 0,-1054.55 734.53,-1054.55 734.53,-298.55 0,-298.55"/>
<text text-anchor="middle" x="367.26" y="-1023.55" font-family="Arial" font-size="30.00">The Internet </text>
<polygon fill="white" stroke="black" points="0,-256.5 0,-1248.5 892.99,-1248.5 892.99,-256.5 0,-256.5" style=""/>
<text text-anchor="middle" x="446.49" y="-1208.5" font-family="Arial" font-size="40.00" style="">The Internet </text>
</g>
<g id="clust2" class="cluster" data-name="cluster_a">
<polygon fill="#bdffa4" stroke="black" points="17.44,-744.55 17.44,-1002.55 717.09,-1002.55 717.09,-744.55 17.44,-744.55"/>
<text text-anchor="middle" x="367.26" y="-971.55" font-family="Arial" font-size="30.00">quodatum.duckdns.org</text>
<polygon fill="#bdffa4" stroke="black" points="16.31,-741.5 16.31,-1072.5 876.68,-1072.5 876.68,-741.5 16.31,-741.5" style=""/>
<text text-anchor="middle" x="446.49" y="-1032.5" font-family="Arial" font-size="40.00" style="">quodatum.duckdns.org</text>
</g>
<g id="clust3" class="cluster" data-name="cluster_b">
<polygon fill="#bdffa4" stroke="black" points="89.36,-306.55 89.36,-672.55 642.98,-672.55 642.98,-306.55 89.36,-306.55"/>
<text text-anchor="middle" x="366.17" y="-641.55" font-family="Arial" font-size="30.00">orlop.duckdns.org</text>
<polygon fill="#bdffa4" stroke="black" points="107.9,-264.5 107.9,-733.5 787.12,-733.5 787.12,-264.5 107.9,-264.5" style=""/>
<text text-anchor="middle" x="447.51" y="-693.5" font-family="Arial" font-size="40.00" style="">orlop.duckdns.org</text>
</g>
<g id="clust4" class="cluster" data-name="cluster_s">
<polygon fill="none" stroke="black" points="751.96,-32.55 751.96,-1414.55 2312.56,-1414.55 2312.56,-32.55 751.96,-32.55"/>
<text text-anchor="middle" x="1532.26" y="-1383.55" font-family="Arial" font-size="30.00">Saffron @  80.229.26.80</text>
<polygon fill="white" stroke="black" points="907.41,-31.5 907.41,-1445.5 2367.18,-1445.5 2367.18,-31.5 907.41,-31.5" style=""/>
<text text-anchor="middle" x="1637.3" y="-1414.5" font-family="Arial" font-size="30.00" style="">Saffron @  80.229.26.80</text>
</g>
<g id="clust5" class="cluster" data-name="cluster_c">
<g id="a_clust5"><a xlink:href="http://fins.local:8090/system/xu4" xlink:title="XU4 on beszel">
<polygon fill="#ffdead" stroke="black" points="769.4,-1050.55 769.4,-1362.55 1510.47,-1362.55 1510.47,-1050.55 769.4,-1050.55"/>
<text text-anchor="middle" x="1139.93" y="-1331.55" font-family="Arial" font-size="30.00">xu4</text>
<g id="a_clust5"><a xlink:href="http://fins.local:8090/system/xu4" xlink:title="XU4 on beszel" style="">
<polygon fill="#ffdead" stroke="black" points="923.72,-1081.5 923.72,-1393.5 1616.91,-1393.5 1616.91,-1081.5 923.72,-1081.5" style=""/>
<text text-anchor="middle" x="1270.31" y="-1362.5" font-family="Arial" font-size="30.00" style="">xu4</text>
</a>
</g>
</g>
<g id="clust7" class="cluster" data-name="cluster_d">
<polygon fill="#ffdead" stroke="black" points="1554.06,-572.55 1554.06,-884.55 2295.13,-884.55 2295.13,-572.55 1554.06,-572.55"/>
<text text-anchor="middle" x="1924.59" y="-853.55" font-family="Arial" font-size="30.00">fins</text>
<polygon fill="#ffdead" stroke="black" points="1657.68,-587.5 1657.68,-899.5 2350.87,-899.5 2350.87,-587.5 1657.68,-587.5" style=""/>
<text text-anchor="middle" x="2004.28" y="-868.5" font-family="Arial" font-size="30.00" style="">fins</text>
</g>
<g id="clust9" class="cluster" data-name="cluster_e">
<polygon fill="#ffdead" stroke="black" points="1161.73,-40.55 1161.73,-352.55 1902.8,-352.55 1902.8,-40.55 1161.73,-40.55"/>
<text text-anchor="middle" x="1532.26" y="-321.55" font-family="Arial" font-size="30.00">omv</text>
<polygon fill="#ffdead" stroke="black" points="1290.7,-39.5 1290.7,-351.5 1983.89,-351.5 1983.89,-39.5 1290.7,-39.5" style=""/>
<text text-anchor="middle" x="1637.3" y="-320.5" font-family="Arial" font-size="30.00" style="">omv</text>
</g>
<g id="clust11" class="cluster" data-name="cluster_f">
<polygon fill="#ffdead" stroke="black" points="1161.73,-892.55 1161.73,-1042.55 1824.33,-1042.55 1824.33,-892.55 1161.73,-892.55"/>
<text text-anchor="middle" x="1493.03" y="-1011.55" font-family="Arial" font-size="30.00">odroid-n2</text>
<polygon fill="#ffdead" stroke="black" points="1290.7,-907.5 1290.7,-1073.5 1918.65,-1073.5 1918.65,-907.5 1290.7,-907.5" style=""/>
<text text-anchor="middle" x="1604.67" y="-1042.5" font-family="Arial" font-size="30.00" style="">odroid-n2</text>
</g>
<g id="clust13" class="cluster" data-name="cluster_g">
<polygon fill="#ffdead" stroke="black" points="1161.73,-360.55 1161.73,-564.55 1902.8,-564.55 1902.8,-360.55 1161.73,-360.55"/>
<text text-anchor="middle" x="1532.26" y="-533.55" font-family="Arial" font-size="30.00">n2-plus</text>
<polygon fill="#ffdead" stroke="black" points="1290.7,-359.5 1290.7,-579.5 1983.89,-579.5 1983.89,-359.5 1290.7,-359.5" style=""/>
<text text-anchor="middle" x="1637.3" y="-548.5" font-family="Arial" font-size="30.00" style="">n2-plus</text>
</g>
<!-- a1 -->
<g id="node1" class="node" pointer-events="visible" data-name="a1">
<g id="a_node1"><a xlink:href="https://wiki.quodatum.duckdns.org" xlink:title="Tiddly wiki" target="saffron">
<polygon fill="white" stroke="black" points="438.56,-950.55 294.56,-950.55 294.56,-914.55 438.56,-914.55 438.56,-950.55"/>
<text text-anchor="middle" x="366.56" y="-928.35" font-family="Arial" font-size="14.00">wiki</text>
<g id="a_node1"><a xlink:href="https://wiki.quodatum.duckdns.org" xlink:title="Tiddly wiki" target="saffron" style="">
<polygon fill="white" stroke="black" points="518.18,-1008.2 374.18,-1008.2 374.18,-956.8 518.18,-956.8 518.18,-1008.2" style=""/>
<text text-anchor="middle" x="446.18" y="-971.7" font-family="Arial" font-size="36.00" style="">wiki</text>
</a>
</g>
</g>
<!-- c2 -->
<g id="node14" class="node" pointer-events="visible" data-name="c2">
<g id="a_node14"><a xlink:href="http://odroid.local:8088" xlink:title="Tiddly wiki" target="saffron">
<polygon fill="white" stroke="black" points="1015.56,-1256.55 871.56,-1256.55 871.56,-1220.55 1015.56,-1220.55 1015.56,-1256.55"/>
<text text-anchor="middle" x="943.56" y="-1234.35" font-family="Arial" font-size="14.00">tiddy-wiki:8088</text>
<g id="a_node14"><a xlink:href="http://odroid.local:8088" xlink:title="Tiddly wiki" target="saffron" style="">
<polygon fill="white" stroke="black" points="1159.18,-1233.5 1015.18,-1233.5 1015.18,-1197.5 1159.18,-1197.5 1159.18,-1233.5" style=""/>
<text text-anchor="middle" x="1087.18" y="-1211.3" font-family="Arial" font-size="14.00" style="">tiddy-wiki:8088</text>
</a>
</g>
</g>
<!-- a1&#45;&gt;c2 -->
<g id="edge13" class="edge" data-name="a1-&gt;c2">
<path fill="none" stroke="black" d="M394.78,-950.97C467.06,-999.26 670.97,-1131.29 855.56,-1211.55 859.34,-1213.19 863.25,-1214.78 867.22,-1216.31"/>
<polygon fill="black" stroke="black" points="865.83,-1219.53 876.42,-1219.68 868.24,-1212.95 865.83,-1219.53"/>
<path fill="none" stroke="black" d="M518.27,-986.02C561.56,-989.69 617.53,-997.19 665.18,-1012.5 824.93,-1063.82 844.17,-1124.25 999.18,-1188.5 1003.17,-1190.15 1007.31,-1191.76 1011.5,-1193.32" style=""/>
<polygon fill="black" stroke="black" points="1010.01,-1196.5 1020.6,-1196.56 1012.36,-1189.91 1010.01,-1196.5" style=""/>
</g>
<!-- a2 -->
<g id="node2" class="node" pointer-events="visible" data-name="a2">
<g id="a_node2"><a xlink:href="https://about.quodatum.duckdns.org" xlink:title="about" target="saffron">
<polygon fill="white" stroke="black" points="438.56,-896.55 294.56,-896.55 294.56,-860.55 438.56,-860.55 438.56,-896.55"/>
<text text-anchor="middle" x="366.56" y="-874.35" font-family="Arial" font-size="14.00">about</text>
<g id="a_node2"><a xlink:href="https://about.quodatum.duckdns.org" xlink:title="about" target="saffron" style="">
<polygon fill="white" stroke="black" points="518.18,-939.2 374.18,-939.2 374.18,-887.8 518.18,-887.8 518.18,-939.2" style=""/>
<text text-anchor="middle" x="446.18" y="-902.7" font-family="Arial" font-size="36.00" style="">about</text>
</a>
</g>
</g>
<!-- c0 -->
<g id="node12" class="node" pointer-events="visible" data-name="c0">
<polygon fill="white" stroke="black" points="1015.56,-1202.55 871.56,-1202.55 871.56,-1166.55 1015.56,-1166.55 1015.56,-1202.55"/>
<text text-anchor="middle" x="943.56" y="-1180.35" font-family="Arial" font-size="14.00">caddy</text>
<polygon fill="white" stroke="black" points="1159.18,-1125.5 1015.18,-1125.5 1015.18,-1089.5 1159.18,-1089.5 1159.18,-1125.5" style=""/>
<text text-anchor="middle" x="1087.18" y="-1103.3" font-family="Arial" font-size="14.00" style="">caddy</text>
</g>
<!-- a2&#45;&gt;c0 -->
<g id="edge11" class="edge" data-name="a2-&gt;c0">
<path fill="none" stroke="black" d="M438.88,-882.01C469.64,-885.5 505.4,-892.33 535.56,-905.55 701.36,-978.24 695.33,-1073.32 855.56,-1157.55 858.38,-1159.04 861.3,-1160.45 864.28,-1161.8"/>
<polygon fill="black" stroke="black" points="862.63,-1164.91 873.21,-1165.57 865.35,-1158.46 862.63,-1164.91"/>
<path fill="none" stroke="black" d="M518.64,-920.83C561.58,-926.18 617.04,-934.75 665.18,-947.5 802.88,-983.97 957.8,-1049.56 1035.7,-1084.36" style=""/>
<polygon fill="black" stroke="black" points="1034.23,-1087.54 1044.79,-1088.44 1037.1,-1081.15 1034.23,-1087.54" style=""/>
</g>
<!-- a5 -->
<g id="node3" class="node" pointer-events="visible" data-name="a5">
<g id="a_node3"><a xlink:href="https://oi.quodatum.duckdns.org" xlink:title="openwebUI" target="saffron">
<polygon fill="white" stroke="black" points="438.56,-788.55 294.56,-788.55 294.56,-752.55 438.56,-752.55 438.56,-788.55"/>
<text text-anchor="middle" x="366.56" y="-766.35" font-family="Arial" font-size="14.00">oi</text>
<g id="a_node3"><a xlink:href="https://oi.quodatum.duckdns.org" xlink:title="openwebUI" target="saffron" style="">
<polygon fill="white" stroke="black" points="518.18,-801.2 374.18,-801.2 374.18,-749.8 518.18,-749.8 518.18,-801.2" style=""/>
<text text-anchor="middle" x="446.18" y="-764.7" font-family="Arial" font-size="36.00" style="">oi</text>
</a>
</g>
</g>
<!-- d2 -->
<g id="node22" class="node" pointer-events="visible" data-name="d2">
<g id="a_node22"><a xlink:href="http://fins.local:3001/" xlink:title="Open WebUI" target="saffron">
<polygon fill="white" stroke="black" points="1800.56,-616.55 1656.56,-616.55 1656.56,-580.55 1800.56,-580.55 1800.56,-616.55"/>
<text text-anchor="middle" x="1728.56" y="-594.35" font-family="Arial" font-size="14.00">openwebui:3001</text>
<g id="a_node22"><a xlink:href="http://fins.local:3001/" xlink:title="Open WebUI" target="saffron" style="">
<polygon fill="white" stroke="black" points="1893.18,-631.5 1749.18,-631.5 1749.18,-595.5 1893.18,-595.5 1893.18,-631.5" style=""/>
<text text-anchor="middle" x="1821.18" y="-609.3" font-family="Arial" font-size="14.00" style="">openwebui:3001</text>
</a>
</g>
</g>
<!-- a5&#45;&gt;d2 -->
<g id="edge15" class="edge" data-name="a5-&gt;d2">
<path fill="none" stroke="black" d="M438.72,-771.26C469.79,-769.09 505.83,-763.09 535.56,-748.55 940.17,-550.77 839.95,-207.59 1256.56,-36.55 1322.35,-9.55 1357.07,2.41 1416.56,-36.55 1632.36,-177.87 1461.81,-390.61 1648.56,-568.55 1650.61,-570.5 1652.79,-572.33 1655.08,-574.03"/>
<polygon fill="black" stroke="black" points="1652.81,-576.73 1663.11,-579.24 1656.63,-570.86 1652.81,-576.73"/>
<path fill="none" stroke="black" d="M518.6,-773.82C562.92,-770.24 619.86,-760.89 665.18,-737.5 1059.22,-534.1 964.07,-204.18 1374.18,-35.5 1439.94,-8.45 1475.68,4.94 1534.18,-35.5 1748.35,-183.54 1557.24,-399.24 1741.18,-583.5 1742.99,-585.31 1744.92,-587.02 1746.95,-588.62" style=""/>
<polygon fill="black" stroke="black" points="1744.88,-591.45 1755.12,-594.17 1748.82,-585.66 1744.88,-591.45" style=""/>
</g>
<!-- a3 -->
<g id="node4" class="node" pointer-events="visible" data-name="a3">
<g id="a_node4"><a xlink:href="https://git.quodatum.duckdns.org" xlink:title="Forgejo" target="saffron">
<polygon fill="white" stroke="black" points="438.56,-842.55 294.56,-842.55 294.56,-806.55 438.56,-806.55 438.56,-842.55"/>
<text text-anchor="middle" x="366.56" y="-820.35" font-family="Arial" font-size="14.00">git</text>
<g id="a_node4"><a xlink:href="https://git.quodatum.duckdns.org" xlink:title="Forgejo" target="saffron" style="">
<polygon fill="white" stroke="black" points="518.18,-870.2 374.18,-870.2 374.18,-818.8 518.18,-818.8 518.18,-870.2" style=""/>
<text text-anchor="middle" x="446.18" y="-833.7" font-family="Arial" font-size="36.00" style="">git</text>
</a>
</g>
</g>
<!-- e1 -->
<g id="node30" class="node" pointer-events="visible" data-name="e1">
<g id="a_node30"><a xlink:href="http://omv.local:8300" xlink:title="tvheadend" target="saffron">
<polygon fill="white" stroke="black" points="1408.56,-300.55 1264.56,-300.55 1264.56,-264.55 1408.56,-264.55 1408.56,-300.55"/>
<text text-anchor="middle" x="1336.56" y="-278.35" font-family="Arial" font-size="14.00">forgejo:8300</text>
<g id="a_node30"><a xlink:href="http://omv.local:8300" xlink:title="tvheadend" target="saffron" style="">
<polygon fill="white" stroke="black" points="1526.18,-299.5 1382.18,-299.5 1382.18,-263.5 1526.18,-263.5 1526.18,-299.5" style=""/>
<text text-anchor="middle" x="1454.18" y="-277.3" font-family="Arial" font-size="14.00" style="">forgejo:8300</text>
</a>
</g>
</g>
<!-- a3&#45;&gt;e1 -->
<g id="edge14" class="edge" data-name="a3-&gt;e1">
<path fill="none" stroke="black" d="M438.73,-819.66C469.29,-815.91 504.94,-809.28 535.56,-797.55 866.9,-670.69 1205.42,-394.16 1305.81,-308.42"/>
<polygon fill="black" stroke="black" points="1308.05,-311.12 1313.36,-301.95 1303.49,-305.8 1308.05,-311.12"/>
<path fill="none" stroke="black" d="M518.43,-841.22C562.03,-837.32 618.27,-828.85 665.18,-810.5 995.52,-681.24 1327.52,-395.28 1424.78,-307.58" style=""/>
<polygon fill="black" stroke="black" points="1427.01,-310.28 1432.08,-300.98 1422.31,-305.09 1427.01,-310.28" style=""/>
</g>
<!-- b1 -->
<g id="node5" class="node" pointer-events="visible" data-name="b1">
<g id="a_node5"><a xlink:href="https://about.orlop.duckdns.org" xlink:title="about" target="saffron">
<polygon fill="white" stroke="black" points="438.56,-620.55 294.56,-620.55 294.56,-584.55 438.56,-584.55 438.56,-620.55"/>
<text text-anchor="middle" x="366.56" y="-598.35" font-family="Arial" font-size="14.00">about</text>
<g id="a_node5"><a xlink:href="https://about.orlop.duckdns.org" xlink:title="about" target="saffron" style="">
<polygon fill="white" stroke="black" points="518.18,-669.2 374.18,-669.2 374.18,-617.8 518.18,-617.8 518.18,-669.2" style=""/>
<text text-anchor="middle" x="446.18" y="-632.7" font-family="Arial" font-size="36.00" style="">about</text>
</a>
</g>
</g>
<!-- b1&#45;&gt;c0 -->
<g id="edge12" class="edge" data-name="b1-&gt;c0">
<path fill="none" stroke="black" d="M438.98,-598.36C470.81,-599.74 507.39,-606.09 535.56,-624.55 766.66,-776.01 638.22,-986.95 855.56,-1157.55 857.53,-1159.1 859.59,-1160.56 861.73,-1161.93"/>
<polygon fill="black" stroke="black" points="859.72,-1164.82 870.15,-1166.7 863.17,-1158.73 859.72,-1164.82"/>
<path fill="none" stroke="black" d="M518.21,-667.64C562.25,-684.15 619.03,-708.3 665.18,-737.5 832.81,-843.54 1000.42,-1015.31 1061.75,-1080.89" style=""/>
<polygon fill="black" stroke="black" points="1058.95,-1083.02 1068.33,-1087.96 1064.08,-1078.25 1058.95,-1083.02" style=""/>
</g>
<!-- b2 -->
<g id="node6" class="node" pointer-events="visible" data-name="b2">
<g id="a_node6"><a xlink:href="https://kodi.orlop.duckdns.org" xlink:title="Kodi" target="saffron">
<polygon fill="white" stroke="black" points="438.56,-566.55 294.56,-566.55 294.56,-530.55 438.56,-530.55 438.56,-566.55"/>
<text text-anchor="middle" x="366.56" y="-544.35" font-family="Arial" font-size="14.00">kodi</text>
<g id="a_node6"><a xlink:href="https://kodi.orlop.duckdns.org" xlink:title="Kodi" target="saffron" style="">
<polygon fill="white" stroke="black" points="518.18,-600.2 374.18,-600.2 374.18,-548.8 518.18,-548.8 518.18,-600.2" style=""/>
<text text-anchor="middle" x="446.18" y="-563.7" font-family="Arial" font-size="36.00" style="">kodi</text>
</a>
</g>
</g>
<!-- f1 -->
<g id="node39" class="node" pointer-events="visible" data-name="f1">
<g id="a_node39"><a xlink:href="http://odroid-n2:8080" xlink:title="kodi" target="saffron">
<polygon fill="white" stroke="black" points="1408.56,-990.55 1264.56,-990.55 1264.56,-954.55 1408.56,-954.55 1408.56,-990.55"/>
<text text-anchor="middle" x="1336.56" y="-968.35" font-family="Arial" font-size="14.00">kodi:8080</text>
<g id="a_node39"><a xlink:href="http://odroid-n2:8080" xlink:title="kodi" target="saffron" style="">
<polygon fill="white" stroke="black" points="1526.18,-1011.5 1382.18,-1011.5 1382.18,-975.5 1526.18,-975.5 1526.18,-1011.5" style=""/>
<text text-anchor="middle" x="1454.18" y="-989.3" font-family="Arial" font-size="14.00" style="">kodi:8080</text>
</a>
</g>
</g>
<!-- b2&#45;&gt;f1 -->
<g id="edge16" class="edge" data-name="b2-&gt;f1">
<path fill="none" stroke="black" d="M439.03,-555C469.32,-559.02 504.68,-565.43 535.56,-575.55 877.82,-687.74 925.06,-804.72 1256.56,-945.55 1260.14,-947.07 1263.83,-948.57 1267.58,-950.03"/>
<polygon fill="black" stroke="black" points="1266.23,-953.26 1276.82,-953.52 1268.7,-946.71 1266.23,-953.26"/>
<path fill="none" stroke="black" d="M518.64,-580.08C561.82,-584.82 617.54,-593.35 665.18,-608.5 1000.46,-715.07 1054.14,-814.4 1374.18,-960.5 1381.62,-963.89 1389.5,-967.35 1397.3,-970.69" style=""/>
<polygon fill="black" stroke="black" points="1395.87,-973.89 1406.45,-974.56 1398.6,-967.44 1395.87,-973.89" style=""/>
</g>
<!-- b3 -->
<g id="node7" class="node" pointer-events="visible" data-name="b3">
<g id="a_node7"><a xlink:href="https://tvheadend.orlop.duckdns.org" xlink:title="TV headend" target="saffron">
<polygon fill="white" stroke="black" points="438.56,-512.55 294.56,-512.55 294.56,-476.55 438.56,-476.55 438.56,-512.55"/>
<text text-anchor="middle" x="366.56" y="-490.35" font-family="Arial" font-size="14.00">tvheadend</text>
<g id="a_node7"><a xlink:href="https://tvheadend.orlop.duckdns.org" xlink:title="TV headend" target="saffron" style="">
<polygon fill="white" stroke="black" points="538.33,-531.2 354.03,-531.2 354.03,-479.8 538.33,-479.8 538.33,-531.2" style=""/>
<text text-anchor="middle" x="446.18" y="-494.7" font-family="Arial" font-size="36.00" style="">tvheadend</text>
</a>
</g>
</g>
<!-- g1 -->
<g id="node43" class="node" pointer-events="visible" data-name="g1">
<g id="a_node43"><a xlink:href="http://n2-plus.local:9981" xlink:title="tvheadend" target="saffron">
<polygon fill="white" stroke="black" points="1408.56,-512.55 1264.56,-512.55 1264.56,-476.55 1408.56,-476.55 1408.56,-512.55"/>
<text text-anchor="middle" x="1336.56" y="-490.35" font-family="Arial" font-size="14.00">tvheadend:9981</text>
<g id="a_node43"><a xlink:href="http://n2-plus.local:9981" xlink:title="tvheadend" target="saffron" style="">
<polygon fill="white" stroke="black" points="1526.18,-523.5 1382.18,-523.5 1382.18,-487.5 1526.18,-487.5 1526.18,-523.5" style=""/>
<text text-anchor="middle" x="1454.18" y="-501.3" font-family="Arial" font-size="14.00" style="">tvheadend:9981</text>
</a>
</g>
</g>
<!-- b3&#45;&gt;g1 -->
<g id="edge17" class="edge" data-name="b3-&gt;g1">
<path fill="none" stroke="black" d="M438.74,-494.55C614.08,-494.55 1066.11,-494.55 1252.9,-494.55"/>
<polygon fill="black" stroke="black" points="1252.77,-498.05 1262.77,-494.55 1252.77,-491.05 1252.77,-498.05"/>
<path fill="none" stroke="black" d="M538.67,-505.5C732.95,-505.5 1184.08,-505.5 1370.4,-505.5" style=""/>
<polygon fill="black" stroke="black" points="1370.23,-509 1380.23,-505.5 1370.23,-502 1370.23,-509" style=""/>
</g>
<!-- b4 -->
<g id="node8" class="node" pointer-events="visible" data-name="b4">
<g id="a_node8"><a xlink:href="https://emby.orlop.duckdns.org" xlink:title="Emby" target="saffron">
<polygon fill="white" stroke="black" points="438.56,-458.55 294.56,-458.55 294.56,-422.55 438.56,-422.55 438.56,-458.55"/>
<text text-anchor="middle" x="366.56" y="-436.35" font-family="Arial" font-size="14.00">emby</text>
<g id="a_node8"><a xlink:href="https://emby.orlop.duckdns.org" xlink:title="Emby" target="saffron" style="">
<polygon fill="white" stroke="black" points="518.18,-462.2 374.18,-462.2 374.18,-410.8 518.18,-410.8 518.18,-462.2" style=""/>
<text text-anchor="middle" x="446.18" y="-425.7" font-family="Arial" font-size="36.00" style="">emby</text>
</a>
</g>
</g>
<!-- e3 -->
<g id="node32" class="node" pointer-events="visible" data-name="e3">
<g id="a_node32"><a xlink:href="http://omv.local:8097" xlink:title="Emby" target="saffron">
<polygon fill="white" stroke="black" points="1408.56,-246.55 1264.56,-246.55 1264.56,-210.55 1408.56,-210.55 1408.56,-246.55"/>
<text text-anchor="middle" x="1336.56" y="-224.35" font-family="Arial" font-size="14.00">emby:8097</text>
<g id="a_node32"><a xlink:href="http://omv.local:8097" xlink:title="Emby" target="saffron" style="">
<polygon fill="white" stroke="black" points="1526.18,-245.5 1382.18,-245.5 1382.18,-209.5 1526.18,-209.5 1526.18,-245.5" style=""/>
<text text-anchor="middle" x="1454.18" y="-223.3" font-family="Arial" font-size="14.00" style="">emby:8097</text>
</a>
</g>
</g>
<!-- b4&#45;&gt;e3 -->
<g id="edge18" class="edge" data-name="b4-&gt;e3">
<path fill="none" stroke="black" d="M438.87,-430.19C468.82,-425.55 503.96,-419.74 535.56,-413.55 799.39,-361.91 1108.66,-285.96 1253.24,-249.54"/>
<polygon fill="black" stroke="black" points="1253.89,-252.98 1262.73,-247.14 1252.18,-246.2 1253.89,-252.98"/>
<path fill="none" stroke="black" d="M518.56,-426.54C561.22,-420.29 616.44,-411.7 665.18,-402.5 924.2,-353.59 1228.01,-282.07 1370.94,-247.58" style=""/>
<polygon fill="black" stroke="black" points="1371.42,-251.07 1380.31,-245.31 1369.77,-244.26 1371.42,-251.07" style=""/>
</g>
<!-- b5 -->
<g id="node9" class="node" pointer-events="visible" data-name="b5">
<g id="a_node9"><a xlink:href="https://jellyfin.orlop.duckdns.org" xlink:title="Jellyfin" target="saffron">
<polygon fill="white" stroke="black" points="438.56,-404.55 294.56,-404.55 294.56,-368.55 438.56,-368.55 438.56,-404.55"/>
<text text-anchor="middle" x="366.56" y="-382.35" font-family="Arial" font-size="14.00">jellyfin</text>
<g id="a_node9"><a xlink:href="https://jellyfin.orlop.duckdns.org" xlink:title="Jellyfin" target="saffron" style="">
<polygon fill="white" stroke="black" points="518.18,-393.2 374.18,-393.2 374.18,-341.8 518.18,-341.8 518.18,-393.2" style=""/>
<text text-anchor="middle" x="446.18" y="-356.7" font-family="Arial" font-size="36.00" style="">jellyfin</text>
</a>
</g>
</g>
<!-- e2 -->
<g id="node31" class="node" pointer-events="visible" data-name="e2">
<g id="a_node31"><a xlink:href="http://omv.local:8096" xlink:title="jellyfin" target="saffron">
<polygon fill="white" stroke="black" points="1408.56,-192.55 1264.56,-192.55 1264.56,-156.55 1408.56,-156.55 1408.56,-192.55"/>
<text text-anchor="middle" x="1336.56" y="-170.35" font-family="Arial" font-size="14.00">jellyfin:8096</text>
<g id="a_node31"><a xlink:href="http://omv.local:8096" xlink:title="jellyfin" target="saffron" style="">
<polygon fill="white" stroke="black" points="1526.18,-191.5 1382.18,-191.5 1382.18,-155.5 1526.18,-155.5 1526.18,-191.5" style=""/>
<text text-anchor="middle" x="1454.18" y="-169.3" font-family="Arial" font-size="14.00" style="">jellyfin:8096</text>
</a>
</g>
</g>
<!-- b5&#45;&gt;e2 -->
<g id="edge19" class="edge" data-name="b5-&gt;e2">
<path fill="none" stroke="black" d="M438.87,-376.19C468.82,-371.55 503.96,-365.74 535.56,-359.55 799.39,-307.91 1108.66,-231.96 1253.24,-195.54"/>
<polygon fill="black" stroke="black" points="1253.89,-198.98 1262.73,-193.14 1252.18,-192.2 1253.89,-198.98"/>
<path fill="none" stroke="black" d="M518.26,-360.63C561.3,-355.44 617.01,-346.86 665.18,-333.5 819.62,-290.64 842.75,-232.44 999.18,-197.5 1126.42,-169.08 1278.48,-167.34 1370.35,-169.69" style=""/>
<polygon fill="black" stroke="black" points="1370.2,-173.18 1380.29,-169.96 1370.39,-166.19 1370.2,-173.18" style=""/>
</g>
<!-- b6 -->
<g id="node10" class="node" pointer-events="visible" data-name="b6">
<g id="a_node10"><a xlink:href="https://immich.orlop.duckdns.org" xlink:title="Immich" target="saffron">
<polygon fill="white" stroke="black" points="438.56,-350.55 294.56,-350.55 294.56,-314.55 438.56,-314.55 438.56,-350.55"/>
<text text-anchor="middle" x="366.56" y="-328.35" font-family="Arial" font-size="14.00">Immich</text>
<g id="a_node10"><a xlink:href="https://immich.orlop.duckdns.org" xlink:title="Immich" target="saffron" style="">
<polygon fill="white" stroke="black" points="518.18,-324.2 374.18,-324.2 374.18,-272.8 518.18,-272.8 518.18,-324.2" style=""/>
<text text-anchor="middle" x="446.18" y="-287.7" font-family="Arial" font-size="36.00" style="">Immich</text>
</a>
</g>
</g>
<!-- e7 -->
<g id="node36" class="node" pointer-events="visible" data-name="e7">
<g id="a_node36"><a xlink:href="http://omv.local:2283/" xlink:title="Photos" target="saffron">
<polygon fill="white" stroke="black" points="1800.56,-84.55 1656.56,-84.55 1656.56,-48.55 1800.56,-48.55 1800.56,-84.55"/>
<text text-anchor="middle" x="1728.56" y="-62.35" font-family="Arial" font-size="14.00">immich:2283</text>
<g id="a_node36"><a xlink:href="http://omv.local:2283/" xlink:title="Photos" target="saffron" style="">
<polygon fill="white" stroke="black" points="1893.18,-83.5 1749.18,-83.5 1749.18,-47.5 1893.18,-47.5 1893.18,-83.5" style=""/>
<text text-anchor="middle" x="1821.18" y="-61.3" font-family="Arial" font-size="14.00" style="">immich:2283</text>
</a>
</g>
</g>
<!-- b6&#45;&gt;e7 -->
<g id="edge20" class="edge" data-name="b6-&gt;e7">
<path fill="none" stroke="black" d="M403.54,-314.19C521.75,-255.02 910.38,-69.67 1256.56,-8.55 1398.07,16.43 1565.38,-19.55 1657.65,-45.02"/>
<polygon fill="black" stroke="black" points="1656.5,-48.33 1667.07,-47.66 1658.39,-41.59 1656.5,-48.33"/>
<path fill="none" stroke="black" d="M507.47,-272.37C652.99,-210.91 1036.46,-58.43 1374.18,-6.5 1506.88,13.91 1662.46,-19.69 1750.36,-43.97" style=""/>
<polygon fill="black" stroke="black" points="1749.23,-47.29 1759.81,-46.62 1751.13,-40.55 1749.23,-47.29" style=""/>
</g>
<!-- vpn -->
<g id="node11" class="node" pointer-events="visible" data-name="vpn">
<ellipse fill="rgb(173, 216, 230)" stroke="rgb(0, 0, 0)" cx="366.56" cy="-707.55" rx="27" ry="27"/>
<text text-anchor="middle" x="366.56" y="-703.35" font-family="Arial" font-size="14.00">vpn</text>
<ellipse fill="lightblue" stroke="black" cx="446.18" cy="-1132.5" rx="52.21" ry="52.21" style=""/>
<text text-anchor="middle" x="446.18" y="-1121.7" font-family="Arial" font-size="36.00" style="">vpn</text>
</g>
<!-- c4 -->
<g id="node16" class="node" pointer-events="visible" data-name="c4">
<g id="a_node16"><a xlink:title="VPN service" target="saffron">
<polygon fill="white" stroke="black" points="1015.56,-1094.55 871.56,-1094.55 871.56,-1058.55 1015.56,-1058.55 1015.56,-1094.55"/>
<text text-anchor="middle" x="943.56" y="-1072.35" font-family="Arial" font-size="14.00">wireguard:51820</text>
<g id="a_node16"><a xlink:title="VPN service" target="saffron" style="">
<polygon fill="white" stroke="black" points="1159.18,-1341.5 1015.18,-1341.5 1015.18,-1305.5 1159.18,-1305.5 1159.18,-1341.5" style=""/>
<text text-anchor="middle" x="1087.18" y="-1319.3" font-family="Arial" font-size="14.00" style="">wireguard:51820</text>
</a>
</g>
</g>
<!-- vpn&#45;&gt;c4 -->
<g id="edge21" class="edge" data-name="vpn-&gt;c4">
<path fill="none" stroke="black" d="M393.84,-708.73C428,-711.13 488.81,-718.43 535.56,-740.55 704.05,-820.29 861.77,-985.48 919.44,-1049.95"/>
<polygon fill="black" stroke="black" points="916.64,-1052.08 925.9,-1057.23 921.88,-1047.43 916.64,-1052.08"/>
<path fill="none" stroke="black" d="M496.52,-1147.25C608.57,-1180.74 882.6,-1262.65 1013.83,-1301.87" style=""/>
<polygon fill="black" stroke="black" points="1012.52,-1305.13 1023.1,-1304.64 1014.52,-1298.43 1012.52,-1305.13" style=""/>
</g>
<!-- c0&#45;&gt;d2 -->
<g id="edge22" class="edge" data-name="c0-&gt;d2">
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M1125.09,-1050.55C1160.4,-1000.93 1185.49,-950.33 1256.56,-888.55 1380.7,-780.64 1435.59,-737.55 1544.09,-679.07"/>
<polygon fill="black" stroke="black" points="1545.56,-682.25 1552.73,-674.45 1542.26,-676.08 1545.56,-682.25"/>
</g>
<!-- c0&#45;&gt;e1 -->
<g id="edge24" class="edge" data-name="c0-&gt;e1">
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M1094.87,-1050.55C1218.75,-828.9 1090.44,-634.11 1253.17,-362.36"/>
<polygon fill="black" stroke="black" points="1256.15,-364.2 1258.36,-353.84 1250.17,-360.56 1256.15,-364.2"/>
</g>
<!-- c0&#45;&gt;f1 -->
<g id="edge23" class="edge" data-name="c0-&gt;f1">
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M1211.44,-1050.55C1212.63,-1049.84 1213.82,-1049.12 1215,-1048.41"/>
<polygon fill="black" stroke="black" points="1216.66,-1051.5 1223.41,-1043.33 1213.04,-1045.51 1216.66,-1051.5"/>
</g>
<!-- c0&#45;&gt;g1 -->
<g id="edge25" class="edge" data-name="c0-&gt;g1">
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M1092.61,-1050.55C1172.5,-911.66 1260.41,-692.49 1305.39,-575.11"/>
<polygon fill="black" stroke="black" points="1308.59,-576.55 1308.89,-565.96 1302.05,-574.05 1308.59,-576.55"/>
</g>
<!-- c1 -->
<g id="node13" class="node" pointer-events="visible" data-name="c1">
<g id="a_node13"><a xlink:href="http://odroid.local:9090" xlink:title="Basex 10.7" target="saffron">
<polygon fill="white" stroke="black" points="1015.56,-1310.55 871.56,-1310.55 871.56,-1274.55 1015.56,-1274.55 1015.56,-1310.55"/>
<text text-anchor="middle" x="943.56" y="-1288.35" font-family="Arial" font-size="14.00">basex-test:9090</text>
<g id="a_node13"><a xlink:href="http://odroid.local:9090" xlink:title="Basex 10.7" target="saffron" style="">
<polygon fill="white" stroke="black" points="1159.18,-1287.5 1015.18,-1287.5 1015.18,-1251.5 1159.18,-1251.5 1159.18,-1287.5" style=""/>
<text text-anchor="middle" x="1087.18" y="-1265.3" font-family="Arial" font-size="14.00" style="">basex-test:9090</text>
</a>
</g>
</g>
<!-- c5 -->
<g id="node15" class="node" pointer-events="visible" data-name="c5">
<g id="a_node15"><a xlink:href="http://odroid.local:4000" xlink:title="Wire shark" target="saffron">
<polygon fill="white" stroke="black" points="1015.56,-1148.55 871.56,-1148.55 871.56,-1112.55 1015.56,-1112.55 1015.56,-1148.55"/>
<text text-anchor="middle" x="943.56" y="-1126.35" font-family="Arial" font-size="14.00">wireshark:4000</text>
<g id="a_node15"><a xlink:href="http://odroid.local:4000" xlink:title="Wire shark" target="saffron" style="">
<polygon fill="white" stroke="black" points="1159.18,-1179.5 1015.18,-1179.5 1015.18,-1143.5 1159.18,-1143.5 1159.18,-1179.5" style=""/>
<text text-anchor="middle" x="1087.18" y="-1157.3" font-family="Arial" font-size="14.00" style="">wireshark:4000</text>
</a>
</g>
</g>
<!-- c6 -->
<g id="node17" class="node" pointer-events="visible" data-name="c6">
<g id="a_node17"><a xlink:title="Redis API" target="saffron">
<polygon fill="white" stroke="black" points="1408.56,-1189.55 1264.56,-1189.55 1264.56,-1153.55 1408.56,-1153.55 1408.56,-1189.55"/>
<text text-anchor="middle" x="1336.56" y="-1167.35" font-family="Arial" font-size="14.00">redis-test:6379</text>
<g id="a_node17"><a xlink:title="Redis API" target="saffron" style="">
<polygon fill="white" stroke="black" points="1526.18,-1207.5 1382.18,-1207.5 1382.18,-1171.5 1526.18,-1171.5 1526.18,-1207.5" style=""/>
<text text-anchor="middle" x="1454.18" y="-1185.3" font-family="Arial" font-size="14.00" style="">redis-test:6379</text>
</a>
</g>
</g>
<!-- c7 -->
<g id="node18" class="node" pointer-events="visible" data-name="c7">
<g id="a_node18"><a xlink:href="http://192.168.1.59" xlink:title="PiHole Ad blocker" target="saffron">
<polygon fill="white" stroke="black" points="1408.56,-1108.55 1264.56,-1108.55 1264.56,-1072.55 1408.56,-1072.55 1408.56,-1108.55"/>
<text text-anchor="middle" x="1336.56" y="-1086.35" font-family="Arial" font-size="14.00">pihole</text>
<g id="a_node18"><a xlink:href="http://192.168.1.59" xlink:title="PiHole Ad blocker" target="saffron" style="">
<polygon fill="white" stroke="black" points="1526.18,-1144.5 1382.18,-1144.5 1382.18,-1108.5 1526.18,-1108.5 1526.18,-1144.5" style=""/>
<text text-anchor="middle" x="1454.18" y="-1122.3" font-family="Arial" font-size="14.00" style="">pihole</text>
</a>
</g>
</g>
<!-- xu4_1 -->
<g id="node19" class="node" pointer-events="visible" data-name="xu4_1">
<g id="a_node19"><a xlink:href="https://xu4.local:9443" xlink:title="portainer" target="saffron">
<ellipse fill="yellow" stroke="black" cx="1336.56" cy="-1292.55" rx="36" ry="18"/>
<text text-anchor="middle" x="1336.56" y="-1288.35" font-family="Arial" font-size="14.00">p</text>
<g id="a_node19"><a xlink:href="https://xu4.local:9443" xlink:title="portainer" target="saffron" style="">
<polygon fill="yellow" stroke="black" points="1490.18,-1245.04 1490.18,-1259.95 1469.09,-1270.5 1439.27,-1270.5 1418.18,-1259.95 1418.18,-1245.04 1439.27,-1234.5 1469.09,-1234.5 1490.18,-1245.04" style=""/>
<polygon fill="none" stroke="black" points="1494.18,-1242.57 1494.18,-1262.43 1470.03,-1274.5 1438.32,-1274.5 1414.18,-1262.43 1414.18,-1242.57 1438.32,-1230.5 1470.03,-1230.5 1494.18,-1242.57" style=""/>
<text text-anchor="middle" x="1454.18" y="-1248.3" font-family="Arial" font-size="14.00" style="">p</text>
</a>
</g>
</g>
@ -373,9 +354,10 @@
<!-- xu4_2 -->
<g id="node20" class="node" pointer-events="visible" data-name="xu4_2">
<g id="a_node20"><a xlink:href="http://fins.local:8090/system/xu4" xlink:title="beszel" target="saffron">
<ellipse fill="yellow" stroke="black" cx="1336.56" cy="-1238.55" rx="36" ry="18"/>
<text text-anchor="middle" x="1336.56" y="-1234.35" font-family="Arial" font-size="14.00">b</text>
<g id="a_node20"><a xlink:href="http://fins.local:8090/system/xu4" xlink:title="beszel" target="saffron" style="">
<polygon fill="yellow" stroke="black" points="1490.18,-1307.04 1490.18,-1321.95 1469.09,-1332.5 1439.27,-1332.5 1418.18,-1321.95 1418.18,-1307.04 1439.27,-1296.5 1469.09,-1296.5 1490.18,-1307.04" style=""/>
<polygon fill="none" stroke="black" points="1494.18,-1304.57 1494.18,-1324.43 1470.03,-1336.5 1438.32,-1336.5 1414.18,-1324.43 1414.18,-1304.57 1438.32,-1292.5 1470.03,-1292.5 1494.18,-1304.57" style=""/>
<text text-anchor="middle" x="1454.18" y="-1310.3" font-family="Arial" font-size="14.00" style="">b</text>
</a>
</g>
</g>
@ -383,63 +365,64 @@
<!-- d1 -->
<g id="node21" class="node" pointer-events="visible" data-name="d1">
<g id="a_node21"><a xlink:href="http://fins.local:11434/" xlink:title="Ollama (AI)" target="saffron">
<polygon fill="white" stroke="black" points="1800.56,-832.55 1656.56,-832.55 1656.56,-796.55 1800.56,-796.55 1800.56,-832.55"/>
<text text-anchor="middle" x="1728.56" y="-810.35" font-family="Arial" font-size="14.00">ollama:11434</text>
<g id="a_node21"><a xlink:href="http://fins.local:11434/" xlink:title="Ollama (AI)" target="saffron" style="">
<polygon fill="white" stroke="black" points="1893.18,-847.5 1749.18,-847.5 1749.18,-811.5 1893.18,-811.5 1893.18,-847.5" style=""/>
<text text-anchor="middle" x="1821.18" y="-825.3" font-family="Arial" font-size="14.00" style="">ollama:11434</text>
</a>
</g>
</g>
<!-- d3 -->
<g id="node23" class="node" pointer-events="visible" data-name="d3">
<g id="a_node23"><a xlink:href="http://fins.local:8888/" xlink:title="BaseX 10.7" target="saffron">
<polygon fill="white" stroke="black" points="1800.56,-724.55 1656.56,-724.55 1656.56,-688.55 1800.56,-688.55 1800.56,-724.55"/>
<text text-anchor="middle" x="1728.56" y="-702.35" font-family="Arial" font-size="14.00">basex:8888</text>
<g id="a_node23"><a xlink:href="http://fins.local:8888/" xlink:title="BaseX 10.7" target="saffron" style="">
<polygon fill="white" stroke="black" points="1893.18,-739.5 1749.18,-739.5 1749.18,-703.5 1893.18,-703.5 1893.18,-739.5" style=""/>
<text text-anchor="middle" x="1821.18" y="-717.3" font-family="Arial" font-size="14.00" style="">basex:8888</text>
</a>
</g>
</g>
<!-- d4 -->
<g id="node24" class="node" pointer-events="visible" data-name="d4">
<g id="a_node24"><a xlink:href="http://fins.local:8884/" xlink:title="BaseX 11.3 Fusion auth" target="saffron">
<polygon fill="white" stroke="black" points="1800.56,-670.55 1656.56,-670.55 1656.56,-634.55 1800.56,-634.55 1800.56,-670.55"/>
<text text-anchor="middle" x="1728.56" y="-648.35" font-family="Arial" font-size="14.00">basex:8884</text>
<g id="a_node24"><a xlink:href="http://fins.local:8884/" xlink:title="BaseX 11.3 Fusion auth" target="saffron" style="">
<polygon fill="white" stroke="black" points="1893.18,-685.5 1749.18,-685.5 1749.18,-649.5 1893.18,-649.5 1893.18,-685.5" style=""/>
<text text-anchor="middle" x="1821.18" y="-663.3" font-family="Arial" font-size="14.00" style="">basex:8884</text>
</a>
</g>
</g>
<!-- d5 -->
<g id="node25" class="node" pointer-events="visible" data-name="d5">
<g id="a_node25"><a xlink:href="http://fins.local:8090/" xlink:title="beszel (main)" target="saffron">
<polygon fill="white" stroke="black" points="1800.56,-778.55 1656.56,-778.55 1656.56,-742.55 1800.56,-742.55 1800.56,-778.55"/>
<text text-anchor="middle" x="1728.56" y="-756.35" font-family="Arial" font-size="14.00">beszel::8090</text>
<g id="a_node25"><a xlink:href="http://fins.local:8090/" xlink:title="beszel (main)" target="saffron" style="">
<polygon fill="white" stroke="black" points="1893.18,-793.5 1749.18,-793.5 1749.18,-757.5 1893.18,-757.5 1893.18,-793.5" style=""/>
<text text-anchor="middle" x="1821.18" y="-771.3" font-family="Arial" font-size="14.00" style="">beszel::8090</text>
</a>
</g>
</g>
<!-- d6 -->
<g id="node26" class="node" pointer-events="visible" data-name="d6">
<g id="a_node26"><a xlink:href="http://fins.local:3100/" xlink:title="Video editor" target="saffron">
<polygon fill="white" stroke="black" points="2192.56,-711.55 2048.56,-711.55 2048.56,-675.55 2192.56,-675.55 2192.56,-711.55"/>
<text text-anchor="middle" x="2120.56" y="-689.35" font-family="Arial" font-size="14.00">shotcut::3100</text>
<g id="a_node26"><a xlink:href="http://fins.local:3100/" xlink:title="Video editor" target="saffron" style="">
<polygon fill="white" stroke="black" points="2260.18,-714.5 2116.18,-714.5 2116.18,-678.5 2260.18,-678.5 2260.18,-714.5" style=""/>
<text text-anchor="middle" x="2188.18" y="-692.3" font-family="Arial" font-size="14.00" style="">shotcut::3100</text>
</a>
</g>
</g>
<!-- d7 -->
<g id="node27" class="node" pointer-events="visible" data-name="d7">
<g id="a_node27"><a xlink:href="http://fins.local:9011/" xlink:title="Fusion auth" target="saffron">
<polygon fill="white" stroke="black" points="2192.56,-630.55 2048.56,-630.55 2048.56,-594.55 2192.56,-594.55 2192.56,-630.55"/>
<text text-anchor="middle" x="2120.56" y="-608.35" font-family="Arial" font-size="14.00">fusionauth:9011</text>
<g id="a_node27"><a xlink:href="http://fins.local:9011/" xlink:title="Fusion auth" target="saffron" style="">
<polygon fill="white" stroke="black" points="2260.18,-641.5 2116.18,-641.5 2116.18,-605.5 2260.18,-605.5 2260.18,-641.5" style=""/>
<text text-anchor="middle" x="2188.18" y="-619.3" font-family="Arial" font-size="14.00" style="">fusionauth:9011</text>
</a>
</g>
</g>
<!-- fins_1 -->
<g id="node28" class="node" pointer-events="visible" data-name="fins_1">
<g id="a_node28"><a xlink:href="https://fins.local:9443" xlink:title="portainer" target="saffron">
<ellipse fill="yellow" stroke="black" cx="2120.56" cy="-760.55" rx="36" ry="18"/>
<text text-anchor="middle" x="2120.56" y="-756.35" font-family="Arial" font-size="14.00">p</text>
<g id="a_node28"><a xlink:href="https://fins.local:9443" xlink:title="portainer" target="saffron" style="">
<polygon fill="yellow" stroke="black" points="2224.18,-756.04 2224.18,-770.95 2203.09,-781.5 2173.27,-781.5 2152.18,-770.95 2152.18,-756.04 2173.27,-745.5 2203.09,-745.5 2224.18,-756.04" style=""/>
<polygon fill="none" stroke="black" points="2228.18,-753.57 2228.18,-773.43 2204.03,-785.5 2172.32,-785.5 2148.18,-773.43 2148.18,-753.57 2172.32,-741.5 2204.03,-741.5 2228.18,-753.57" style=""/>
<text text-anchor="middle" x="2188.18" y="-759.3" font-family="Arial" font-size="14.00" style="">p</text>
</a>
</g>
</g>
@ -447,9 +430,10 @@
<!-- fins_2 -->
<g id="node29" class="node" pointer-events="visible" data-name="fins_2">
<g id="a_node29"><a xlink:href="http://fins.local:8090/system/fins" xlink:title="beszel" target="saffron">
<ellipse fill="yellow" stroke="black" cx="2120.56" cy="-814.55" rx="36" ry="18"/>
<text text-anchor="middle" x="2120.56" y="-810.35" font-family="Arial" font-size="14.00">b</text>
<g id="a_node29"><a xlink:href="http://fins.local:8090/system/fins" xlink:title="beszel" target="saffron" style="">
<polygon fill="yellow" stroke="black" points="2224.18,-818.04 2224.18,-832.95 2203.09,-843.5 2173.27,-843.5 2152.18,-832.95 2152.18,-818.04 2173.27,-807.5 2203.09,-807.5 2224.18,-818.04" style=""/>
<polygon fill="none" stroke="black" points="2228.18,-815.57 2228.18,-835.43 2204.03,-847.5 2172.32,-847.5 2148.18,-835.43 2148.18,-815.57 2172.32,-803.5 2204.03,-803.5 2228.18,-815.57" style=""/>
<text text-anchor="middle" x="2188.18" y="-821.3" font-family="Arial" font-size="14.00" style="">b</text>
</a>
</g>
</g>
@ -457,36 +441,37 @@
<!-- e4 -->
<g id="node33" class="node" pointer-events="visible" data-name="e4">
<g id="a_node33"><a xlink:href="http://omv.local:81" xlink:title="Open media vault" target="saffron">
<polygon fill="white" stroke="black" points="1408.56,-138.55 1264.56,-138.55 1264.56,-102.55 1408.56,-102.55 1408.56,-138.55"/>
<text text-anchor="middle" x="1336.56" y="-116.35" font-family="Arial" font-size="14.00">omv:81</text>
<g id="a_node33"><a xlink:href="http://omv.local:81" xlink:title="Open media vault" target="saffron" style="">
<polygon fill="white" stroke="black" points="1526.18,-137.5 1382.18,-137.5 1382.18,-101.5 1526.18,-101.5 1526.18,-137.5" style=""/>
<text text-anchor="middle" x="1454.18" y="-115.3" font-family="Arial" font-size="14.00" style="">omv:81</text>
</a>
</g>
</g>
<!-- e5 -->
<g id="node34" class="node" pointer-events="visible" data-name="e5">
<g id="a_node34"><a xlink:href="http://omv.local:3456/" xlink:title="Vikunja" target="saffron">
<polygon fill="white" stroke="black" points="1408.56,-84.55 1264.56,-84.55 1264.56,-48.55 1408.56,-48.55 1408.56,-84.55"/>
<text text-anchor="middle" x="1336.56" y="-62.35" font-family="Arial" font-size="14.00">vikunja:3456</text>
<g id="a_node34"><a xlink:href="http://omv.local:3456/" xlink:title="Vikunja" target="saffron" style="">
<polygon fill="white" stroke="black" points="1526.18,-83.5 1382.18,-83.5 1382.18,-47.5 1526.18,-47.5 1526.18,-83.5" style=""/>
<text text-anchor="middle" x="1454.18" y="-61.3" font-family="Arial" font-size="14.00" style="">vikunja:3456</text>
</a>
</g>
</g>
<!-- e6 -->
<g id="node35" class="node" pointer-events="visible" data-name="e6">
<g id="a_node35"><a xlink:href="http://omv.local:5001/" xlink:title="dockge" target="saffron">
<polygon fill="white" stroke="black" points="1800.56,-165.55 1656.56,-165.55 1656.56,-129.55 1800.56,-129.55 1800.56,-165.55"/>
<text text-anchor="middle" x="1728.56" y="-143.35" font-family="Arial" font-size="14.00">dockge:5001</text>
<g id="a_node35"><a xlink:href="http://omv.local:5001/" xlink:title="dockge" target="saffron" style="">
<polygon fill="white" stroke="black" points="1893.18,-156.5 1749.18,-156.5 1749.18,-120.5 1893.18,-120.5 1893.18,-156.5" style=""/>
<text text-anchor="middle" x="1821.18" y="-134.3" font-family="Arial" font-size="14.00" style="">dockge:5001</text>
</a>
</g>
</g>
<!-- omv_1 -->
<g id="node37" class="node" pointer-events="visible" data-name="omv_1">
<g id="a_node37"><a xlink:href="https://omv.local:9443" xlink:title="portainer" target="saffron">
<ellipse fill="yellow" stroke="black" cx="1728.56" cy="-228.55" rx="36" ry="18"/>
<text text-anchor="middle" x="1728.56" y="-224.35" font-family="Arial" font-size="14.00">p</text>
<g id="a_node37"><a xlink:href="https://omv.local:9443" xlink:title="portainer" target="saffron" style="">
<polygon fill="yellow" stroke="black" points="1857.18,-208.04 1857.18,-222.95 1836.09,-233.5 1806.27,-233.5 1785.18,-222.95 1785.18,-208.04 1806.27,-197.5 1836.09,-197.5 1857.18,-208.04" style=""/>
<polygon fill="none" stroke="black" points="1861.18,-205.57 1861.18,-225.43 1837.03,-237.5 1805.32,-237.5 1781.18,-225.43 1781.18,-205.57 1805.32,-193.5 1837.03,-193.5 1861.18,-205.57" style=""/>
<text text-anchor="middle" x="1821.18" y="-211.3" font-family="Arial" font-size="14.00" style="">p</text>
</a>
</g>
</g>
@ -494,9 +479,10 @@
<!-- omv_2 -->
<g id="node38" class="node" pointer-events="visible" data-name="omv_2">
<g id="a_node38"><a xlink:href="http://fins.local:8090/system/omv" xlink:title="beszel" target="saffron">
<ellipse fill="yellow" stroke="black" cx="1728.56" cy="-282.55" rx="36" ry="18"/>
<text text-anchor="middle" x="1728.56" y="-278.35" font-family="Arial" font-size="14.00">b</text>
<g id="a_node38"><a xlink:href="http://fins.local:8090/system/omv" xlink:title="beszel" target="saffron" style="">
<polygon fill="yellow" stroke="black" points="1857.18,-270.04 1857.18,-284.95 1836.09,-295.5 1806.27,-295.5 1785.18,-284.95 1785.18,-270.04 1806.27,-259.5 1836.09,-259.5 1857.18,-270.04" style=""/>
<polygon fill="none" stroke="black" points="1861.18,-267.57 1861.18,-287.43 1837.03,-299.5 1805.32,-299.5 1781.18,-287.43 1781.18,-267.57 1805.32,-255.5 1837.03,-255.5 1861.18,-267.57" style=""/>
<text text-anchor="middle" x="1821.18" y="-273.3" font-family="Arial" font-size="14.00" style="">b</text>
</a>
</g>
</g>
@ -504,24 +490,25 @@
<!-- f2 -->
<g id="node40" class="node" pointer-events="visible" data-name="f2">
<g id="a_node40"><a xlink:href="http://fins.local:8090/system/fins" xlink:title="Beszel agent" target="saffron">
<polygon fill="white" stroke="black" points="1408.56,-936.55 1264.56,-936.55 1264.56,-900.55 1408.56,-900.55 1408.56,-936.55"/>
<text text-anchor="middle" x="1336.56" y="-914.35" font-family="Arial" font-size="14.00">beszel-agent</text>
<g id="a_node40"><a xlink:href="http://fins.local:8090/system/fins" xlink:title="Beszel agent" target="saffron" style="">
<polygon fill="white" stroke="black" points="1526.18,-951.5 1382.18,-951.5 1382.18,-915.5 1526.18,-915.5 1526.18,-951.5" style=""/>
<text text-anchor="middle" x="1454.18" y="-929.3" font-family="Arial" font-size="14.00" style="">beszel-agent</text>
</a>
</g>
</g>
<!-- f2&#45;&gt;d5 -->
<g id="edge26" class="edge" data-name="f2-&gt;d5">
<path fill="none" stroke="black" d="M1378.45,-900.26C1437.56,-874.06 1550.56,-824.89 1648.56,-787.55 1652.71,-785.97 1657,-784.38 1661.33,-782.81"/>
<polygon fill="black" stroke="black" points="1662.47,-786.12 1670.71,-779.46 1660.12,-779.53 1662.47,-786.12"/>
<path fill="none" stroke="black" d="M1492.14,-915.12C1546.15,-888.6 1650.12,-838.81 1741.18,-802.5 1745.04,-800.96 1749.03,-799.42 1753.07,-797.91" style=""/>
<polygon fill="black" stroke="black" points="1754.21,-801.22 1762.4,-794.5 1751.8,-794.65 1754.21,-801.22" style=""/>
</g>
<!-- odroid_n2_1 -->
<g id="node41" class="node" pointer-events="visible" data-name="odroid_n2_1">
<g id="a_node41"><a xlink:href="https://odroid-n2:9443" xlink:title="portainer" target="saffron">
<ellipse fill="yellow" stroke="black" cx="1728.56" cy="-918.55" rx="36" ry="18"/>
<text text-anchor="middle" x="1728.56" y="-914.35" font-family="Arial" font-size="14.00">p</text>
<g id="a_node41"><a xlink:href="https://odroid-n2:9443" xlink:title="portainer" target="saffron" style="">
<polygon fill="yellow" stroke="black" points="1857.18,-930.04 1857.18,-944.95 1836.09,-955.5 1806.27,-955.5 1785.18,-944.95 1785.18,-930.04 1806.27,-919.5 1836.09,-919.5 1857.18,-930.04" style=""/>
<polygon fill="none" stroke="black" points="1861.18,-927.57 1861.18,-947.43 1837.03,-959.5 1805.32,-959.5 1781.18,-947.43 1781.18,-927.57 1805.32,-915.5 1837.03,-915.5 1861.18,-927.57" style=""/>
<text text-anchor="middle" x="1821.18" y="-933.3" font-family="Arial" font-size="14.00" style="">p</text>
</a>
</g>
</g>
@ -529,9 +516,10 @@
<!-- odroid_n2_2 -->
<g id="node42" class="node" pointer-events="visible" data-name="odroid_n2_2">
<g id="a_node42"><a xlink:href="http://fins.local:8090/system/odroid-n2" xlink:title="beszel" target="saffron">
<ellipse fill="yellow" stroke="black" cx="1728.56" cy="-972.55" rx="36" ry="18"/>
<text text-anchor="middle" x="1728.56" y="-968.35" font-family="Arial" font-size="14.00">b</text>
<g id="a_node42"><a xlink:href="http://fins.local:8090/system/kodi" xlink:title="beszel" target="saffron" style="">
<polygon fill="yellow" stroke="black" points="1857.18,-992.04 1857.18,-1006.95 1836.09,-1017.5 1806.27,-1017.5 1785.18,-1006.95 1785.18,-992.04 1806.27,-981.5 1836.09,-981.5 1857.18,-992.04" style=""/>
<polygon fill="none" stroke="black" points="1861.18,-989.57 1861.18,-1009.43 1837.03,-1021.5 1805.32,-1021.5 1781.18,-1009.43 1781.18,-989.57 1805.32,-977.5 1837.03,-977.5 1861.18,-989.57" style=""/>
<text text-anchor="middle" x="1821.18" y="-995.3" font-family="Arial" font-size="14.00" style="">b</text>
</a>
</g>
</g>
@ -539,36 +527,37 @@
<!-- g2 -->
<g id="node44" class="node" pointer-events="visible" data-name="g2">
<g id="a_node44"><a xlink:href="http://n2-plus.local:3050" xlink:title="glance" target="saffron">
<polygon fill="white" stroke="black" points="1408.56,-458.55 1264.56,-458.55 1264.56,-422.55 1408.56,-422.55 1408.56,-458.55"/>
<text text-anchor="middle" x="1336.56" y="-436.35" font-family="Arial" font-size="14.00">glance:3050</text>
<g id="a_node44"><a xlink:href="http://n2-plus.local:3050" xlink:title="glance" target="saffron" style="">
<polygon fill="white" stroke="black" points="1526.18,-466.5 1382.18,-466.5 1382.18,-430.5 1526.18,-430.5 1526.18,-466.5" style=""/>
<text text-anchor="middle" x="1454.18" y="-444.3" font-family="Arial" font-size="14.00" style="">glance:3050</text>
</a>
</g>
</g>
<!-- g3 -->
<g id="node45" class="node" pointer-events="visible" data-name="g3">
<g id="a_node45"><a xlink:href="http://n2-plus.local:19999" xlink:title="netdata" target="saffron">
<polygon fill="white" stroke="black" points="1408.56,-404.55 1264.56,-404.55 1264.56,-368.55 1408.56,-368.55 1408.56,-404.55"/>
<text text-anchor="middle" x="1336.56" y="-382.35" font-family="Arial" font-size="14.00">spare</text>
<g id="a_node45"><a xlink:href="http://n2-plus.local:19999" xlink:title="netdata" target="saffron" style="">
<polygon fill="white" stroke="black" points="1526.18,-406.5 1382.18,-406.5 1382.18,-370.5 1526.18,-370.5 1526.18,-406.5" style=""/>
<text text-anchor="middle" x="1454.18" y="-384.3" font-family="Arial" font-size="14.00" style="">spare</text>
</a>
</g>
</g>
<!-- g4 -->
<g id="node46" class="node" pointer-events="visible" data-name="g4">
<g id="a_node46"><a xlink:href="http://n2-plus.local:3000" xlink:title="ntop ng" target="saffron">
<polygon fill="white" stroke="black" points="1800.56,-404.55 1656.56,-404.55 1656.56,-368.55 1800.56,-368.55 1800.56,-404.55"/>
<text text-anchor="middle" x="1728.56" y="-382.35" font-family="Arial" font-size="14.00">ntopng:3000</text>
<g id="a_node46"><a xlink:href="http://n2-plus.local:3000" xlink:title="ntop ng" target="saffron" style="">
<polygon fill="white" stroke="black" points="1893.18,-403.5 1749.18,-403.5 1749.18,-367.5 1893.18,-367.5 1893.18,-403.5" style=""/>
<text text-anchor="middle" x="1821.18" y="-381.3" font-family="Arial" font-size="14.00" style="">ntopng:3000</text>
</a>
</g>
</g>
<!-- n2_plus_1 -->
<g id="node47" class="node" pointer-events="visible" data-name="n2_plus_1">
<g id="a_node47"><a xlink:href="https://n2-plus.local:9443" xlink:title="portainer" target="saffron">
<ellipse fill="yellow" stroke="black" cx="1728.56" cy="-440.55" rx="36" ry="18"/>
<text text-anchor="middle" x="1728.56" y="-436.35" font-family="Arial" font-size="14.00">p</text>
<g id="a_node47"><a xlink:href="https://n2-plus.local:9443" xlink:title="portainer" target="saffron" style="">
<polygon fill="yellow" stroke="black" points="1857.18,-436.04 1857.18,-450.95 1836.09,-461.5 1806.27,-461.5 1785.18,-450.95 1785.18,-436.04 1806.27,-425.5 1836.09,-425.5 1857.18,-436.04" style=""/>
<polygon fill="none" stroke="black" points="1861.18,-433.57 1861.18,-453.43 1837.03,-465.5 1805.32,-465.5 1781.18,-453.43 1781.18,-433.57 1805.32,-421.5 1837.03,-421.5 1861.18,-433.57" style=""/>
<text text-anchor="middle" x="1821.18" y="-439.3" font-family="Arial" font-size="14.00" style="">p</text>
</a>
</g>
</g>
@ -576,9 +565,10 @@
<!-- n2_plus_2 -->
<g id="node48" class="node" pointer-events="visible" data-name="n2_plus_2">
<g id="a_node48"><a xlink:href="http://fins.local:8090/system/n2-plus" xlink:title="beszel" target="saffron">
<ellipse fill="yellow" stroke="black" cx="1728.56" cy="-494.55" rx="36" ry="18"/>
<text text-anchor="middle" x="1728.56" y="-490.35" font-family="Arial" font-size="14.00">b</text>
<g id="a_node48"><a xlink:href="http://fins.local:8090/system/n2-plus" xlink:title="beszel" target="saffron" style="">
<polygon fill="yellow" stroke="black" points="1857.18,-498.04 1857.18,-512.95 1836.09,-523.5 1806.27,-523.5 1785.18,-512.95 1785.18,-498.04 1806.27,-487.5 1836.09,-487.5 1857.18,-498.04" style=""/>
<polygon fill="none" stroke="black" points="1861.18,-495.57 1861.18,-515.43 1837.03,-527.5 1805.32,-527.5 1781.18,-515.43 1781.18,-495.57 1805.32,-483.5 1837.03,-483.5 1861.18,-495.57" style=""/>
<text text-anchor="middle" x="1821.18" y="-501.3" font-family="Arial" font-size="14.00" style="">b</text>
</a>
</g>
</g>

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 31 KiB

View file

@ -3,7 +3,7 @@ digraph saffron {
compound = true;
rankdir = LR;
fontname="Arial";
bgcolor=lightgrey;
node [fontname = "Arial"; shape = box;
style = filled; width = "2"; fillcolor = white; target = "saffron";];
edge [fontname = "Arial";];
@ -11,8 +11,9 @@ digraph saffron {
size = "100";
subgraph cluster_x {
label = "The Internet ";
fontsize = "30";
fontsize = "40";
node[fontsize=36;]
bgcolor=white;
subgraph cluster_a {
label = "quodatum.duckdns.org";
bgcolor = "#BDFFA4";
@ -39,7 +40,7 @@ digraph saffron {
subgraph cluster_s {
label = "Saffron @ 80.229.26.80";
fontsize = "30";
bgcolor=white;
subgraph cluster_c {
label = "xu4";
href="http://fins.local:8090/system/xu4";
@ -55,9 +56,9 @@ digraph saffron {
c7 [label = "pihole";href = "http://192.168.1.59";tooltip = "PiHole Ad blocker";];
{rank=max;
xu4_1 [label = "p";shape = "oval"; width=1;
xu4_1 [label = "p";shape = "doubleoctagon"; width=1;
href = "https://xu4.local:9443";tooltip = "portainer"; fillcolor=yellow ;];
xu4_2 [label = "b";shape = "oval"; width=1;
xu4_2 [label = "b";shape = "doubleoctagon"; width=1;
href = "http://fins.local:8090/system/xu4";tooltip = "beszel"; fillcolor=yellow ;];
}
xu4_1 -> c1[style=invis];
@ -77,9 +78,9 @@ digraph saffron {
{rank=max;
fins_1 [label = "p";shape = "oval"; width=1;
fins_1 [label = "p";shape = "doubleoctagon"; width=1;
href = "https://fins.local:9443";tooltip = "portainer"; fillcolor=yellow ;];
fins_2 [label = "b";shape = "oval"; width=1;
fins_2 [label = "b";shape = "doubleoctagon"; width=1;
href = "http://fins.local:8090/system/fins";tooltip = "beszel"; fillcolor=yellow ;];
}
fins_1 -> d1[style=invis];
@ -99,9 +100,9 @@ digraph saffron {
e7 [label = "immich:2283";href = "http://omv.local:2283/";tooltip = "Photos";];
{rank=max;
omv_1 [label = "p";shape = "oval"; width=1;
omv_1 [label = "p";shape = "doubleoctagon"; width=1;
href = "https://omv.local:9443";tooltip = "portainer"; fillcolor=yellow ;];
omv_2 [label = "b";shape = "oval"; width=1;
omv_2 [label = "b";shape = "doubleoctagon"; width=1;
href = "http://fins.local:8090/system/omv";tooltip = "beszel"; fillcolor=yellow ;];
}
omv_1 -> e1[style=invis];
@ -118,10 +119,10 @@ digraph saffron {
f1 [label = "kodi:8080";href = "http://odroid-n2:8080";tooltip = "kodi";];
f2 [label = "beszel-agent";href = "http://fins.local:8090/system/fins";tooltip = "Beszel agent";];
{rank=max;
odroid_n2_1 [label = "p";shape = "oval"; width=1;
odroid_n2_1 [label = "p";shape = "doubleoctagon"; width=1;
href = "https://odroid-n2:9443";tooltip = "portainer"; fillcolor=yellow ;];
odroid_n2_2 [label = "b";shape = "oval"; width=1;
href = "http://fins.local:8090/system/odroid-n2";tooltip = "beszel"; fillcolor=yellow ;];
odroid_n2_2 [label = "b";shape = "doubleoctagon"; width=1;
href = "http://fins.local:8090/system/kodi";tooltip = "beszel"; fillcolor=yellow ;];
}
odroid_n2_1 -> f1[style=invis];
odroid_n2_2 -> f1[style=invis];
@ -139,9 +140,9 @@ digraph saffron {
g4 [label = "ntopng:3000";href = "http://n2-plus.local:3000";tooltip = "ntop ng";];
{rank=max;
n2_plus_1 [label = "p";shape = "oval"; width=1;
n2_plus_1 [label = "p";shape = "doubleoctagon"; width=1;
href = "https://n2-plus.local:9443";tooltip = "portainer"; fillcolor=yellow ;];
n2_plus_2 [label = "b";shape = "oval"; width=1;
n2_plus_2 [label = "b";shape = "doubleoctagon"; width=1;
href = "http://fins.local:8090/system/n2-plus";tooltip = "beszel"; fillcolor=yellow ;];
}
n2_plus_1 -> g1[style=invis];
@ -159,10 +160,10 @@ digraph saffron {
b5 -> e2;
b6 -> e7;
vpn -> c4;
c0 -> d2 [ltail = "cluster_c"; lhead = "cluster_d"; style = "dotted";];
c0 -> f1 [ltail = "cluster_c"; lhead = "cluster_f"; style = "dotted";];
c0 -> e1 [ltail = "cluster_c"; lhead = "cluster_e"; style = "dotted";];
c0 -> g1 [ltail = "cluster_c"; lhead = "cluster_g"; style = "dotted";];
c0 -> d2 [style=invis;];
c0 -> f1 [style=invis;];
c0 -> e1 [style=invis;];
c0 -> g1 [style=invis;];
f2 -> d5;