[add] network.svg

This commit is contained in:
Andy Bunce 2024-04-26 22:45:32 +01:00
parent 09badf58c5
commit 1c6a51a58c
4 changed files with 742 additions and 2 deletions

View File

@ -1 +1,2 @@
# Local Options
RESTXQERRORS = false RESTXQERRORS = false

View File

@ -1,3 +1,4 @@
<!DOCTYPE html>
<html> <html>
<head> <head>
<meta charset="utf-8" /> <meta charset="utf-8" />
@ -37,7 +38,7 @@
</v-container> </v-container>
<iframe name="srv" src="icon.png" width="100%"></iframe> <iframe name="srv" src="network.svg" width="100%" height="100%"></iframe>
</v-main> </v-main>
</v-app> </v-app>
</div> </div>

View File

@ -19,7 +19,7 @@ var app = new Vue({
fetch("links.json") fetch("links.json")
.then(response => response.json()) .then(response => response.json())
.then(data => (this.links = data)); .then(data => (this.links = data));
fetch("http://192.168.1.5:2015/config/") fetch(":2015/config/")
.then(response => response.json()) .then(response => response.json())
.then(data => (this.caddy = data)); .then(data => (this.caddy = data));
} }

View File

@ -0,0 +1,738 @@
<svg viewBox="0 0 2322.109375 377.53125" style="max-width: 2322.109375px;" height="377.53125"
aria-labelledby="chart-title-mermaid-svg chart-desc-mermaid-svg" role="img"
xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" width="100%" id="mermaid-svg">
<title id="chart-title-mermaid-svg"></title>
<desc id="chart-desc-mermaid-svg"></desc>
<style>
#mermaid-svg {
font-family: "trebuchet ms", verdana, arial, sans-serif;
font-size: 16px;
fill: #333;
}
#mermaid-svg .error-icon {
fill: #552222;
}
#mermaid-svg .error-text {
fill: #552222;
stroke: #552222;
}
#mermaid-svg .edge-thickness-normal {
stroke-width: 2px;
}
#mermaid-svg .edge-thickness-thick {
stroke-width: 3.5px;
}
#mermaid-svg .edge-pattern-solid {
stroke-dasharray: 0;
}
#mermaid-svg .edge-pattern-dashed {
stroke-dasharray: 3;
}
#mermaid-svg .edge-pattern-dotted {
stroke-dasharray: 2;
}
#mermaid-svg .marker {
fill: #333333;
stroke: #333333;
}
#mermaid-svg .marker.cross {
stroke: #333333;
}
#mermaid-svg svg {
font-family: "trebuchet ms", verdana, arial, sans-serif;
font-size: 16px;
}
#mermaid-svg .label {
font-family: "trebuchet ms", verdana, arial, sans-serif;
color: #333;
}
#mermaid-svg .cluster-label text {
fill: #333;
}
#mermaid-svg .cluster-label span {
color: #333;
}
#mermaid-svg .label text,
#mermaid-svg span {
fill: #333;
color: #333;
}
#mermaid-svg .node rect,
#mermaid-svg .node circle,
#mermaid-svg .node ellipse,
#mermaid-svg .node polygon,
#mermaid-svg .node path {
fill: #ECECFF;
stroke: #9370DB;
stroke-width: 1px;
}
#mermaid-svg .node .label {
text-align: center;
}
#mermaid-svg .node.clickable {
cursor: pointer;
}
#mermaid-svg .arrowheadPath {
fill: #333333;
}
#mermaid-svg .edgePath .path {
stroke: #333333;
stroke-width: 2.0px;
}
#mermaid-svg .flowchart-link {
stroke: #333333;
fill: none;
}
#mermaid-svg .edgeLabel {
background-color: #e8e8e8;
text-align: center;
}
#mermaid-svg .edgeLabel rect {
opacity: 0.5;
background-color: #e8e8e8;
fill: #e8e8e8;
}
#mermaid-svg .cluster rect {
fill: #ffffde;
stroke: #aaaa33;
stroke-width: 1px;
}
#mermaid-svg .cluster text {
fill: #333;
}
#mermaid-svg .cluster span {
color: #333;
}
#mermaid-svg div.mermaidTooltip {
position: absolute;
text-align: center;
max-width: 200px;
padding: 2px;
font-family: "trebuchet ms", verdana, arial, sans-serif;
font-size: 12px;
background: hsl(80, 100%, 96.2745098039%);
border: 1px solid #aaaa33;
border-radius: 2px;
pointer-events: none;
z-index: 100;
}
#mermaid-svg :root {
--mermaid-font-family: "trebuchet ms", verdana, arial, sans-serif;
}
#mermaid-svg .domain&gt;
* {
fill: #BDFFA4 !important;
stroke: #333 !important;
stroke-width: 1px !important;
}
#mermaid-svg .domain span {
fill: #BDFFA4 !important;
stroke: #333 !important;
stroke-width: 1px !important;
}
#mermaid-svg .server&gt;
* {
fill: #FFDEAD !important;
stroke: #333 !important;
stroke-width: 1px !important;
}
#mermaid-svg .server span {
fill: #FFDEAD !important;
stroke: #333 !important;
stroke-width: 1px !important;
}
#mermaid-svg .Red&gt;
* {
fill: #FF9999 !important;
}
#mermaid-svg .Red span {
fill: #FF9999 !important;
}
#mermaid-svg .Amber&gt;
* {
fill: #FFDEAD !important;
}
#mermaid-svg .Amber span {
fill: #FFDEAD !important;
}
#mermaid-svg .Green&gt;
* {
fill: #BDFFA4 !important;
}
#mermaid-svg .Green span {
fill: #BDFFA4 !important;
}
</style>
<g transform="translate(0, 0)">
<marker orient="auto" markerHeight="12" markerWidth="12" markerUnits="userSpaceOnUse" refY="5" refX="9"
viewBox="0 0 10 10" class="marker flowchart" id="flowchart-pointEnd">
<path style="stroke-width: 1; stroke-dasharray: 1, 0;" class="arrowMarkerPath" d="M 0 0 L 10 5 L 0 10 z">
</path>
</marker>
<marker orient="auto" markerHeight="12" markerWidth="12" markerUnits="userSpaceOnUse" refY="5" refX="0"
viewBox="0 0 10 10" class="marker flowchart" id="flowchart-pointStart">
<path style="stroke-width: 1; stroke-dasharray: 1, 0;" class="arrowMarkerPath" d="M 0 5 L 10 10 L 10 0 z">
</path>
</marker>
<marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5" refX="11"
viewBox="0 0 10 10" class="marker flowchart" id="flowchart-circleEnd">
<circle style="stroke-width: 1; stroke-dasharray: 1, 0;" class="arrowMarkerPath" r="5" cy="5" cx="5">
</circle>
</marker>
<marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5" refX="-1"
viewBox="0 0 10 10" class="marker flowchart" id="flowchart-circleStart">
<circle style="stroke-width: 1; stroke-dasharray: 1, 0;" class="arrowMarkerPath" r="5" cy="5" cx="5">
</circle>
</marker>
<marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5.2" refX="12"
viewBox="0 0 11 11" class="marker cross flowchart" id="flowchart-crossEnd">
<path style="stroke-width: 2; stroke-dasharray: 1, 0;" class="arrowMarkerPath"
d="M 1,1 l 9,9 M 10,1 l -9,9"></path>
</marker>
<marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5.2" refX="-1"
viewBox="0 0 11 11" class="marker cross flowchart" id="flowchart-crossStart">
<path style="stroke-width: 2; stroke-dasharray: 1, 0;" class="arrowMarkerPath"
d="M 1,1 l 9,9 M 10,1 l -9,9"></path>
</marker>
<g class="root">
<g class="clusters">
<g id="odroid-n2" class="cluster server server">
<rect height="84" width="685.09765625" y="285.53125" x="8" ry="0" rx="0" style=""></rect>
<g transform="translate(316.150390625, 290.53125)" class="cluster-label">
<foreignObject height="19" width="68.796875">
<div style="display: inline-block; white-space: nowrap;"
xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">odroid-n2</span></div>
</foreignObject>
</g>
</g>
<g id="n2-plus" class="cluster server server">
<rect height="84" width="543.8203125" y="285.53125" x="713.09765625" ry="0" rx="0" style=""></rect>
<g transform="translate(959.078125, 290.53125)" class="cluster-label">
<foreignObject height="19" width="51.859375">
<div style="display: inline-block; white-space: nowrap;"
xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">n2-plus</span></div>
</foreignObject>
</g>
</g>
<g id="omv" class="cluster server server">
<rect height="84" width="932.65234375" y="285.53125" x="1381.45703125" ry="0" rx="0" style="">
</rect>
<g transform="translate(1832.931640625, 290.53125)" class="cluster-label">
<foreignObject height="19" width="29.703125">
<div style="display: inline-block; white-space: nowrap;"
xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">omv</span></div>
</foreignObject>
</g>
</g>
<g id="xu4" class="cluster server server">
<rect height="84" width="777.55078125" y="151.53125" x="604.57421875" ry="0" rx="0" style=""></rect>
<g transform="translate(979.513671875, 156.53125)" class="cluster-label">
<foreignObject height="19" width="27.671875">
<div style="display: inline-block; white-space: nowrap;"
xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">XU4</span></div>
</foreignObject>
</g>
</g>
<g id="orlop" class="cluster domain">
<rect height="93.53125" width="1088.8984375" y="8" x="25.71875" ry="0" rx="0" style=""></rect>
<g transform="translate(521.90234375, 13)" class="cluster-label">
<foreignObject height="19" width="96.53125">
<div style="display: inline-block; white-space: nowrap;"
xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Orlop domain</span></div>
</foreignObject>
</g>
</g>
<g id="quodatum" class="cluster domain">
<rect height="93.53125" width="1063.7578125" y="8" x="1228.1484375" ry="0" rx="0" style=""></rect>
<g transform="translate(1694.45703125, 13)" class="cluster-label">
<foreignObject height="19" width="131.140625">
<div style="display: inline-block; white-space: nowrap;"
xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Quodatum domain</span>
</div>
</foreignObject>
</g>
</g>
</g>
<g class="edgePaths">
<path marker-end="url(#flowchart-pointEnd)" style="fill:none;"
class="edge-thickness-normal edge-pattern-solid flowchart-link LS-git LE-x1" id="L-git-x1-0"
d="M2056.9453125,71.765625L2056.9453125,76.7265625C2056.9453125,81.6875,2056.9453125,91.609375,2056.9453125,100.73697916666667C2056.9453125,109.86458333333333,2056.9453125,118.19791666666667,2056.9453125,126.53125C2056.9453125,134.86458333333334,2056.9453125,143.19791666666666,2056.9453125,154.36458333333334C2056.9453125,165.53125,2056.9453125,179.53125,2056.9453125,193.53125C2056.9453125,207.53125,2056.9453125,221.53125,2056.9453125,232.69791666666666C2056.9453125,243.86458333333334,2056.9453125,252.19791666666666,2056.9453125,260.53125C2056.9453125,268.8645833333333,2056.9453125,277.1979166666667,2057.0286458333335,285.6145833333333C2057.1119791666665,294.03125,2057.2786458333335,302.53125,2057.3619791666665,306.78125L2057.4453125,311.03125">
</path>
<path marker-end="url(#flowchart-pointEnd)" style="fill:none;"
class="edge-thickness-normal edge-pattern-solid flowchart-link LS-emby LE-x2" id="L-emby-x2-0"
d="M1052.7109375,71.765625L1052.7109375,76.7265625C1052.7109375,81.6875,1052.7109375,91.609375,1153.0826822916667,100.73697916666667C1253.4544270833333,109.86458333333333,1454.1979166666667,118.19791666666667,1554.5696614583333,126.53125C1654.94140625,134.86458333333334,1654.94140625,143.19791666666666,1654.94140625,154.36458333333334C1654.94140625,165.53125,1654.94140625,179.53125,1654.94140625,193.53125C1654.94140625,207.53125,1654.94140625,221.53125,1654.94140625,232.69791666666666C1654.94140625,243.86458333333334,1654.94140625,252.19791666666666,1654.94140625,260.53125C1654.94140625,268.8645833333333,1654.94140625,277.1979166666667,1655.0247395833333,285.6145833333333C1655.1080729166667,294.03125,1655.2747395833333,302.53125,1655.3580729166667,306.78125L1655.44140625,311.03125">
</path>
<path marker-end="url(#flowchart-pointEnd)" style="fill:none;"
class="edge-thickness-normal edge-pattern-solid flowchart-link LS-jellyfin LE-x3"
id="L-jellyfin-x3-0"
d="M942.734375,71.765625L942.734375,76.7265625C942.734375,81.6875,942.734375,91.609375,1033.8372395833333,100.73697916666667C1124.9401041666667,109.86458333333333,1307.1458333333333,118.19791666666667,1398.2486979166667,126.53125C1489.3515625,134.86458333333334,1489.3515625,143.19791666666666,1489.3515625,154.36458333333334C1489.3515625,165.53125,1489.3515625,179.53125,1489.3515625,193.53125C1489.3515625,207.53125,1489.3515625,221.53125,1482.6848958333333,232.69791666666666C1476.0182291666667,243.86458333333334,1462.6848958333333,252.19791666666666,1456.0182291666667,260.53125C1449.3515625,268.8645833333333,1449.3515625,277.1979166666667,1452.2022104414682,285.6145833333333C1455.0528583829364,294.03125,1460.754154265873,302.53125,1463.6048022073412,306.78125L1466.4554501488096,311.03125">
</path>
<path marker-end="url(#flowchart-pointEnd)" style="fill:none;"
class="edge-thickness-normal edge-pattern-solid flowchart-link LS-tvheadend LE-x4"
id="L-tvheadend-x4-0"
d="M320.25390625,71.765625L320.25390625,76.7265625C320.25390625,81.6875,320.25390625,91.609375,364.3072916666667,100.73697916666667C408.3606770833333,109.86458333333333,496.4674479166667,118.19791666666667,540.5208333333334,126.53125C584.57421875,134.86458333333334,584.57421875,143.19791666666666,584.57421875,154.36458333333334C584.57421875,165.53125,584.57421875,179.53125,584.57421875,193.53125C584.57421875,207.53125,584.57421875,221.53125,617.5891927083334,232.69791666666666C650.6041666666666,243.86458333333334,716.6341145833334,252.19791666666666,749.6490885416666,260.53125C782.6640625,268.8645833333333,782.6640625,277.1979166666667,785.6805710565476,285.6145833333333C788.6970796130953,294.03125,794.7300967261905,302.53125,797.7466052827381,306.78125L800.7631138392857,311.03125">
</path>
<path marker-end="url(#flowchart-pointEnd)" style="fill:none;"
class="edge-thickness-normal edge-pattern-solid flowchart-link LS-wiki LE-x10" id="L-wiki-x10-0"
d="M1285.203125,71.765625L1285.203125,76.7265625C1285.203125,81.6875,1285.203125,91.609375,1148.0501302083333,100.73697916666667C1010.8971354166666,109.86458333333333,736.5911458333334,118.19791666666667,599.4381510416666,126.53125C462.28515625,134.86458333333334,462.28515625,143.19791666666666,462.28515625,154.36458333333334C462.28515625,165.53125,462.28515625,179.53125,462.28515625,193.53125C462.28515625,207.53125,462.28515625,221.53125,483.1796875,232.69791666666666C504.07421875,243.86458333333334,545.86328125,252.19791666666666,566.7578125,260.53125C587.65234375,268.8645833333333,587.65234375,277.1979166666667,587.7356770833334,285.6145833333333C587.8190104166666,294.03125,587.9856770833334,302.53125,588.0690104166666,306.78125L588.15234375,311.03125">
</path>
<path marker-end="url(#flowchart-pointEnd)" style="fill:none;"
class="edge-thickness-normal edge-pattern-solid flowchart-link LS-code LE-x6" id="L-code-x6-0"
d="M1722.97265625,71.765625L1722.97265625,76.7265625C1722.97265625,81.6875,1722.97265625,91.609375,1669.498046875,100.73697916666667C1616.0234375,109.86458333333333,1509.07421875,118.19791666666667,1455.599609375,126.53125C1402.125,134.86458333333334,1402.125,143.19791666666666,1402.125,154.36458333333334C1402.125,165.53125,1402.125,179.53125,1402.125,193.53125C1402.125,207.53125,1402.125,221.53125,1362.181640625,232.69791666666666C1322.23828125,243.86458333333334,1242.3515625,252.19791666666666,1202.408203125,260.53125C1162.46484375,268.8645833333333,1162.46484375,277.1979166666667,1162.5481770833333,285.6145833333333C1162.6315104166667,294.03125,1162.7981770833333,302.53125,1162.8815104166667,306.78125L1162.96484375,311.03125">
</path>
<path marker-end="url(#flowchart-pointEnd)" style="fill:none;"
class="edge-thickness-normal edge-pattern-solid flowchart-link LS-code-alt LE-x11"
id="L-code-alt-x11-0"
d="M2219.65625,71.765625L2219.65625,76.7265625C2219.65625,81.6875,2219.65625,91.609375,2219.65625,100.73697916666667C2219.65625,109.86458333333333,2219.65625,118.19791666666667,2219.65625,126.53125C2219.65625,134.86458333333334,2219.65625,143.19791666666666,2219.65625,154.36458333333334C2219.65625,165.53125,2219.65625,179.53125,2219.65625,193.53125C2219.65625,207.53125,2219.65625,221.53125,2219.65625,232.69791666666666C2219.65625,243.86458333333334,2219.65625,252.19791666666666,2219.65625,260.53125C2219.65625,268.8645833333333,2219.65625,277.1979166666667,2219.7395833333335,285.6145833333333C2219.8229166666665,294.03125,2219.9895833333335,302.53125,2220.0729166666665,306.78125L2220.15625,311.03125">
</path>
<path marker-end="url(#flowchart-pointEnd)" style="fill:none;"
class="edge-thickness-normal edge-pattern-solid flowchart-link LS-kodi LE-x7" id="L-kodi-x7-0"
d="M83.2890625,71.765625L83.2890625,76.7265625C83.2890625,81.6875,83.2890625,91.609375,83.2890625,100.73697916666667C83.2890625,109.86458333333333,83.2890625,118.19791666666667,83.2890625,126.53125C83.2890625,134.86458333333334,83.2890625,143.19791666666666,83.2890625,154.36458333333334C83.2890625,165.53125,83.2890625,179.53125,83.2890625,193.53125C83.2890625,207.53125,83.2890625,221.53125,83.2890625,232.69791666666666C83.2890625,243.86458333333334,83.2890625,252.19791666666666,83.2890625,260.53125C83.2890625,268.8645833333333,83.2890625,277.1979166666667,99.88020833333333,286.09065796930855C116.47135416666667,294.9833992719505,149.65364583333334,304.43554854390095,166.24479166666666,309.1616231798762L182.8359375,313.8876978158514">
</path>
<path marker-end="url(#flowchart-pointEnd)" style="fill:none;"
class="edge-thickness-normal edge-pattern-solid flowchart-link LS-vpn LE-x8" id="L-vpn-x8-0"
d="M1171.3828125,76.53125L1171.3828125,80.69791666666667C1171.3828125,84.86458333333333,1171.3828125,93.19791666666667,1171.2513020833333,101.53125C1171.1197916666667,109.86458333333333,1170.8567708333333,118.19791666666667,1170.7252604166667,126.53125C1170.59375,134.86458333333334,1170.59375,143.19791666666666,1170.59375,151.53125C1170.59375,159.86458333333334,1170.59375,168.19791666666666,1170.59375,172.36458333333334L1170.59375,176.53125">
</path>
<path marker-end="url(#flowchart-pointEnd)" style="fill:none;"
class="edge-thickness-normal edge-pattern-solid flowchart-link LS-about-o LE-x9" id="L-about-o-x9-0"
d="M443.43359375,71.765625L443.43359375,76.7265625C443.43359375,81.6875,443.43359375,91.609375,494.9212239583333,100.73697916666667C546.4088541666666,109.86458333333333,649.3841145833334,118.19791666666667,700.8717447916666,126.53125C752.359375,134.86458333333334,752.359375,143.19791666666666,793.0104166666666,153.63168206867215C833.6614583333334,164.06544747067764,914.9635416666666,176.59964494135525,955.6145833333334,182.8667436766941L996.265625,189.13384241203292">
</path>
<path marker-end="url(#flowchart-pointEnd)" style="fill:none;"
class="edge-thickness-normal edge-pattern-solid flowchart-link LS-about-q LE-x9" id="L-about-q-x9-0"
d="M1545.91796875,71.765625L1545.91796875,76.7265625C1545.91796875,81.6875,1545.91796875,91.609375,1469.546875,100.73697916666667C1393.17578125,109.86458333333333,1240.43359375,118.19791666666667,1164.0625,126.53125C1087.69140625,134.86458333333334,1087.69140625,143.19791666666666,1081.4510943700398,151.53125C1075.2107824900793,159.86458333333334,1062.7301587301588,168.19791666666666,1056.4898468501985,172.36458333333334L1050.249534970238,176.53125">
</path>
<path marker-end="url(#flowchart-pointEnd)" style="fill:none;stroke-width:2px;stroke-dasharray:3;"
class="edge-thickness-normal edge-pattern-dotted flowchart-link LS-xu4 LE-omv" id="L-xu4-omv-0"
d="M1128.68359375,235.53125L1188.4440104166667,239.69791666666666C1248.2044270833333,243.86458333333334,1367.7252604166667,252.19791666666666,1427.4856770833333,260.53125C1487.24609375,268.8645833333333,1487.24609375,277.1979166666667,1487.24609375,281.3645833333333L1487.24609375,285.53125">
</path>
<path marker-end="url(#flowchart-pointEnd)" style="fill:none;stroke-width:2px;stroke-dasharray:3;"
class="edge-thickness-normal edge-pattern-dotted flowchart-link LS-xu4 LE-n2-plus"
id="L-xu4-n2-plus-0"
d="M875.2421875,235.53125L875.2421875,239.69791666666666C875.2421875,243.86458333333334,875.2421875,252.19791666666666,875.2421875,260.53125C875.2421875,268.8645833333333,875.2421875,277.1979166666667,875.2421875,281.3645833333333L875.2421875,285.53125">
</path>
<path marker-end="url(#flowchart-pointEnd)" style="fill:none;stroke-width:2px;stroke-dasharray:3;"
class="edge-thickness-normal edge-pattern-dotted flowchart-link LS-xu4 LE-odroid-n2"
id="L-xu4-odroid-n2-0"
d="M667.5859375,235.53125L638.369140625,239.69791666666666C609.15234375,243.86458333333334,550.71875,252.19791666666666,521.501953125,260.53125C492.28515625,268.8645833333333,492.28515625,277.1979166666667,492.28515625,281.3645833333333L492.28515625,285.53125">
</path>
</g>
<g class="edgeLabels">
<g class="edgeLabel">
<g transform="translate(0, 0)" class="label">
<foreignObject height="0" width="0">
<div style="display: inline-block; white-space: nowrap;"
xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div>
</foreignObject>
</g>
</g>
<g class="edgeLabel">
<g transform="translate(0, 0)" class="label">
<foreignObject height="0" width="0">
<div style="display: inline-block; white-space: nowrap;"
xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div>
</foreignObject>
</g>
</g>
<g class="edgeLabel">
<g transform="translate(0, 0)" class="label">
<foreignObject height="0" width="0">
<div style="display: inline-block; white-space: nowrap;"
xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div>
</foreignObject>
</g>
</g>
<g class="edgeLabel">
<g transform="translate(0, 0)" class="label">
<foreignObject height="0" width="0">
<div style="display: inline-block; white-space: nowrap;"
xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div>
</foreignObject>
</g>
</g>
<g class="edgeLabel">
<g transform="translate(0, 0)" class="label">
<foreignObject height="0" width="0">
<div style="display: inline-block; white-space: nowrap;"
xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div>
</foreignObject>
</g>
</g>
<g class="edgeLabel">
<g transform="translate(0, 0)" class="label">
<foreignObject height="0" width="0">
<div style="display: inline-block; white-space: nowrap;"
xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div>
</foreignObject>
</g>
</g>
<g class="edgeLabel">
<g transform="translate(0, 0)" class="label">
<foreignObject height="0" width="0">
<div style="display: inline-block; white-space: nowrap;"
xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div>
</foreignObject>
</g>
</g>
<g class="edgeLabel">
<g transform="translate(0, 0)" class="label">
<foreignObject height="0" width="0">
<div style="display: inline-block; white-space: nowrap;"
xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div>
</foreignObject>
</g>
</g>
<g class="edgeLabel">
<g transform="translate(0, 0)" class="label">
<foreignObject height="0" width="0">
<div style="display: inline-block; white-space: nowrap;"
xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div>
</foreignObject>
</g>
</g>
<g class="edgeLabel">
<g transform="translate(0, 0)" class="label">
<foreignObject height="0" width="0">
<div style="display: inline-block; white-space: nowrap;"
xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div>
</foreignObject>
</g>
</g>
<g class="edgeLabel">
<g transform="translate(0, 0)" class="label">
<foreignObject height="0" width="0">
<div style="display: inline-block; white-space: nowrap;"
xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div>
</foreignObject>
</g>
</g>
<g class="edgeLabel">
<g transform="translate(0, 0)" class="label">
<foreignObject height="0" width="0">
<div style="display: inline-block; white-space: nowrap;"
xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div>
</foreignObject>
</g>
</g>
<g class="edgeLabel">
<g transform="translate(0, 0)" class="label">
<foreignObject height="0" width="0">
<div style="display: inline-block; white-space: nowrap;"
xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div>
</foreignObject>
</g>
</g>
<g class="edgeLabel">
<g transform="translate(0, 0)" class="label">
<foreignObject height="0" width="0">
<div style="display: inline-block; white-space: nowrap;"
xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div>
</foreignObject>
</g>
</g>
</g>
<g class="nodes">
<g transform="translate(232.625, 327.53125)" id="flowchart-x7-66" class="node default default">
<polygon style="" transform="translate(-42.2890625,17)" class="label-container"
points="0,0 84.578125,0 84.578125,-34 0,-34 0,0 -8,0 92.578125,0 92.578125,-34 -8,-34 -8,0">
</polygon>
<g transform="translate(-34.7890625, -9.5)" style="" class="label">
<foreignObject height="19" width="69.578125">
<div style="display: inline-block; white-space: nowrap;"
xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">kodi:2222</span></div>
</foreignObject>
</g>
</g>
<g transform="translate(587.65234375, 327.53125)" id="flowchart-x10-60" class="node default default">
<polygon style="" transform="translate(-62.4453125,17)" class="label-container"
points="0,0 124.890625,0 124.890625,-34 0,-34 0,0 -8,0 132.890625,0 132.890625,-34 -8,-34 -8,0">
</polygon>
<g transform="translate(-54.9453125, -9.5)" style="" class="label">
<foreignObject height="19" width="109.890625">
<div style="display: inline-block; white-space: nowrap;"
xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">tiddlywiki:8088</span>
</div>
</foreignObject>
</g>
</g>
<g transform="translate(812.23046875, 327.53125)" id="flowchart-x4-58" class="node default default">
<polygon style="" transform="translate(-56.1328125,17)" class="label-container"
points="0,0 112.265625,0 112.265625,-34 0,-34 0,0 -8,0 120.265625,0 120.265625,-34 -8,-34 -8,0">
</polygon>
<g transform="translate(-48.6328125, -9.5)" style="" class="label">
<foreignObject height="19" width="97.265625">
<div style="display: inline-block; white-space: nowrap;"
xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">tvheadend:xx</span></div>
</foreignObject>
</g>
</g>
<g transform="translate(1162.46484375, 327.53125)" id="flowchart-x6-62" class="node default default">
<polygon style="" transform="translate(-51.453125,17)" class="label-container"
points="0,0 102.90625,0 102.90625,-34 0,-34 0,0 -8,0 110.90625,0 110.90625,-34 -8,-34 -8,0">
</polygon>
<g transform="translate(-43.953125, -9.5)" style="" class="label">
<foreignObject height="19" width="87.90625">
<div style="display: inline-block; white-space: nowrap;"
xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">vscode:2222</span></div>
</foreignObject>
</g>
</g><a transform="translate(1477.24609375, 327.53125)" xlink:href="http://omv.local:8096">
<g title="Jellyfin" id="flowchart-x3-56" class="node default clickable">
<polygon style="" transform="translate(-52.7890625,17)" class="label-container"
points="0,0 105.578125,0 105.578125,-34 0,-34 0,0 -8,0 113.578125,0 113.578125,-34 -8,-34 -8,0">
</polygon>
<g transform="translate(-45.2890625, -9.5)" style="" class="label">
<foreignObject height="19" width="90.578125">
<div style="display: inline-block; white-space: nowrap;"
xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">jellyfin:8086</span>
</div>
</foreignObject>
</g>
</g>
</a>
<g transform="translate(1654.94140625, 327.53125)" id="flowchart-x2-54" class="node default default">
<polygon style="" transform="translate(-46.625,17)" class="label-container"
points="0,0 93.25,0 93.25,-34 0,-34 0,0 -8,0 101.25,0 101.25,-34 -8,-34 -8,0"></polygon>
<g transform="translate(-39.125, -9.5)" style="" class="label">
<foreignObject height="19" width="78.25">
<div style="display: inline-block; white-space: nowrap;"
xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">emby:8097</span></div>
</foreignObject>
</g>
</g>
<g transform="translate(2056.9453125, 327.53125)" id="flowchart-x1-52" class="node default default">
<polygon style="" transform="translate(-45.2578125,17)" class="label-container"
points="0,0 90.515625,0 90.515625,-34 0,-34 0,0 -8,0 98.515625,0 98.515625,-34 -8,-34 -8,0">
</polygon>
<g transform="translate(-37.7578125, -9.5)" style="" class="label">
<foreignObject height="19" width="75.515625">
<div style="display: inline-block; white-space: nowrap;"
xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">gitea:8300</span></div>
</foreignObject>
</g>
</g>
<g transform="translate(2219.65625, 327.53125)" id="flowchart-x11-64" class="node default default">
<polygon style="" transform="translate(-51.453125,17)" class="label-container"
points="0,0 102.90625,0 102.90625,-34 0,-34 0,0 -8,0 110.90625,0 110.90625,-34 -8,-34 -8,0">
</polygon>
<g transform="translate(-43.953125, -9.5)" style="" class="label">
<foreignObject height="19" width="87.90625">
<div style="display: inline-block; white-space: nowrap;"
xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">vscode:8444</span></div>
</foreignObject>
</g>
</g>
<g transform="translate(875.2421875, 193.53125)" id="flowchart-x5-90" class="node default default">
<polygon style="" transform="translate(-63.0234375,17)" class="label-container"
points="0,0 126.046875,0 126.046875,-34 0,-34 0,0 -8,0 134.046875,0 134.046875,-34 -8,-34 -8,0">
</polygon>
<g transform="translate(-55.5234375, -9.5)" style="" class="label">
<foreignObject height="19" width="111.046875">
<div style="display: inline-block; white-space: nowrap;"
xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">tiddy-wiki:8088</span>
</div>
</foreignObject>
</g>
</g>
<g transform="translate(1024.7890625, 193.53125)" id="flowchart-x9-70" class="node default default">
<rect height="34" width="57.046875" y="-17" x="-28.5234375" ry="0" rx="0" style=""
class="basic label-container"></rect>
<g transform="translate(-21.0234375, -9.5)" style="" class="label">
<foreignObject height="19" width="42.046875">
<div style="display: inline-block; white-space: nowrap;"
xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">caddy</span></div>
</foreignObject>
</g>
</g>
<g transform="translate(1170.59375, 193.53125)" id="flowchart-x8-68" class="node default default">
<rect height="34" width="134.5625" y="-17" x="-67.28125" ry="0" rx="0" style=""
class="basic label-container"></rect>
<g transform="translate(-59.78125, -9.5)" style="" class="label">
<foreignObject height="19" width="119.5625">
<div style="display: inline-block; white-space: nowrap;"
xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">wireguard:51820</span>
</div>
</foreignObject>
</g>
</g>
<g transform="translate(1317.5, 193.53125)" id="flowchart-x12-93" class="node default default">
<rect height="34" width="59.25" y="-17" x="-29.625" ry="0" rx="0" style=""
class="basic label-container"></rect>
<g transform="translate(-22.125, -9.5)" style="" class="label">
<foreignObject height="19" width="44.25">
<div style="display: inline-block; white-space: nowrap;"
xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">pihole</span></div>
</foreignObject>
</g>
</g>
<g transform="translate(443.43359375, 54.765625)" id="flowchart-about-o-69"
class="node default default">
<rect height="34" width="56" y="-17" x="-28" ry="0" rx="0" style="" class="basic label-container">
</rect>
<g transform="translate(-20.5, -9.5)" style="" class="label">
<foreignObject height="19" width="41">
<div style="display: inline-block; white-space: nowrap;"
xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">about</span></div>
</foreignObject>
</g>
</g><a transform="translate(942.734375, 54.765625)" xlink:href="https://jellyfin.orlop.duckdns.org">
<g title="Jellyfin" id="flowchart-jellyfin-55" class="node default clickable">
<rect height="34" width="66.140625" y="-17" x="-33.0703125" ry="0" rx="0" style=""
class="basic label-container"></rect>
<g transform="translate(-25.5703125, -9.5)" style="" class="label">
<foreignObject height="19" width="51.140625">
<div style="display: inline-block; white-space: nowrap;"
xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">jellyfin</span></div>
</foreignObject>
</g>
</g>
</a>
<g transform="translate(1052.7109375, 54.765625)" id="flowchart-emby-53" class="node default default">
<rect height="34" width="53.8125" y="-17" x="-26.90625" ry="0" rx="0" style=""
class="basic label-container"></rect>
<g transform="translate(-19.40625, -9.5)" style="" class="label">
<foreignObject height="19" width="38.8125">
<div style="display: inline-block; white-space: nowrap;"
xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">emby</span></div>
</foreignObject>
</g>
</g>
<g transform="translate(320.25390625, 54.765625)" id="flowchart-tvheadend-57"
class="node default default">
<rect height="34" width="90.359375" y="-17" x="-45.1796875" ry="0" rx="0" style=""
class="basic label-container"></rect>
<g transform="translate(-37.6796875, -9.5)" style="" class="label">
<foreignObject height="19" width="75.359375">
<div style="display: inline-block; white-space: nowrap;"
xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">tvheadend</span></div>
</foreignObject>
</g>
</g>
<g transform="translate(83.2890625, 54.765625)" id="flowchart-kodi-65" class="node default default">
<rect height="34" width="45.140625" y="-17" x="-22.5703125" ry="0" rx="0" style=""
class="basic label-container"></rect>
<g transform="translate(-15.0703125, -9.5)" style="" class="label">
<foreignObject height="19" width="30.140625">
<div style="display: inline-block; white-space: nowrap;"
xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">kodi</span></div>
</foreignObject>
</g>
</g>
<g transform="translate(1545.91796875, 54.765625)" id="flowchart-about-q-71"
class="node default default">
<rect height="34" width="56" y="-17" x="-28" ry="0" rx="0" style="" class="basic label-container">
</rect>
<g transform="translate(-20.5, -9.5)" style="" class="label">
<foreignObject height="19" width="41">
<div style="display: inline-block; white-space: nowrap;"
xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">about</span></div>
</foreignObject>
</g>
</g><a transform="translate(2056.9453125, 54.765625)" xlink:href="https://git.quodatum.duckdns.org">
<g title="Gitea" id="flowchart-git-51" class="node default clickable">
<rect height="34" width="33.9375" y="-17" x="-16.96875" ry="0" rx="0" style=""
class="basic label-container"></rect>
<g transform="translate(-9.46875, -9.5)" style="" class="label">
<foreignObject height="19" width="18.9375">
<div style="display: inline-block; white-space: nowrap;"
xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">git</span></div>
</foreignObject>
</g>
</g>
</a><a transform="translate(1285.203125, 54.765625)" xlink:href="https://wiki.quodatum.duckdns.org">
<g title="tiddlywiki" id="flowchart-wiki-59" class="node default clickable">
<rect height="34" width="44.109375" y="-17" x="-22.0546875" ry="0" rx="0" style=""
class="basic label-container"></rect>
<g transform="translate(-14.5546875, -9.5)" style="" class="label">
<foreignObject height="19" width="29.109375">
<div style="display: inline-block; white-space: nowrap;"
xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">wiki</span></div>
</foreignObject>
</g>
</g>
</a>
<g transform="translate(1955.25, 54.765625)" id="flowchart-wiki-alt-82" class="node default default">
<rect height="34" width="69.453125" y="-17" x="-34.7265625" ry="0" rx="0" style=""
class="basic label-container"></rect>
<g transform="translate(-27.2265625, -9.5)" style="" class="label">
<foreignObject height="19" width="54.453125">
<div style="display: inline-block; white-space: nowrap;"
xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">wiki-alt</span></div>
</foreignObject>
</g>
</g><a transform="translate(1722.97265625, 54.765625)" xlink:href="https://code.quodatum.duckdns.org">
<g title="vscode" id="flowchart-code-61" class="node default clickable">
<rect height="34" width="49.15625" y="-17" x="-24.578125" ry="0" rx="0" style=""
class="basic label-container"></rect>
<g transform="translate(-17.078125, -9.5)" style="" class="label">
<foreignObject height="19" width="34.15625">
<div style="display: inline-block; white-space: nowrap;"
xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">code</span></div>
</foreignObject>
</g>
</g>
</a>
<g transform="translate(2219.65625, 54.765625)" id="flowchart-code-alt-63" class="node default default">
<rect height="34" width="74.5" y="-17" x="-37.25" ry="0" rx="0" style=""
class="basic label-container"></rect>
<g transform="translate(-29.75, -9.5)" style="" class="label">
<foreignObject height="19" width="59.5">
<div style="display: inline-block; white-space: nowrap;"
xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">code-alt</span></div>
</foreignObject>
</g>
</g>
<g transform="translate(1171.3828125, 54.765625)" id="flowchart-vpn-67" class="node default default">
<circle height="34" width="43.53125" r="21.765625" ry="0" rx="0" style=""></circle>
<g transform="translate(-14.265625, -9.5)" style="" class="label">
<foreignObject height="19" width="28.53125">
<div style="display: inline-block; white-space: nowrap;"
xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">VPN</span></div>
</foreignObject>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 47 KiB