Files
searxng/_images/arch_public.svg
2026-07-16 21:35:23 +00:00

150 lines
7.9 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 14.1.2 (0)
-->
<!-- Title: G Pages: 1 -->
<svg width="540pt" height="408pt"
viewBox="0.00 0.00 540.00 408.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 403.75)">
<title>G</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-403.75 536,-403.75 536,4 -4,4"/>
<g id="clust1" class="cluster">
<title>cluster_searxng</title>
<polygon fill="#fafafa" stroke="black" points="8,-8 8,-320.5 524,-320.5 524,-8 8,-8"/>
<text xml:space="preserve" text-anchor="middle" x="266" y="-303.2" font-family="Sans" font-size="14.00">SearXNG instance</text>
</g>
<!-- browser -->
<g id="node1" class="node">
<title>browser</title>
<polygon fill="aliceblue" stroke="black" points="107.75,-399.75 48.25,-399.75 48.25,-403.75 36.25,-403.75 36.25,-363.75 107.75,-363.75 107.75,-399.75"/>
<polyline fill="none" stroke="black" points="36.25,-399.75 48.25,-399.75"/>
<text xml:space="preserve" text-anchor="middle" x="72" y="-377.07" font-family="Sans" font-size="14.00">browser</text>
</g>
<!-- rp -->
<g id="node2" class="node">
<title>rp</title>
<polygon fill="#ffffcc" stroke="black" points="127.62,-287.25 16.38,-287.25 16.38,-251.25 127.62,-251.25 127.62,-287.25"/>
<text xml:space="preserve" text-anchor="middle" x="72" y="-264.57" font-family="Sans" font-size="14.00">reverse proxy</text>
</g>
<!-- browser&#45;&gt;rp -->
<g id="edge1" class="edge">
<title>browser&#45;&gt;rp</title>
<path fill="none" stroke="black" d="M72,-363.48C72,-346.21 72,-319.34 72,-298.87"/>
<polygon fill="black" stroke="black" points="75.5,-298.91 72,-288.91 68.5,-298.91 75.5,-298.91"/>
<text xml:space="preserve" text-anchor="middle" x="94.12" y="-332.45" font-family="Sans" font-size="14.00">HTTPS</text>
</g>
<!-- static -->
<g id="node3" class="node">
<title>static</title>
<g id="a_node3"><a xlink:href="url to configure static files" xlink:title="static files">
<polygon fill="lightgray" stroke="black" points="516.25,-287.25 513.25,-291.25 492.25,-291.25 489.25,-287.25 429.75,-287.25 429.75,-251.25 516.25,-251.25 516.25,-287.25"/>
<text xml:space="preserve" text-anchor="middle" x="473" y="-264.57" font-family="Sans" font-size="14.00">static files</text>
</a>
</g>
</g>
<!-- rp&#45;&gt;static -->
<g id="edge2" class="edge">
<title>rp&#45;&gt;static</title>
<path fill="none" stroke="black" d="M127.76,-269.25C204.52,-269.25 341.88,-269.25 418.16,-269.25"/>
<polygon fill="slategray" stroke="black" points="417.89,-272.75 427.89,-269.25 417.89,-265.75 417.89,-272.75"/>
<text xml:space="preserve" text-anchor="middle" x="278.69" y="-276.2" font-family="Sans" font-size="14.00" fill="slategray">optional: reverse proxy serves static files</text>
</g>
<!-- uwsgi -->
<g id="node4" class="node">
<title>uwsgi</title>
<g id="a_node4"><a xlink:href="https://docs.searxng.org/utils/searxng.sh.html" xlink:title="uwsgi">
<polygon fill="#ffffcc" stroke="black" points="248.11,-198 155.67,-198 131.89,-162 224.33,-162 248.11,-198"/>
<text xml:space="preserve" text-anchor="middle" x="190" y="-175.32" font-family="Sans" font-size="14.00">uwsgi</text>
</a>
</g>
</g>
<!-- rp&#45;&gt;uwsgi -->
<g id="edge3" class="edge">
<title>rp&#45;&gt;uwsgi</title>
<path fill="none" stroke="black" d="M95.6,-250.8C113.28,-237.73 137.7,-219.67 157.28,-205.2"/>
<polygon fill="black" stroke="black" points="159.27,-208.08 165.23,-199.32 155.11,-202.45 159.27,-208.08"/>
<text xml:space="preserve" text-anchor="middle" x="243.94" y="-219.95" font-family="Sans" font-size="14.00">http:// (tcp) or unix:// (socket)</text>
</g>
<!-- searxng1 -->
<g id="node6" class="node">
<title>searxng1</title>
<polygon fill="#ffffcc" stroke="black" points="119.88,-125 16.12,-125 16.12,-89 119.88,-89 119.88,-125"/>
<text xml:space="preserve" text-anchor="middle" x="68" y="-102.33" font-family="Sans" font-size="14.00" fill="#0000cd">SearXNG #1</text>
</g>
<!-- uwsgi&#45;&gt;searxng1 -->
<g id="edge4" class="edge">
<title>uwsgi&#45;&gt;searxng1</title>
<path fill="none" stroke="black" d="M160.16,-161.63C144.35,-152.43 124.73,-141.02 107.67,-131.08"/>
<polygon fill="black" stroke="black" points="109.67,-128.2 99.27,-126.2 106.15,-134.25 109.67,-128.2"/>
</g>
<!-- searxng2 -->
<g id="node7" class="node">
<title>searxng2</title>
<polygon fill="#ffffcc" stroke="black" points="241.88,-125 138.12,-125 138.12,-89 241.88,-89 241.88,-125"/>
<text xml:space="preserve" text-anchor="middle" x="190" y="-102.33" font-family="Sans" font-size="14.00" fill="#0000cd">SearXNG #2</text>
</g>
<!-- uwsgi&#45;&gt;searxng2 -->
<g id="edge6" class="edge">
<title>uwsgi&#45;&gt;searxng2</title>
<path fill="none" stroke="black" d="M190,-161.81C190,-154.23 190,-145.1 190,-136.54"/>
<polygon fill="black" stroke="black" points="193.5,-136.54 190,-126.54 186.5,-136.54 193.5,-136.54"/>
</g>
<!-- searxng3 -->
<g id="node8" class="node">
<title>searxng3</title>
<polygon fill="#ffffcc" stroke="black" points="363.88,-125 260.12,-125 260.12,-89 363.88,-89 363.88,-125"/>
<text xml:space="preserve" text-anchor="middle" x="312" y="-102.33" font-family="Sans" font-size="14.00" fill="#0000cd">SearXNG #3</text>
</g>
<!-- uwsgi&#45;&gt;searxng3 -->
<g id="edge8" class="edge">
<title>uwsgi&#45;&gt;searxng3</title>
<path fill="none" stroke="black" d="M219.84,-161.63C235.65,-152.43 255.27,-141.02 272.33,-131.08"/>
<polygon fill="black" stroke="black" points="273.85,-134.25 280.73,-126.2 270.33,-128.2 273.85,-134.25"/>
</g>
<!-- searxng4 -->
<g id="node9" class="node">
<title>searxng4</title>
<polygon fill="#ffffcc" stroke="black" points="485.88,-125 382.12,-125 382.12,-89 485.88,-89 485.88,-125"/>
<text xml:space="preserve" text-anchor="middle" x="434" y="-102.33" font-family="Sans" font-size="14.00" fill="#0000cd">SearXNG #4</text>
</g>
<!-- uwsgi&#45;&gt;searxng4 -->
<g id="edge10" class="edge">
<title>uwsgi&#45;&gt;searxng4</title>
<path fill="none" stroke="black" d="M228.66,-167.75C266.9,-156.62 326.05,-139.41 371.07,-126.31"/>
<polygon fill="black" stroke="black" points="371.82,-129.74 380.44,-123.58 369.86,-123.02 371.82,-129.74"/>
</g>
<!-- valkey -->
<g id="node5" class="node">
<title>valkey</title>
<path fill="#ffffcc" stroke="black" d="M293.5,-48.73C293.5,-50.53 274.45,-52 251,-52 227.55,-52 208.5,-50.53 208.5,-48.73 208.5,-48.73 208.5,-19.27 208.5,-19.27 208.5,-17.47 227.55,-16 251,-16 274.45,-16 293.5,-17.47 293.5,-19.27 293.5,-19.27 293.5,-48.73 293.5,-48.73"/>
<path fill="none" stroke="black" d="M293.5,-48.73C293.5,-46.92 274.45,-45.45 251,-45.45 227.55,-45.45 208.5,-46.92 208.5,-48.73"/>
<text xml:space="preserve" text-anchor="middle" x="251" y="-29.32" font-family="Sans" font-size="14.00">valkey DB</text>
</g>
<!-- searxng1&#45;&gt;valkey -->
<g id="edge5" class="edge">
<title>searxng1&#45;&gt;valkey</title>
<path fill="none" stroke="black" d="M112.77,-88.63C138.83,-78.52 171.81,-65.73 199.01,-55.17"/>
<polygon fill="black" stroke="black" points="200.05,-58.52 208.1,-51.64 197.51,-52 200.05,-58.52"/>
</g>
<!-- searxng2&#45;&gt;valkey -->
<g id="edge7" class="edge">
<title>searxng2&#45;&gt;valkey</title>
<path fill="none" stroke="black" d="M204.77,-88.81C212.03,-80.35 220.94,-69.98 228.99,-60.61"/>
<polygon fill="black" stroke="black" points="231.52,-63.04 235.38,-53.18 226.21,-58.48 231.52,-63.04"/>
</g>
<!-- searxng3&#45;&gt;valkey -->
<g id="edge9" class="edge">
<title>searxng3&#45;&gt;valkey</title>
<path fill="none" stroke="black" d="M297.23,-88.81C289.97,-80.35 281.06,-69.98 273.01,-60.61"/>
<polygon fill="black" stroke="black" points="275.79,-58.48 266.62,-53.18 270.48,-63.04 275.79,-58.48"/>
</g>
<!-- searxng4&#45;&gt;valkey -->
<g id="edge11" class="edge">
<title>searxng4&#45;&gt;valkey</title>
<path fill="none" stroke="black" d="M389.23,-88.63C363.17,-78.52 330.19,-65.73 302.99,-55.17"/>
<polygon fill="black" stroke="black" points="304.49,-52 293.9,-51.64 301.95,-58.52 304.49,-52"/>
</g>
</g>
</svg>