mirror of
https://github.com/searx/searx
synced 2025-02-21 14:20:49 +01:00
Deploying to gh-pages from @ 52e08ed777f005679f1ace632cbcf8147d54535f 🚀
This commit is contained in:
parent
37d9813444
commit
dc623f2ccc
@ -47,14 +47,14 @@
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="administration-api">
|
||||
<div class="section" id="administration-api">
|
||||
<span id="adminapi"></span><h1>Administration API<a class="headerlink" href="#administration-api" title="Permalink to this headline">¶</a></h1>
|
||||
<section id="get-configuration-data">
|
||||
<div class="section" id="get-configuration-data">
|
||||
<h2>Get configuration data<a class="headerlink" href="#get-configuration-data" title="Permalink to this headline">¶</a></h2>
|
||||
<div class="highlight-http notranslate"><div class="highlight"><pre><span></span><span class="nf">GET</span> <span class="nn">/config</span> <span class="kr">HTTP</span><span class="o">/</span><span class="m">1.1</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<section id="sample-response">
|
||||
<div class="section" id="sample-response">
|
||||
<h3>Sample response<a class="headerlink" href="#sample-response" title="Permalink to this headline">¶</a></h3>
|
||||
<div class="highlight-json notranslate"><div class="highlight"><pre><span></span><span class="p">{</span>
|
||||
<span class="nt">"autocomplete"</span><span class="p">:</span> <span class="s2">""</span><span class="p">,</span>
|
||||
@ -119,9 +119,9 @@
|
||||
<span class="p">}</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
<section id="embed-search-bar">
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="embed-search-bar">
|
||||
<h2>Embed search bar<a class="headerlink" href="#embed-search-bar" title="Permalink to this headline">¶</a></h2>
|
||||
<p>The search bar can be embedded into websites. Just paste the example into the
|
||||
HTML of the site. URL of the searx instance and values are customizable.</p>
|
||||
@ -134,8 +134,8 @@ HTML of the site. URL of the searx instance and values are customizable.</p>
|
||||
<span class="p"></</span><span class="nt">form</span><span class="p">></span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="clearer"></div>
|
||||
|
@ -47,9 +47,9 @@
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="architecture">
|
||||
<div class="section" id="architecture">
|
||||
<span id="id1"></span><h1>Architecture<a class="headerlink" href="#architecture" title="Permalink to this headline">¶</a></h1>
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar">
|
||||
<p class="sidebar-title">Further reading</p>
|
||||
<ul class="simple">
|
||||
<li><p>Reverse Proxy: <a class="reference internal" href="installation-apache.html#apache-searx-site"><span class="std std-ref">Apache</span></a> & <a class="reference internal" href="installation-nginx.html#nginx-searx-site"><span class="std std-ref">nginx</span></a></p></li>
|
||||
@ -58,18 +58,16 @@
|
||||
<li><p>uWSGI: <a class="reference internal" href="installation-uwsgi.html#searx-uwsgi"><span class="std std-ref">uwsgi</span></a></p></li>
|
||||
<li><p>Searx: <a class="reference internal" href="installation-searx.html#installation-basic"><span class="std std-ref">Step by step installation</span></a></p></li>
|
||||
</ul>
|
||||
</aside>
|
||||
</div>
|
||||
<p>Herein you will find some hints and suggestions about typical architectures of
|
||||
searx infrastructures.</p>
|
||||
<p>We start with a contribution from <a class="reference external" href="https://github.com/searx/searx/pull/1776#issuecomment-567917320">@dalf</a>.
|
||||
It shows a <em>reference</em> setup for public searx instances which can build up and
|
||||
maintained by the scripts from our <a class="reference internal" href="../utils/index.html#toolboxing"><span class="std std-ref">Tooling box utils for administrators</span></a>.</p>
|
||||
<figure class="align-default" id="id2">
|
||||
<img alt="arch_public.dot" src="../_images/arch_public.svg" /><figcaption>
|
||||
<p><span class="caption-number">Fig. 1 </span><span class="caption-text">Reference architecture of a public searx setup.</span><a class="headerlink" href="#id2" title="Permalink to this image">¶</a></p>
|
||||
</figcaption>
|
||||
</figure>
|
||||
</section>
|
||||
<div class="figure align-default" id="id2">
|
||||
<img alt="arch_public.dot" src="../_images/arch_public.svg" /><p class="caption"><span class="caption-number">Fig. 1 </span><span class="caption-text">Reference architecture of a public searx setup.</span><a class="headerlink" href="#id2" title="Permalink to this image">¶</a></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="clearer"></div>
|
||||
|
@ -48,13 +48,13 @@
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="buildhosts">
|
||||
<div class="section" id="buildhosts">
|
||||
<span id="id1"></span><h1>Buildhosts<a class="headerlink" href="#buildhosts" title="Permalink to this headline">¶</a></h1>
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar">
|
||||
<p class="sidebar-title">This article needs some work</p>
|
||||
<p>If you have any contribution send us your <a class="reference external" href="https://github.com/searx/searx/pull/../pulls">PR</a>, see
|
||||
<a class="reference internal" href="../dev/contribution_guide.html#how-to-contribute"><span class="std std-ref">How to contribute</span></a>.</p>
|
||||
</aside>
|
||||
</div>
|
||||
<div class="contents local topic" id="contents">
|
||||
<p class="topic-title">Contents</p>
|
||||
<ul class="simple">
|
||||
@ -112,9 +112,9 @@ on build hosts (see <a class="reference internal" href="../utils/searx.sh.html#s
|
||||
</pre></div>
|
||||
</div>
|
||||
</div></div>
|
||||
<section id="build-docs">
|
||||
<div class="section" id="build-docs">
|
||||
<span id="docs-build"></span><h2><a class="toc-backref" href="#id2">Build docs</a><a class="headerlink" href="#build-docs" title="Permalink to this headline">¶</a></h2>
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar">
|
||||
<p class="sidebar-title">Sphinx build needs</p>
|
||||
<ul class="simple">
|
||||
<li><p><a class="reference external" href="https://www.imagemagick.org">ImageMagick</a></p></li>
|
||||
@ -122,7 +122,7 @@ on build hosts (see <a class="reference internal" href="../utils/searx.sh.html#s
|
||||
<li><p><a class="reference external" href="https://tug.org/xetex/">XeTeX</a></p></li>
|
||||
<li><p><a class="reference external" href="https://dvisvgm.de/">dvisvgm</a></p></li>
|
||||
</ul>
|
||||
</aside>
|
||||
</div>
|
||||
<p>Most of the sphinx requirements are installed from <a class="reference external" href="https://github.com/searx/searx/blob/master/setup.py">git://setup.py</a> and the
|
||||
docs can be build from scratch with <code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">docs</span></code>. For better math and image
|
||||
processing additional packages are needed. The <a class="reference external" href="https://tug.org/xetex/">XeTeX</a> needed not only for PDF
|
||||
@ -172,8 +172,8 @@ output.</p>
|
||||
</pre></div>
|
||||
</div>
|
||||
</div></div>
|
||||
</section>
|
||||
<section id="lint-shell-scripts">
|
||||
</div>
|
||||
<div class="section" id="lint-shell-scripts">
|
||||
<span id="sh-lint"></span><h2><a class="toc-backref" href="#id3">Lint shell scripts</a><a class="headerlink" href="#lint-shell-scripts" title="Permalink to this headline">¶</a></h2>
|
||||
<p>To lint shell scripts, we use <a class="reference external" href="https://github.com/koalaman/shellcheck">ShellCheck</a> - A shell script static analysis tool.</p>
|
||||
<div class="sphinx-tabs docutils container">
|
||||
@ -187,8 +187,8 @@ output.</p>
|
||||
</pre></div>
|
||||
</div>
|
||||
</div></div>
|
||||
</section>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="clearer"></div>
|
||||
|
@ -47,24 +47,24 @@
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="engines">
|
||||
<div class="section" id="engines">
|
||||
<h1>Engines<a class="headerlink" href="#engines" title="Permalink to this headline">¶</a></h1>
|
||||
<section id="special-engine-settings">
|
||||
<div class="section" id="special-engine-settings">
|
||||
<h2>Special Engine Settings<a class="headerlink" href="#special-engine-settings" title="Permalink to this headline">¶</a></h2>
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar">
|
||||
<p class="sidebar-title">Further reading ..</p>
|
||||
<ul class="simple">
|
||||
<li><p><a class="reference internal" href="settings.html#settings-engine"><span class="std std-ref">Engine settings</span></a></p></li>
|
||||
<li><p><a class="reference internal" href="../dev/engine_overview.html#engine-settings"><span class="std std-ref">settings.yml</span></a> & <a class="reference internal" href="../dev/engine_overview.html#engine-file"><span class="std std-ref">engine file</span></a></p></li>
|
||||
</ul>
|
||||
</aside>
|
||||
</div>
|
||||
<div class="toctree-wrapper compound">
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="engines/recoll.html">Recoll</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
<section id="general-engine-settings">
|
||||
</div>
|
||||
<div class="section" id="general-engine-settings">
|
||||
<span id="engines-generic"></span><h2>General Engine Settings<a class="headerlink" href="#general-engine-settings" title="Permalink to this headline">¶</a></h2>
|
||||
<p>Explanation of the <a class="reference internal" href="../dev/engine_overview.html#general-engine-configuration"><span class="std std-ref">general engine configuration</span></a> shown in the table
|
||||
<a class="reference internal" href="#configured-engines"><span class="std std-ref">Engines configured at built time (defaults)</span></a>.</p>
|
||||
@ -1732,8 +1732,8 @@
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="clearer"></div>
|
||||
|
@ -48,18 +48,18 @@
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="recoll">
|
||||
<div class="section" id="recoll">
|
||||
<span id="engine-recoll"></span><h1>Recoll<a class="headerlink" href="#recoll" title="Permalink to this headline">¶</a></h1>
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar">
|
||||
<p class="sidebar-title">info</p>
|
||||
<ul class="simple">
|
||||
<li><p><a class="reference external" href="https://www.lesbonscomptes.com/recoll/">Recoll</a></p></li>
|
||||
<li><p><a class="reference external" href="https://framagit.org/medoc92/recollwebui.git">recoll-webui</a></p></li>
|
||||
</ul>
|
||||
</aside>
|
||||
</div>
|
||||
<p><a class="reference external" href="https://www.lesbonscomptes.com/recoll/">Recoll</a> is a desktop full-text search tool based on Xapian. By itself <a class="reference external" href="https://www.lesbonscomptes.com/recoll/">Recoll</a>
|
||||
does not offer web or API access, this can be achieved using <a class="reference external" href="https://framagit.org/medoc92/recollwebui.git">recoll-webui</a></p>
|
||||
<section id="configuration">
|
||||
<div class="section" id="configuration">
|
||||
<h2>Configuration<a class="headerlink" href="#configuration" title="Permalink to this headline">¶</a></h2>
|
||||
<p>You must configure the following settings:</p>
|
||||
<dl class="simple">
|
||||
@ -73,8 +73,8 @@ does not offer web or API access, this can be achieved using <a class="reference
|
||||
searched.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
</section>
|
||||
<section id="example">
|
||||
</div>
|
||||
<div class="section" id="example">
|
||||
<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">¶</a></h2>
|
||||
<p>Scenario:</p>
|
||||
<ol class="arabic simple">
|
||||
@ -88,8 +88,8 @@ searched.</p>
|
||||
<span class="nt">search_dir</span><span class="p">:</span> <span class="s">''</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="clearer"></div>
|
||||
|
@ -47,15 +47,15 @@
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="how-to-protect-an-instance">
|
||||
<div class="section" id="how-to-protect-an-instance">
|
||||
<span id="searx-filtron"></span><h1>How to protect an instance<a class="headerlink" href="#how-to-protect-an-instance" title="Permalink to this headline">¶</a></h1>
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar">
|
||||
<p class="sidebar-title">further reading</p>
|
||||
<ul class="simple">
|
||||
<li><p><a class="reference internal" href="../utils/filtron.sh.html#filtron-sh"><span class="std std-ref">utils/filtron.sh</span></a></p></li>
|
||||
<li><p><a class="reference internal" href="installation-nginx.html#nginx-searx-site"><span class="std std-ref">A nginx searx site</span></a></p></li>
|
||||
</ul>
|
||||
</aside>
|
||||
</div>
|
||||
<div class="contents local topic" id="contents">
|
||||
<p class="topic-title">Contents</p>
|
||||
<ul class="simple">
|
||||
@ -69,21 +69,21 @@ it is advised to limit the number of requests processed by searx.</p>
|
||||
<p>An application firewall, <a class="reference external" href="https://github.com/asciimoo/filtron">filtron</a> solves exactly this problem. Filtron is just
|
||||
a middleware between your web server (nginx, apache, …) and searx, we describe
|
||||
such infratructures in chapter: <a class="reference internal" href="architecture.html#architecture"><span class="std std-ref">Architecture</span></a>.</p>
|
||||
<section id="filtron-go">
|
||||
<div class="section" id="filtron-go">
|
||||
<h2><a class="toc-backref" href="#id2">filtron & go</a><a class="headerlink" href="#filtron-go" title="Permalink to this headline">¶</a></h2>
|
||||
<p>Filtron needs <a class="reference external" href="https://golang.org/">Go</a> installed. If <a class="reference external" href="https://golang.org/">Go</a> is preinstalled, <a class="reference external" href="https://github.com/asciimoo/filtron">filtron</a> is simply
|
||||
installed by <code class="docutils literal notranslate"><span class="pre">go</span> <span class="pre">get</span></code> package management (see <a class="reference external" href="https://github.com/asciimoo/filtron/blob/master/README.md">filtron README</a>). If you use
|
||||
filtron as middleware, a more isolated setup is recommended. To simplify such
|
||||
an installation and the maintenance of, use our script <a class="reference internal" href="../utils/filtron.sh.html#filtron-sh"><span class="std std-ref">utils/filtron.sh</span></a>.</p>
|
||||
</section>
|
||||
<section id="sample-configuration-of-filtron">
|
||||
</div>
|
||||
<div class="section" id="sample-configuration-of-filtron">
|
||||
<span id="id1"></span><h2><a class="toc-backref" href="#id3">Sample configuration of filtron</a><a class="headerlink" href="#sample-configuration-of-filtron" title="Permalink to this headline">¶</a></h2>
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar">
|
||||
<p class="sidebar-title">Tooling box</p>
|
||||
<ul class="simple">
|
||||
<li><p><a class="reference external" href="https://github.com/searx/searx/blob/master/utils/templates/etc/filtron/rules.json">/etc/filtron/rules.json</a></p></li>
|
||||
</ul>
|
||||
</aside>
|
||||
</div>
|
||||
<p>An example configuration can be find below. This configuration limits the access
|
||||
of:</p>
|
||||
<ul class="simple">
|
||||
@ -180,17 +180,17 @@ of:</p>
|
||||
<span class="p">]</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="route-request-through-filtron">
|
||||
</div>
|
||||
<div class="section" id="route-request-through-filtron">
|
||||
<span id="filtron-route-request"></span><h2><a class="toc-backref" href="#id4">Route request through filtron</a><a class="headerlink" href="#route-request-through-filtron" title="Permalink to this headline">¶</a></h2>
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar">
|
||||
<p class="sidebar-title">further reading</p>
|
||||
<ul class="simple">
|
||||
<li><p><a class="reference internal" href="../utils/filtron.sh.html#filtron-sh-overview"><span class="std std-ref">Overview</span></a></p></li>
|
||||
<li><p><a class="reference internal" href="installation-nginx.html#installation-nginx"><span class="std std-ref">Install with nginx</span></a></p></li>
|
||||
<li><p><a class="reference internal" href="installation-apache.html#installation-apache"><span class="std std-ref">Install with apache</span></a></p></li>
|
||||
</ul>
|
||||
</aside>
|
||||
</div>
|
||||
<p>Filtron can be started using the following command:</p>
|
||||
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>$ filtron -rules rules.json
|
||||
</pre></div>
|
||||
@ -218,8 +218,8 @@ of:</p>
|
||||
</div>
|
||||
<p>Requests are coming from port 4004 going through filtron and then forwarded to
|
||||
port 8888 where a searx is being run. For a complete setup see: <a class="reference internal" href="installation-nginx.html#nginx-searx-site"><span class="std std-ref">A nginx searx site</span></a>.</p>
|
||||
</section>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="clearer"></div>
|
||||
|
@ -46,10 +46,10 @@
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="administrator-documentation">
|
||||
<div class="section" id="administrator-documentation">
|
||||
<h1>Administrator documentation<a class="headerlink" href="#administrator-documentation" title="Permalink to this headline">¶</a></h1>
|
||||
<div class="toctree-wrapper compound">
|
||||
<p><span class="caption-text">Contents</span></p>
|
||||
<p class="caption"><span class="caption-text">Contents</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="installation.html">Installation</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="installation.html#installation-scripts">Installation scripts</a></li>
|
||||
@ -123,7 +123,7 @@
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="clearer"></div>
|
||||
|
@ -48,9 +48,9 @@
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="install-with-apache">
|
||||
<div class="section" id="install-with-apache">
|
||||
<span id="installation-apache"></span><h1>Install with apache<a class="headerlink" href="#install-with-apache" title="Permalink to this headline">¶</a></h1>
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar">
|
||||
<p class="sidebar-title">further read</p>
|
||||
<ul class="simple">
|
||||
<li><p><a class="reference external" href="https://wiki.archlinux.org/index.php/Apache_HTTP_Server">Apache Arch Linux</a></p></li>
|
||||
@ -58,7 +58,7 @@
|
||||
<li><p><a class="reference external" href="https://docs.fedoraproject.org/en-US/quick-docs/getting-started-with-apache-http-server/index.html">Apache Fedora</a></p></li>
|
||||
<li><p><a class="reference external" href="https://httpd.apache.org/docs/trunk/mod/directives.html">Apache directives</a></p></li>
|
||||
</ul>
|
||||
</aside>
|
||||
</div>
|
||||
<div class="contents local topic" id="contents">
|
||||
<p class="topic-title">Contents</p>
|
||||
<ul class="simple">
|
||||
@ -80,7 +80,7 @@
|
||||
</pre></div>
|
||||
</div>
|
||||
<hr class="docutils" />
|
||||
<section id="the-apache-http-server">
|
||||
<div class="section" id="the-apache-http-server">
|
||||
<h2><a class="toc-backref" href="#id2">The apache HTTP server</a><a class="headerlink" href="#the-apache-http-server" title="Permalink to this headline">¶</a></h2>
|
||||
<p>If <a class="reference external" href="https://httpd.apache.org/">Apache</a> is not installed, install it now. If <a class="reference external" href="https://httpd.apache.org/">apache</a> is new to you, the
|
||||
<a class="reference external" href="https://httpd.apache.org/docs/current/en/getting-started.html">Getting Started</a>, <a class="reference external" href="https://httpd.apache.org/docs/current/en/configuring.html">Configuration Files</a> and <a class="reference external" href="https://httpd.apache.org/docs/current/en/mod/directive-dict.html">Terms Used to Describe
|
||||
@ -152,16 +152,16 @@ welcome page</em> is shown, the configuration is located at:</p>
|
||||
</pre></div>
|
||||
</div>
|
||||
</div></div>
|
||||
</section>
|
||||
<section id="apache-reverse-proxy">
|
||||
</div>
|
||||
<div class="section" id="apache-reverse-proxy">
|
||||
<span id="apache-searx-site"></span><h2><a class="toc-backref" href="#id3">Apache Reverse Proxy</a><a class="headerlink" href="#apache-reverse-proxy" title="Permalink to this headline">¶</a></h2>
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar">
|
||||
<p class="sidebar-title">public to the internet?</p>
|
||||
<p>If your searx instance is public, stop here and first install <a class="reference internal" href="../utils/filtron.sh.html#filtron-sh"><span class="std std-ref">filtron
|
||||
reverse proxy</span></a> and <a class="reference internal" href="../utils/morty.sh.html#morty-sh"><span class="std std-ref">result proxy morty</span></a>, see
|
||||
<a class="reference internal" href="installation.html#installation-scripts"><span class="std std-ref">Installation scripts</span></a>. If already done, follow setup: <em>searx via
|
||||
filtron plus morty</em>.</p>
|
||||
</aside>
|
||||
</div>
|
||||
<p>To setup a Apache revers proxy you have to enable the <em>headers</em> and <em>proxy</em>
|
||||
modules and create a <a class="reference external" href="https://httpd.apache.org/docs/trunk/mod/core.html#location">Location</a> configuration for the searx site. In most
|
||||
distributions you have to un-comment the lines in the main configuration file,
|
||||
@ -261,8 +261,8 @@ URL</strong> to your <a class="reference external" href="https://github.com/sear
|
||||
</pre></div>
|
||||
</div>
|
||||
</div></div>
|
||||
</section>
|
||||
<section id="uwsgi-support">
|
||||
</div>
|
||||
<div class="section" id="uwsgi-support">
|
||||
<h2><a class="toc-backref" href="#id4">uWSGI support</a><a class="headerlink" href="#uwsgi-support" title="Permalink to this headline">¶</a></h2>
|
||||
<p>Be warned, with this setup, your instance isn’t <a class="reference internal" href="filtron.html#searx-filtron"><span class="std std-ref">protected</span></a>, nevertheless it is good enough for intranet usage. In modern Linux
|
||||
distributions, the <a class="reference external" href="https://uwsgi-docs.readthedocs.io/en/latest/Apache.html#mod-proxy-uwsgi">mod_proxy_uwsgi</a> is compiled into the <em>normal</em> apache
|
||||
@ -389,8 +389,8 @@ ANYMORE!</p>
|
||||
</pre></div>
|
||||
</div>
|
||||
</div></div>
|
||||
</section>
|
||||
<section id="restart-service">
|
||||
</div>
|
||||
<div class="section" id="restart-service">
|
||||
<span id="restart-apache"></span><h2><a class="toc-backref" href="#id5">Restart service</a><a class="headerlink" href="#restart-service" title="Permalink to this headline">¶</a></h2>
|
||||
<div class="sphinx-tabs docutils container">
|
||||
<div aria-label="Tabbed content" class="closeable" role="tablist"><button aria-controls="panel-6-VWJ1bnR1IC8gZGViaWFu" aria-selected="true" class="sphinx-tabs-tab group-tab" id="tab-6-VWJ1bnR1IC8gZGViaWFu" name="VWJ1bnR1IC8gZGViaWFu" role="tab" tabindex="0">Ubuntu / debian</button><button aria-controls="panel-6-QXJjaCBMaW51eA==" aria-selected="false" class="sphinx-tabs-tab group-tab" id="tab-6-QXJjaCBMaW51eA==" name="QXJjaCBMaW51eA==" role="tab" tabindex="-1">Arch Linux</button><button aria-controls="panel-6-RmVkb3JhIC8gUkhFTA==" aria-selected="false" class="sphinx-tabs-tab group-tab" id="tab-6-RmVkb3JhIC8gUkhFTA==" name="RmVkb3JhIC8gUkhFTA==" role="tab" tabindex="-1">Fedora / RHEL</button></div><div aria-labelledby="tab-6-VWJ1bnR1IC8gZGViaWFu" class="sphinx-tabs-panel group-tab" id="panel-6-VWJ1bnR1IC8gZGViaWFu" name="VWJ1bnR1IC8gZGViaWFu" role="tabpanel" tabindex="0"><div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>sudo -H systemctl restart apache2
|
||||
@ -406,8 +406,8 @@ sudo -H touch /etc/uwsgi.d/searx.ini
|
||||
</pre></div>
|
||||
</div>
|
||||
</div></div>
|
||||
</section>
|
||||
<section id="disable-logs">
|
||||
</div>
|
||||
<div class="section" id="disable-logs">
|
||||
<h2><a class="toc-backref" href="#id6">disable logs</a><a class="headerlink" href="#disable-logs" title="Permalink to this headline">¶</a></h2>
|
||||
<p>For better privacy you can disable Apache logs. In the examples above activate
|
||||
one of the lines and <a class="reference internal" href="#restart-apache">restart apache</a>:</p>
|
||||
@ -418,8 +418,8 @@ one of the lines and <a class="reference internal" href="#restart-apache">restar
|
||||
<p>The <code class="docutils literal notranslate"><span class="pre">CustomLog</span></code> directive disable logs for the whole (virtual) server, use it
|
||||
when the URL of the service does not have a path component (<code class="docutils literal notranslate"><span class="pre">/searx</span></code>) / is
|
||||
located at root (<code class="docutils literal notranslate"><span class="pre">/</span></code>).</p>
|
||||
</section>
|
||||
<section id="the-debian-layout">
|
||||
</div>
|
||||
<div class="section" id="the-debian-layout">
|
||||
<span id="id1"></span><h2><a class="toc-backref" href="#id7">The Debian Layout</a><a class="headerlink" href="#the-debian-layout" title="Permalink to this headline">¶</a></h2>
|
||||
<p>Be aware that the Debian layout is quite different from the standard Apache
|
||||
configuration. For details look at the <a class="reference external" href="https://salsa.debian.org/apache-team/apache2/raw/master/debian/apache2.README.Debian">README.Debian</a>
|
||||
@ -431,8 +431,8 @@ Debian:</p>
|
||||
<li><p><a class="reference external" href="https://manpages.debian.org/jump?q=a2enconf">a2enconf</a>, <a class="reference external" href="https://manpages.debian.org/jump?q=a2disconf">a2disconf</a>: switch on/off configurations</p></li>
|
||||
<li><p><a class="reference external" href="https://manpages.debian.org/jump?q=a2ensite">a2ensite</a>, <a class="reference external" href="https://manpages.debian.org/jump?q=a2dissite">a2dissite</a>: switch on/off sites</p></li>
|
||||
</ul>
|
||||
</section>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="clearer"></div>
|
||||
|
@ -47,7 +47,7 @@
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="docker-installation">
|
||||
<div class="section" id="docker-installation">
|
||||
<span id="installation-docker"></span><h1>Docker installation<a class="headerlink" href="#docker-installation" title="Permalink to this headline">¶</a></h1>
|
||||
<div class="contents local topic" id="contents">
|
||||
<p class="topic-title">Contents</p>
|
||||
@ -62,7 +62,7 @@
|
||||
</ul>
|
||||
</div>
|
||||
<hr class="docutils" />
|
||||
<section id="docker-image-searx-searx">
|
||||
<div class="section" id="docker-image-searx-searx">
|
||||
<h2><a class="toc-backref" href="#id1">Docker image searx/searx</a><a class="headerlink" href="#docker-image-searx-searx" title="Permalink to this headline">¶</a></h2>
|
||||
<p>The docker image is <a class="reference external" href="https://hub.docker.com/r/searx/searx">searx/searx</a> (based on <a class="reference external" href="https://github.com/searx/searx">github.com/searx/searx</a>).</p>
|
||||
<p>Make sure you have <a class="reference external" href="https://docs.docker.com/get-docker/">installed Docker</a>. For instance, you can deploy a local instance:</p>
|
||||
@ -74,7 +74,7 @@ docker run --rm -d -v <span class="si">${</span><span class="nv">PWD</span><span
|
||||
<p>Go to <code class="docutils literal notranslate"><span class="pre">http://localhost:$PORT</span></code>.</p>
|
||||
<p>Inside <code class="docutils literal notranslate"><span class="pre">${PWD}/searx</span></code>, you will find <code class="docutils literal notranslate"><span class="pre">settings.yml</span></code> and <code class="docutils literal notranslate"><span class="pre">uwsgi.ini</span></code>.
|
||||
You can modify these files according to your needs and restart the Docker image.</p>
|
||||
<section id="command-line">
|
||||
<div class="section" id="command-line">
|
||||
<h3><a class="toc-backref" href="#id2">Command line</a><a class="headerlink" href="#command-line" title="Permalink to this headline">¶</a></h3>
|
||||
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>docker run --rm -it searx/searx -h
|
||||
</pre></div>
|
||||
@ -100,8 +100,8 @@ Volume:
|
||||
/etc/searx the docker entry point copies settings.yml and uwsgi.ini in this directory (see the -f command line option)
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="build-the-image">
|
||||
</div>
|
||||
<div class="section" id="build-the-image">
|
||||
<h3><a class="toc-backref" href="#id3">Build the image</a><a class="headerlink" href="#build-the-image" title="Permalink to this headline">¶</a></h3>
|
||||
<p>It’s also possible to build searx from the embedded Dockerfile.</p>
|
||||
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>git clone https://github.com/searx/searx.git
|
||||
@ -109,13 +109,13 @@ Volume:
|
||||
make docker
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
<section id="public-instance">
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="public-instance">
|
||||
<h2><a class="toc-backref" href="#id4">Public instance</a><a class="headerlink" href="#public-instance" title="Permalink to this headline">¶</a></h2>
|
||||
<p>If you intend to create a public instance using Docker, see <a class="reference external" href="https://github.com/searx/searx-docker">https://github.com/searx/searx-docker</a></p>
|
||||
</section>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="clearer"></div>
|
||||
|
@ -48,9 +48,9 @@
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="install-with-nginx">
|
||||
<div class="section" id="install-with-nginx">
|
||||
<span id="installation-nginx"></span><h1>Install with nginx<a class="headerlink" href="#install-with-nginx" title="Permalink to this headline">¶</a></h1>
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar">
|
||||
<p class="sidebar-title">further reading</p>
|
||||
<ul class="simple">
|
||||
<li><p><a class="reference external" href="https://docs.nginx.com/nginx/admin-guide/">nginx</a></p></li>
|
||||
@ -59,7 +59,7 @@
|
||||
<li><p><a class="reference external" href="https://www.nginx.com/resources/wiki/start/">Getting Started wiki</a></p></li>
|
||||
<li><p><a class="reference external" href="https://uwsgi-docs.readthedocs.io/en/latest/Nginx.html">uWSGI support from nginx</a></p></li>
|
||||
</ul>
|
||||
</aside>
|
||||
</div>
|
||||
<div class="contents local topic" id="contents">
|
||||
<p class="topic-title">Contents</p>
|
||||
<ul class="simple">
|
||||
@ -78,7 +78,7 @@
|
||||
</pre></div>
|
||||
</div>
|
||||
<hr class="docutils" />
|
||||
<section id="the-nginx-http-server">
|
||||
<div class="section" id="the-nginx-http-server">
|
||||
<h2><a class="toc-backref" href="#id1">The nginx HTTP server</a><a class="headerlink" href="#the-nginx-http-server" title="Permalink to this headline">¶</a></h2>
|
||||
<p>If <a class="reference external" href="https://docs.nginx.com/nginx/admin-guide/">nginx</a> is not installed (uwsgi will not work with the package nginx-light),
|
||||
install it now.</p>
|
||||
@ -128,16 +128,16 @@ depends on the linux distribution:</p>
|
||||
</pre></div>
|
||||
</div>
|
||||
</div></div>
|
||||
</section>
|
||||
<section id="a-nginx-searx-site">
|
||||
</div>
|
||||
<div class="section" id="a-nginx-searx-site">
|
||||
<span id="nginx-searx-site"></span><h2><a class="toc-backref" href="#id2">A nginx searx site</a><a class="headerlink" href="#a-nginx-searx-site" title="Permalink to this headline">¶</a></h2>
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar">
|
||||
<p class="sidebar-title">public to the internet?</p>
|
||||
<p>If your searx instance is public, stop here and first install <a class="reference internal" href="../utils/filtron.sh.html#filtron-sh"><span class="std std-ref">filtron
|
||||
reverse proxy</span></a> and <a class="reference internal" href="../utils/morty.sh.html#morty-sh"><span class="std std-ref">result proxy morty</span></a>, see
|
||||
<a class="reference internal" href="installation.html#installation-scripts"><span class="std std-ref">Installation scripts</span></a>. If already done, follow setup: <em>searx via
|
||||
filtron plus morty</em>.</p>
|
||||
</aside>
|
||||
</div>
|
||||
<p>Now you have to create a configuration for the searx site. If <a class="reference external" href="https://docs.nginx.com/nginx/admin-guide/">nginx</a> is new to
|
||||
you, the <a class="reference external" href="https://nginx.org/en/docs/beginners_guide.html">nginx beginners guide</a> is a good starting point and the <a class="reference external" href="https://www.nginx.com/resources/wiki/start/">Getting
|
||||
Started wiki</a> is always a good resource <em>to keep in the pocket</em>.</p>
|
||||
@ -316,8 +316,8 @@ sudo -H touch /etc/uwsgi.d/searx.ini
|
||||
</pre></div>
|
||||
</div>
|
||||
</div></div>
|
||||
</section>
|
||||
<section id="disable-logs">
|
||||
</div>
|
||||
<div class="section" id="disable-logs">
|
||||
<h2><a class="toc-backref" href="#id3">Disable logs</a><a class="headerlink" href="#disable-logs" title="Permalink to this headline">¶</a></h2>
|
||||
<p>For better privacy you can disable nginx logs in <code class="docutils literal notranslate"><span class="pre">/etc/nginx/nginx.conf</span></code>.</p>
|
||||
<div class="highlight-nginx notranslate"><div class="highlight"><pre><span></span><span class="k">http</span> <span class="p">{</span>
|
||||
@ -328,8 +328,8 @@ sudo -H touch /etc/uwsgi.d/searx.ini
|
||||
<span class="p">}</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="clearer"></div>
|
||||
|
@ -48,7 +48,7 @@
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="step-by-step-installation">
|
||||
<div class="section" id="step-by-step-installation">
|
||||
<span id="installation-basic"></span><h1>Step by step installation<a class="headerlink" href="#step-by-step-installation" title="Permalink to this headline">¶</a></h1>
|
||||
<div class="contents local topic" id="contents">
|
||||
<p class="topic-title">Contents</p>
|
||||
@ -62,7 +62,7 @@
|
||||
</div>
|
||||
<p>Step by step installation with virtualenv. For Ubuntu, be sure to have enable
|
||||
universe repository.</p>
|
||||
<section id="install-packages">
|
||||
<div class="section" id="install-packages">
|
||||
<span id="id1"></span><h2><a class="toc-backref" href="#id2">Install packages</a><a class="headerlink" href="#install-packages" title="Permalink to this headline">¶</a></h2>
|
||||
<div class="sphinx-tabs docutils container">
|
||||
<div aria-label="Tabbed content" class="closeable" role="tablist"><button aria-controls="panel-0-VWJ1bnR1IC8gZGViaWFu" aria-selected="true" class="sphinx-tabs-tab group-tab" id="tab-0-VWJ1bnR1IC8gZGViaWFu" name="VWJ1bnR1IC8gZGViaWFu" role="tab" tabindex="0">Ubuntu / debian</button><button aria-controls="panel-0-QXJjaCBMaW51eA==" aria-selected="false" class="sphinx-tabs-tab group-tab" id="tab-0-QXJjaCBMaW51eA==" name="QXJjaCBMaW51eA==" role="tab" tabindex="-1">Arch Linux</button><button aria-controls="panel-0-RmVkb3JhIC8gUkhFTA==" aria-selected="false" class="sphinx-tabs-tab group-tab" id="tab-0-RmVkb3JhIC8gUkhFTA==" name="RmVkb3JhIC8gUkhFTA==" role="tab" tabindex="-1">Fedora / RHEL</button></div><div aria-labelledby="tab-0-VWJ1bnR1IC8gZGViaWFu" class="sphinx-tabs-panel group-tab" id="panel-0-VWJ1bnR1IC8gZGViaWFu" name="VWJ1bnR1IC8gZGViaWFu" role="tabpanel" tabindex="0"><div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>$ sudo -H apt-get install -y <span class="se">\</span>
|
||||
@ -91,8 +91,8 @@ universe repository.</p>
|
||||
<p class="admonition-title">Hint</p>
|
||||
<p>This installs also the packages needed by <a class="reference internal" href="installation-uwsgi.html#searx-uwsgi"><span class="std std-ref">uwsgi</span></a></p>
|
||||
</div>
|
||||
</section>
|
||||
<section id="create-user">
|
||||
</div>
|
||||
<div class="section" id="create-user">
|
||||
<span id="create-searx-user"></span><h2><a class="toc-backref" href="#id3">Create user</a><a class="headerlink" href="#create-user" title="Permalink to this headline">¶</a></h2>
|
||||
<div class="sphinx-tabs docutils container">
|
||||
<div aria-label="Tabbed content" class="closeable" role="tablist"><button aria-controls="panel-1-YmFzaA==" aria-selected="true" class="sphinx-tabs-tab group-tab" id="tab-1-YmFzaA==" name="YmFzaA==" role="tab" tabindex="0">bash</button></div><div aria-labelledby="tab-1-YmFzaA==" class="sphinx-tabs-panel group-tab" id="panel-1-YmFzaA==" name="YmFzaA==" role="tabpanel" tabindex="0"><div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>$ sudo -H useradd --shell /bin/bash --system <span class="se">\</span>
|
||||
@ -104,8 +104,8 @@ $ sudo -H chown -R <span class="s2">"searx:searx"</span> <span class="
|
||||
</pre></div>
|
||||
</div>
|
||||
</div></div>
|
||||
</section>
|
||||
<section id="install-searx-dependencies">
|
||||
</div>
|
||||
<div class="section" id="install-searx-dependencies">
|
||||
<span id="searx-src"></span><h2><a class="toc-backref" href="#id4">install searx & dependencies</a><a class="headerlink" href="#install-searx-dependencies" title="Permalink to this headline">¶</a></h2>
|
||||
<p>Start a interactive shell from new created user and clone searx:</p>
|
||||
<div class="sphinx-tabs docutils container">
|
||||
@ -148,10 +148,10 @@ pip install -U pyyaml
|
||||
<p>Open a second terminal for the configuration tasks and left the <code class="docutils literal notranslate"><span class="pre">(searx)$</span></code>
|
||||
terminal open for the tasks below.</p>
|
||||
</div>
|
||||
</section>
|
||||
<section id="configuration">
|
||||
</div>
|
||||
<div class="section" id="configuration">
|
||||
<span id="use-default-settings-yml"></span><h2><a class="toc-backref" href="#id5">Configuration</a><a class="headerlink" href="#configuration" title="Permalink to this headline">¶</a></h2>
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar">
|
||||
<p class="sidebar-title"><code class="docutils literal notranslate"><span class="pre">use_default_settings:</span> <span class="pre">True</span></code></p>
|
||||
<ul class="simple">
|
||||
<li><p><a class="reference internal" href="settings.html#settings-global"><span class="std std-ref">Global Settings</span></a></p></li>
|
||||
@ -159,7 +159,7 @@ terminal open for the tasks below.</p>
|
||||
<li><p><a class="reference internal" href="settings.html#settings-use-default-settings"><span class="std std-ref">use_default_settings</span></a></p></li>
|
||||
<li><p><a class="reference external" href="https://github.com/searx/searx/blob/master/utils/templates/etc/searx/use_default_settings.yml">/etc/searx/settings.yml</a></p></li>
|
||||
</ul>
|
||||
</aside>
|
||||
</div>
|
||||
<p>To create a initial <code class="docutils literal notranslate"><span class="pre">/etc/searx/settings.yml</span></code> you can start with a copy of the
|
||||
file <a class="reference external" href="https://github.com/searx/searx/blob/master/utils/templates/etc/searx/use_default_settings.yml">git://utils/templates/etc/searx/use_default_settings.yml</a>. This setup
|
||||
<a class="reference internal" href="settings.html#settings-use-default-settings"><span class="std std-ref">use default settings</span></a> from
|
||||
@ -1618,8 +1618,8 @@ $ sudo -H sed -i -e <span class="s2">"s/{instance_name}/searx@</span><span
|
||||
</pre></div>
|
||||
</div>
|
||||
</div></div>
|
||||
</section>
|
||||
<section id="check">
|
||||
</div>
|
||||
<div class="section" id="check">
|
||||
<h2><a class="toc-backref" href="#id6">Check</a><a class="headerlink" href="#check" title="Permalink to this headline">¶</a></h2>
|
||||
<p>To check your searx setup, optional enable debugging and start the <em>webapp</em>.
|
||||
Searx looks at the exported environment <code class="docutils literal notranslate"><span class="pre">$SEARX_SETTINGS_PATH</span></code> for a
|
||||
@ -1666,8 +1666,8 @@ HTTP/1.0 200 OK
|
||||
<p>If everything works fine, hit <code class="docutils literal notranslate"><span class="pre">[CTRL-C]</span></code> to stop the <em>webapp</em> and disable the
|
||||
debug option in <code class="docutils literal notranslate"><span class="pre">settings.yml</span></code>. You can now exit searx user bash (enter exit
|
||||
command twice). At this point searx is not demonized; uwsgi allows this.</p>
|
||||
</section>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="clearer"></div>
|
||||
|
@ -48,15 +48,15 @@
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="uwsgi">
|
||||
<div class="section" id="uwsgi">
|
||||
<span id="searx-uwsgi"></span><h1>uwsgi<a class="headerlink" href="#uwsgi" title="Permalink to this headline">¶</a></h1>
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar">
|
||||
<p class="sidebar-title">further reading</p>
|
||||
<ul class="simple">
|
||||
<li><p><a class="reference external" href="https://www.freedesktop.org/software/systemd/man/systemd.unit.html">systemd.unit</a></p></li>
|
||||
<li><p><a class="reference external" href="https://uwsgi-docs.readthedocs.io/en/latest/Emperor.html">uWSGI Emperor</a></p></li>
|
||||
</ul>
|
||||
</aside>
|
||||
</div>
|
||||
<div class="contents local topic" id="contents">
|
||||
<p class="topic-title">Contents</p>
|
||||
<ul class="simple">
|
||||
@ -65,7 +65,7 @@
|
||||
<li><p><a class="reference internal" href="#alltogether" id="id3">Alltogether</a></p></li>
|
||||
</ul>
|
||||
</div>
|
||||
<section id="origin-uwsgi">
|
||||
<div class="section" id="origin-uwsgi">
|
||||
<h2><a class="toc-backref" href="#id1">Origin uWSGI</a><a class="headerlink" href="#origin-uwsgi" title="Permalink to this headline">¶</a></h2>
|
||||
<p>How uWSGI is implemented by distributors is different. uWSGI itself
|
||||
recommend two methods</p>
|
||||
@ -100,8 +100,8 @@ to stop instance remove ini --> rm /etc/uwsgi.d/searx.ini
|
||||
</pre></div>
|
||||
</div>
|
||||
</div></blockquote>
|
||||
</section>
|
||||
<section id="distributors">
|
||||
</div>
|
||||
<div class="section" id="distributors">
|
||||
<h2><a class="toc-backref" href="#id2">Distributors</a><a class="headerlink" href="#distributors" title="Permalink to this headline">¶</a></h2>
|
||||
<p>The <a class="reference external" href="https://uwsgi-docs.readthedocs.io/en/latest/Emperor.html">uWSGI Emperor</a> mode and <a class="reference external" href="http://0pointer.de/blog/projects/instances.html">systemd unit template</a> is what the distributors
|
||||
mostly offer their users, even if they differ in the way they implement both
|
||||
@ -129,8 +129,8 @@ sudo -H service uwsgi stop searx
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>My experience is, that this command is a bit buggy.</p>
|
||||
</section>
|
||||
<section id="alltogether">
|
||||
</div>
|
||||
<div class="section" id="alltogether">
|
||||
<span id="uwsgi-configuration"></span><h2><a class="toc-backref" href="#id3">Alltogether</a><a class="headerlink" href="#alltogether" title="Permalink to this headline">¶</a></h2>
|
||||
<p>Create the configuration ini-file according to your distribution (see below) and
|
||||
restart the uwsgi application.</p>
|
||||
@ -440,8 +440,8 @@ enable-threads <span class="o">=</span> <span class="nb">true</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</div></div>
|
||||
</section>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="clearer"></div>
|
||||
|
@ -47,7 +47,7 @@
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="installation">
|
||||
<div class="section" id="installation">
|
||||
<span id="id1"></span><h1>Installation<a class="headerlink" href="#installation" title="Permalink to this headline">¶</a></h1>
|
||||
<p><em>You’re spoilt for choice</em>, choose your preferred method of installation.</p>
|
||||
<ul class="simple">
|
||||
@ -62,12 +62,12 @@ instance public to the internet you should really consider to install a
|
||||
<p>Therefore, if you do not have any special preferences, its recommend to use the
|
||||
<a class="reference internal" href="installation-docker.html#installation-docker"><span class="std std-ref">Docker installation</span></a> or the <a class="reference internal" href="#installation-scripts">Installation scripts</a> from our <a class="reference internal" href="../utils/index.html#toolboxing"><span class="std std-ref">tooling
|
||||
box</span></a> as described below.</p>
|
||||
<section id="installation-scripts">
|
||||
<div class="section" id="installation-scripts">
|
||||
<span id="id2"></span><h2>Installation scripts<a class="headerlink" href="#installation-scripts" title="Permalink to this headline">¶</a></h2>
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar">
|
||||
<p class="sidebar-title">Update OS first!</p>
|
||||
<p>To avoid unwanted side effects, update your OS before installing searx.</p>
|
||||
</aside>
|
||||
</div>
|
||||
<p>The following will install a setup as shown in <a class="reference internal" href="architecture.html#architecture"><span class="std std-ref">Architecture</span></a>. First you
|
||||
need to get a clone. The clone is only needed for the installation procedure
|
||||
and some maintenance tasks (alternatively you can create your own fork).</p>
|
||||
@ -105,8 +105,8 @@ $ <span class="nb">cd</span> searx
|
||||
<em>stash</em> your instance’s setup, <a class="reference external" href="https://git-scm.com/docs/git-stash">git stash</a> your clone’s <a class="reference external" href="https://github.com/searx/searx/blob/master/Makefile">git://Makefile</a>
|
||||
and <a class="reference external" href="https://github.com/searx/searx/blob/master/.config.sh">git://.config.sh</a> file .</p>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="clearer"></div>
|
||||
|
@ -47,14 +47,14 @@
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="how-to-setup-result-proxy">
|
||||
<div class="section" id="how-to-setup-result-proxy">
|
||||
<span id="searx-morty"></span><h1>How to setup result proxy<a class="headerlink" href="#how-to-setup-result-proxy" title="Permalink to this headline">¶</a></h1>
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar">
|
||||
<p class="sidebar-title">further reading</p>
|
||||
<ul class="simple">
|
||||
<li><p><a class="reference internal" href="../utils/morty.sh.html#morty-sh"><span class="std std-ref">utils/morty.sh</span></a></p></li>
|
||||
</ul>
|
||||
</aside>
|
||||
</div>
|
||||
<p>By default searx can only act as an image proxy for result images, but it is
|
||||
possible to proxify all the result URLs with an external service, <a class="reference external" href="https://github.com/asciimoo/morty">morty</a>.</p>
|
||||
<p>To use this feature, morty has to be installed and activated in searx’s
|
||||
@ -77,7 +77,7 @@ plus morty”</em> in the <a class="reference internal" href="installation-nginx
|
||||
<dt><code class="docutils literal notranslate"><span class="pre">key</span></code></dt><dd><p>Is an optional argument, see <a class="reference external" href="https://github.com/asciimoo/morty">morty’s README</a> for more information.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="clearer"></div>
|
||||
|
@ -47,14 +47,14 @@
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="plugins-builtin">
|
||||
<div class="section" id="plugins-builtin">
|
||||
<span id="plugins-generic"></span><h1>Plugins builtin<a class="headerlink" href="#plugins-builtin" title="Permalink to this headline">¶</a></h1>
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar">
|
||||
<p class="sidebar-title">Further reading ..</p>
|
||||
<ul class="simple">
|
||||
<li><p><a class="reference internal" href="../dev/plugins.html#dev-plugin"><span class="std std-ref">Plugins</span></a></p></li>
|
||||
</ul>
|
||||
</aside>
|
||||
</div>
|
||||
<p>Configuration defaults (at built time):</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">DO</dt>
|
||||
@ -125,7 +125,7 @@
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="clearer"></div>
|
||||
|
@ -47,17 +47,17 @@
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="settings-yml">
|
||||
<div class="section" id="settings-yml">
|
||||
<span id="id1"></span><h1><code class="docutils literal notranslate"><span class="pre">settings.yml</span></code><a class="headerlink" href="#settings-yml" title="Permalink to this headline">¶</a></h1>
|
||||
<p>This page describe the options possibilities of the <a class="reference external" href="https://github.com/searx/searx/blob/master/searx/settings.yml">git://searx/settings.yml</a>
|
||||
file.</p>
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar">
|
||||
<p class="sidebar-title">Further reading ..</p>
|
||||
<ul class="simple">
|
||||
<li><p><a class="reference internal" href="installation-searx.html#use-default-settings-yml"><span class="std std-ref">Configuration</span></a></p></li>
|
||||
<li><p><a class="reference internal" href="../dev/search_api.html#search-api"><span class="std std-ref">Search API</span></a></p></li>
|
||||
</ul>
|
||||
</aside>
|
||||
</div>
|
||||
<div class="contents local topic" id="contents">
|
||||
<p class="topic-title">Contents</p>
|
||||
<ul class="simple">
|
||||
@ -74,7 +74,7 @@ file.</p>
|
||||
<li><p><a class="reference internal" href="#use-default-settings" id="id9">use_default_settings</a></p></li>
|
||||
</ul>
|
||||
</div>
|
||||
<section id="settings-yml-location">
|
||||
<div class="section" id="settings-yml-location">
|
||||
<span id="settings-location"></span><h2><a class="toc-backref" href="#id2">settings.yml location</a><a class="headerlink" href="#settings-yml-location" title="Permalink to this headline">¶</a></h2>
|
||||
<p>First, searx will try to load settings.yml from these locations:</p>
|
||||
<ol class="arabic simple">
|
||||
@ -83,10 +83,10 @@ file.</p>
|
||||
</ol>
|
||||
<p>If these files don’t exist (or are empty or can’t be read), searx uses the
|
||||
<a class="reference external" href="https://github.com/searx/searx/blob/master/searx/settings.yml">git://searx/settings.yml</a> file.</p>
|
||||
</section>
|
||||
<section id="global-settings">
|
||||
</div>
|
||||
<div class="section" id="global-settings">
|
||||
<span id="settings-global"></span><h2><a class="toc-backref" href="#id3">Global Settings</a><a class="headerlink" href="#global-settings" title="Permalink to this headline">¶</a></h2>
|
||||
<section id="general">
|
||||
<div class="section" id="general">
|
||||
<h3><a class="toc-backref" href="#id4"><code class="docutils literal notranslate"><span class="pre">general:</span></code></a><a class="headerlink" href="#general" title="Permalink to this headline">¶</a></h3>
|
||||
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="nt">general</span><span class="p">:</span>
|
||||
<span class="nt">debug </span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">False</span> <span class="c1"># Debug mode, only for development</span>
|
||||
@ -116,8 +116,8 @@ messages in the browser too, so this must be deactivated in production.</p>
|
||||
<dt><code class="docutils literal notranslate"><span class="pre">twitter_url</span></code>:</dt><dd><p>Link to your tweets (or <code class="docutils literal notranslate"><span class="pre">False</span></code>)</p>
|
||||
</dd>
|
||||
</dl>
|
||||
</section>
|
||||
<section id="server">
|
||||
</div>
|
||||
<div class="section" id="server">
|
||||
<h3><a class="toc-backref" href="#id5"><code class="docutils literal notranslate"><span class="pre">server:</span></code></a><a class="headerlink" href="#server" title="Permalink to this headline">¶</a></h3>
|
||||
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="nt">server</span><span class="p">:</span>
|
||||
<span class="nt">port </span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">8888</span>
|
||||
@ -158,8 +158,8 @@ code, like <code class="docutils literal notranslate"><span class="pre">fr</span
|
||||
<dt><code class="docutils literal notranslate"><span class="pre">default_http_headers</span></code>:</dt><dd><p>Set additional HTTP headers, see <a class="reference external" href="https://github.com/searx/searx/issues/715">#755</a></p>
|
||||
</dd>
|
||||
</dl>
|
||||
</section>
|
||||
<section id="outgoing">
|
||||
</div>
|
||||
<div class="section" id="outgoing">
|
||||
<h3><a class="toc-backref" href="#id6"><code class="docutils literal notranslate"><span class="pre">outgoing:</span></code></a><a class="headerlink" href="#outgoing" title="Permalink to this headline">¶</a></h3>
|
||||
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="nt">outgoing</span><span class="p">:</span> <span class="c1"># communication with search engines</span>
|
||||
<span class="nt">request_timeout </span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">2.0</span> <span class="c1"># default timeout in seconds, can be override by engine</span>
|
||||
@ -205,8 +205,8 @@ requests to the engines are distributed in a round-robin fashion.</p>
|
||||
be made. This parameter is ignored when <code class="docutils literal notranslate"><span class="pre">proxies</span></code> is set.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
</section>
|
||||
<section id="locales">
|
||||
</div>
|
||||
<div class="section" id="locales">
|
||||
<h3><a class="toc-backref" href="#id7"><code class="docutils literal notranslate"><span class="pre">locales:</span></code></a><a class="headerlink" href="#locales" title="Permalink to this headline">¶</a></h3>
|
||||
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="nt">locales</span><span class="p">:</span>
|
||||
<span class="nt">en </span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">English</span>
|
||||
@ -227,16 +227,16 @@ be made. This parameter is ignored when <code class="docutils literal notranslat
|
||||
<dt><code class="docutils literal notranslate"><span class="pre">locales</span></code> :</dt><dd><p>Locales codes and their names. Available translations of searx interface.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
</section>
|
||||
</section>
|
||||
<section id="engine-settings">
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="engine-settings">
|
||||
<span id="settings-engine"></span><h2><a class="toc-backref" href="#id8">Engine settings</a><a class="headerlink" href="#engine-settings" title="Permalink to this headline">¶</a></h2>
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar">
|
||||
<p class="sidebar-title">Further reading ..</p>
|
||||
<ul class="simple">
|
||||
<li><p><a class="reference internal" href="../dev/engine_overview.html#engines-dev"><span class="std std-ref">Engine overview</span></a></p></li>
|
||||
</ul>
|
||||
</aside>
|
||||
</div>
|
||||
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="p p-Indicator">-</span> <span class="nt">name </span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">bing</span>
|
||||
<span class="nt">engine </span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">bing</span>
|
||||
<span class="nt">shortcut </span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">bi</span>
|
||||
@ -297,17 +297,17 @@ by using the full ISO code of language and country, like <code class="docutils l
|
||||
<p>A few more options are possible, but they are pretty specific to some
|
||||
engines, and so won’t be described here.</p>
|
||||
</div>
|
||||
</section>
|
||||
<section id="use-default-settings">
|
||||
</div>
|
||||
<div class="section" id="use-default-settings">
|
||||
<span id="settings-use-default-settings"></span><h2><a class="toc-backref" href="#id9">use_default_settings</a><a class="headerlink" href="#use-default-settings" title="Permalink to this headline">¶</a></h2>
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar">
|
||||
<p class="sidebar-title"><code class="docutils literal notranslate"><span class="pre">use_default_settings:</span> <span class="pre">True</span></code></p>
|
||||
<ul class="simple">
|
||||
<li><p><a class="reference internal" href="#settings-location"><span class="std std-ref">settings.yml location</span></a></p></li>
|
||||
<li><p><a class="reference internal" href="installation-searx.html#use-default-settings-yml"><span class="std std-ref">Configuration</span></a></p></li>
|
||||
<li><p><a class="reference external" href="https://github.com/searx/searx/blob/master/utils/templates/etc/searx/use_default_settings.yml">/etc/searx/settings.yml</a></p></li>
|
||||
</ul>
|
||||
</aside>
|
||||
</div>
|
||||
<p>The user defined <code class="docutils literal notranslate"><span class="pre">settings.yml</span></code> is loaded from the <a class="reference internal" href="#settings-location"><span class="std std-ref">settings.yml location</span></a>
|
||||
and can relied on the default configuration <a class="reference external" href="https://github.com/searx/searx/blob/master/searx/settings.yml">git://searx/settings.yml</a> using:</p>
|
||||
<blockquote>
|
||||
@ -370,8 +370,8 @@ following example, searx has only two engines:</p>
|
||||
</div>
|
||||
</dd>
|
||||
</dl>
|
||||
</section>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="clearer"></div>
|
||||
|
@ -48,7 +48,7 @@
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="how-to-update">
|
||||
<div class="section" id="how-to-update">
|
||||
<span id="update-searx"></span><h1>How to update<a class="headerlink" href="#how-to-update" title="Permalink to this headline">¶</a></h1>
|
||||
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>sudo -H -u searx -i
|
||||
<span class="o">(</span>searx<span class="o">)</span>$ git stash
|
||||
@ -63,7 +63,7 @@
|
||||
</pre></div>
|
||||
</div>
|
||||
</div></div>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="clearer"></div>
|
||||
|
@ -47,15 +47,15 @@
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="searx-admin-interface">
|
||||
<div class="section" id="searx-admin-interface">
|
||||
<h1>Searx admin interface<a class="headerlink" href="#searx-admin-interface" title="Permalink to this headline">¶</a></h1>
|
||||
<blockquote>
|
||||
<div><p>manage your instance from your browser</p>
|
||||
</div></blockquote>
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar">
|
||||
<p class="sidebar-title">Installation</p>
|
||||
<p>Installation guide can be found in the repository of <a class="reference external" href="https://github.com/kvch/searx-admin#searx-admin">searx-admin</a>.</p>
|
||||
</aside>
|
||||
</div>
|
||||
<p>One of the biggest advantages of searx is being extremely customizable. But at
|
||||
first it can be daunting to newcomers. A barrier of taking advantage of this
|
||||
feature is our ugly settings file which is sometimes hard to understand and
|
||||
@ -65,26 +65,24 @@ edit.</p>
|
||||
instance and manipulating its settings via a web UI. It aims to replace editing
|
||||
of <code class="docutils literal notranslate"><span class="pre">settings.yml</span></code> for less experienced administrators or people who prefer
|
||||
graphical admin interfaces.</p>
|
||||
<figure class="align-default" id="id1">
|
||||
<div class="figure align-default" id="id1">
|
||||
<img alt="Screenshot of engine list" src="../_images/searx-admin-engines.png" />
|
||||
<figcaption>
|
||||
<p><span class="caption-number">Fig. 6 </span><span class="caption-text">Configuration page of engines</span><a class="headerlink" href="#id1" title="Permalink to this image">¶</a></p>
|
||||
</figcaption>
|
||||
</figure>
|
||||
<p class="caption"><span class="caption-number">Fig. 6 </span><span class="caption-text">Configuration page of engines</span><a class="headerlink" href="#id1" title="Permalink to this image">¶</a></p>
|
||||
</div>
|
||||
<p>Since <code class="docutils literal notranslate"><span class="pre">searx-admin</span></code> acts as a supervisor for searx, we have decided to
|
||||
implement it as a standalone tool instead of part of searx. Another reason for
|
||||
making it a standalone tool is that the codebase and dependencies of searx
|
||||
should not grow because of a fully optional feature, which does not affect
|
||||
existing instances.</p>
|
||||
<section id="acknowledgements">
|
||||
<div class="section" id="acknowledgements">
|
||||
<h2>Acknowledgements<a class="headerlink" href="#acknowledgements" title="Permalink to this headline">¶</a></h2>
|
||||
<p>This development was sponsored by <a class="reference external" href="https://nlnet.nl/">NLnet Foundation</a>.</p>
|
||||
<div class="line-block">
|
||||
<div class="line">Happy hacking.</div>
|
||||
<div class="line">kvch // 2017.08.22 21:25</div>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="clearer"></div>
|
||||
|
@ -47,12 +47,12 @@
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="running-shell-commands-to-fetch-results">
|
||||
<div class="section" id="running-shell-commands-to-fetch-results">
|
||||
<h1>Running shell commands to fetch results<a class="headerlink" href="#running-shell-commands-to-fetch-results" title="Permalink to this headline">¶</a></h1>
|
||||
<p>Previously, with searx you could search over the Internet on other people’s
|
||||
computers. Now it is possible to fetch results from your local machine without
|
||||
connecting to any networks from the same graphical user interface.</p>
|
||||
<section id="command-line-engines">
|
||||
<div class="section" id="command-line-engines">
|
||||
<h2>Command line engines<a class="headerlink" href="#command-line-engines" title="Permalink to this headline">¶</a></h2>
|
||||
<p>In <a class="reference external" href="https://github.com/searx/searx/pull/2128">PR 2128</a> a new type of engine has been introduced called <code class="docutils literal notranslate"><span class="pre">command</span></code>.
|
||||
This engine lets administrators add engines which run arbitrary shell commands
|
||||
@ -84,21 +84,21 @@ working directory.</p>
|
||||
<span class="nt">keys</span><span class="p">:</span> <span class="p p-Indicator">[</span><span class="s">'line'</span><span class="p p-Indicator">]</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="next-steps">
|
||||
</div>
|
||||
<div class="section" id="next-steps">
|
||||
<h2>Next steps<a class="headerlink" href="#next-steps" title="Permalink to this headline">¶</a></h2>
|
||||
<p>In the next milestone, support for local search engines and indexers (e.g. Elasticsearch)
|
||||
are going to be added. This way, you will be able to query your own databases/indexers.</p>
|
||||
</section>
|
||||
<section id="acknowledgement">
|
||||
</div>
|
||||
<div class="section" id="acknowledgement">
|
||||
<h2>Acknowledgement<a class="headerlink" href="#acknowledgement" title="Permalink to this headline">¶</a></h2>
|
||||
<p>This development was sponsored by <a class="reference external" href="https://nlnet.nl/discovery">Search and Discovery Fund</a> of <a class="reference external" href="https://nlnet.nl/">NLnet Foundation</a> .</p>
|
||||
<div class="line-block">
|
||||
<div class="line">Happy hacking.</div>
|
||||
<div class="line">kvch // 2020.09.28 21:26</div>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="clearer"></div>
|
||||
|
@ -46,10 +46,10 @@
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="blog">
|
||||
<div class="section" id="blog">
|
||||
<h1>Blog<a class="headerlink" href="#blog" title="Permalink to this headline">¶</a></h1>
|
||||
<div class="toctree-wrapper compound">
|
||||
<p><span class="caption-text">Contents</span></p>
|
||||
<p class="caption"><span class="caption-text">Contents</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="lxcdev-202006.html">Developing in Linux containers [202006]</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="lxcdev-202006.html#motivation">Motivation</a></li>
|
||||
@ -97,7 +97,7 @@
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="clearer"></div>
|
||||
|
@ -47,9 +47,9 @@
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="preparation-for-offline-engines">
|
||||
<div class="section" id="preparation-for-offline-engines">
|
||||
<h1>Preparation for offline engines<a class="headerlink" href="#preparation-for-offline-engines" title="Permalink to this headline">¶</a></h1>
|
||||
<section id="offline-engines">
|
||||
<div class="section" id="offline-engines">
|
||||
<h2>Offline engines<a class="headerlink" href="#offline-engines" title="Permalink to this headline">¶</a></h2>
|
||||
<p>To extend the functionality of searx, offline engines are going to be
|
||||
introduced. An offline engine is an engine which does not need Internet
|
||||
@ -83,8 +83,8 @@ finds the engine file and imports it.</p>
|
||||
<span class="k">return</span> <span class="n">results</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="development-progress">
|
||||
</div>
|
||||
<div class="section" id="development-progress">
|
||||
<h2>Development progress<a class="headerlink" href="#development-progress" title="Permalink to this headline">¶</a></h2>
|
||||
<p>First, a proposal has been created as a Github issue. Then it was moved to the
|
||||
wiki as a design document. You can read it here: <a class="reference external" href="https://github.com/searx/searx/wiki/Offline-engines"> Offline-engines</a>.</p>
|
||||
@ -96,20 +96,20 @@ current result templates were insufficient to present such results. Thus, a new
|
||||
template is introduced which is caplable of presenting arbitrary key value pairs
|
||||
as a table. You can check out the pull request for more details see
|
||||
<a class="reference external" href="https://github.com/searx/searx/pull/1700">PR 1700</a>.</p>
|
||||
</section>
|
||||
<section id="next-steps">
|
||||
</div>
|
||||
<div class="section" id="next-steps">
|
||||
<h2>Next steps<a class="headerlink" href="#next-steps" title="Permalink to this headline">¶</a></h2>
|
||||
<p>Today, it is possible to create/run an offline engine. However, it is going to be publicly available for everyone who knows the searx instance. So the next step is to introduce token based access for engines. This way administrators are able to limit the access to private engines.</p>
|
||||
</section>
|
||||
<section id="acknowledgement">
|
||||
</div>
|
||||
<div class="section" id="acknowledgement">
|
||||
<h2>Acknowledgement<a class="headerlink" href="#acknowledgement" title="Permalink to this headline">¶</a></h2>
|
||||
<p>This development was sponsored by <a class="reference external" href="https://nlnet.nl/discovery">Search and Discovery Fund</a> of <a class="reference external" href="https://nlnet.nl/">NLnet Foundation</a> .</p>
|
||||
<div class="line-block">
|
||||
<div class="line">Happy hacking.</div>
|
||||
<div class="line">kvch // 2019.10.21 17:03</div>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="clearer"></div>
|
||||
|
@ -48,14 +48,14 @@
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="developing-in-linux-containers-202006">
|
||||
<div class="section" id="developing-in-linux-containers-202006">
|
||||
<span id="blog-lxcdev-202006"></span><h1>Developing in Linux containers [202006]<a class="headerlink" href="#developing-in-linux-containers-202006" title="Permalink to this headline">¶</a></h1>
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar">
|
||||
<p class="sidebar-title">Audience</p>
|
||||
<p>This blog post is written for experienced admins and developers / readers
|
||||
should have a serious meaning about: <em>distributed</em>, <em>merge</em> and <em>linux
|
||||
container</em>.</p>
|
||||
</aside>
|
||||
</div>
|
||||
<div class="contents local topic" id="contents">
|
||||
<p class="topic-title">Contents</p>
|
||||
<ul class="simple">
|
||||
@ -69,7 +69,7 @@ container</em>.</p>
|
||||
<p>In PR <a class="reference external" href="https://github.com/searx/searx/pull/1803">#1803</a> we added a lot of scripts to Searx’s boilerplate. In this blog
|
||||
post I will show you, how you can make use of them in <em>distributed and
|
||||
heterogeneous development cycles</em> (TL;DR; jump to the <a class="reference internal" href="#blog-lxcdev-202006-abstract"><span class="std std-ref">Abstract</span></a>).</p>
|
||||
<section id="motivation">
|
||||
<div class="section" id="motivation">
|
||||
<h2><a class="toc-backref" href="#id1">Motivation</a><a class="headerlink" href="#motivation" title="Permalink to this headline">¶</a></h2>
|
||||
<p>Normally in our development cycle, we edit the sources and run some test and/or
|
||||
builds by using <code class="docutils literal notranslate"><span class="pre">make</span></code> before we commit. This cycle is simple and perfect but
|
||||
@ -96,8 +96,8 @@ software:</p>
|
||||
<p>and the script <a class="reference internal" href="../utils/lxc.sh.html#lxc-sh"><span class="std std-ref">utils/lxc.sh</span></a>, with we can scale our installation, maintenance or
|
||||
even development tasks over a stack of containers, what we call: <em>Searx’s lxc
|
||||
suite</em>.</p>
|
||||
</section>
|
||||
<section id="gentlemen-start-your-engines">
|
||||
</div>
|
||||
<div class="section" id="gentlemen-start-your-engines">
|
||||
<h2><a class="toc-backref" href="#id2">Gentlemen, start your engines!</a><a class="headerlink" href="#gentlemen-start-your-engines" title="Permalink to this headline">¶</a></h2>
|
||||
<p>Before you can start with containers, you need to install and initiate <a class="reference external" href="https://linuxcontainers.org/lxd/introduction/">LXD</a>
|
||||
once:</p>
|
||||
@ -127,10 +127,10 @@ $ sudo -H ./utils/lxc.sh build searx-archlinux
|
||||
</pre></div>
|
||||
</div>
|
||||
</div></div>
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar">
|
||||
<p class="sidebar-title">The <code class="docutils literal notranslate"><span class="pre">searx-archlinux</span></code> container</p>
|
||||
<p>is the base of all our exercises here.</p>
|
||||
</aside>
|
||||
</div>
|
||||
<p>In this container we install all services <a class="reference internal" href="../utils/lxc.sh.html#lxc-sh-install-suite"><span class="std std-ref">including searx, morty & filtron</span></a> in once:</p>
|
||||
<div class="sphinx-tabs docutils container">
|
||||
<div aria-label="Tabbed content" class="closeable" role="tablist"><button aria-controls="panel-3-ZGVza3RvcA==" aria-selected="true" class="sphinx-tabs-tab group-tab" id="tab-3-ZGVza3RvcA==" name="ZGVza3RvcA==" role="tab" tabindex="0">desktop</button></div><div aria-labelledby="tab-3-ZGVza3RvcA==" class="sphinx-tabs-panel group-tab" id="panel-3-ZGVza3RvcA==" name="ZGVza3RvcA==" role="tabpanel" tabindex="0"><div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>$ sudo -H ./utils/lxc.sh install suite searx-archlinux
|
||||
@ -156,20 +156,20 @@ INFO: got <span class="m">200</span> from http://10.174.184.156/morty/
|
||||
</pre></div>
|
||||
</div>
|
||||
</div></div>
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar">
|
||||
<p class="sidebar-title">Fully functional searx suite</p>
|
||||
<p>From here on you have a fully functional searx suite running with bot blocker
|
||||
(filtron) and Web content sanitizer (content proxy morty) needed for a
|
||||
<em>privacy protecting</em> search engine.</p>
|
||||
</aside>
|
||||
</div>
|
||||
<p>On your system, the IP of your <code class="docutils literal notranslate"><span class="pre">searx-archlinux</span></code> container differs from
|
||||
<a class="reference external" href="http://10.174.184.156/searx">http://10.174.184.156/searx</a>, just open the URL reported in your installation
|
||||
protocol in your WEB browser from the desktop to test the instance from outside
|
||||
of the container.</p>
|
||||
<p>In such a searx suite admins can maintain and access the debug log of the
|
||||
different services quite easy.</p>
|
||||
</section>
|
||||
<section id="in-containers-work-as-usual">
|
||||
</div>
|
||||
<div class="section" id="in-containers-work-as-usual">
|
||||
<span id="working-in-containers"></span><h2><a class="toc-backref" href="#id3">In containers, work as usual</a><a class="headerlink" href="#in-containers-work-as-usual" title="Permalink to this headline">¶</a></h2>
|
||||
<p>Usually you open a root-bash using <code class="docutils literal notranslate"><span class="pre">sudo</span> <span class="pre">-H</span> <span class="pre">bash</span></code>. In case of LXC containers
|
||||
open the root-bash in the container using <code class="docutils literal notranslate"><span class="pre">./utils/lxc.sh</span> <span class="pre">cmd</span>
|
||||
@ -232,8 +232,8 @@ user <code class="docutils literal notranslate"><span class="pre">searx</span></
|
||||
</pre></div>
|
||||
</div>
|
||||
</div></div>
|
||||
</section>
|
||||
<section id="wrap-production-into-developer-suite">
|
||||
</div>
|
||||
<div class="section" id="wrap-production-into-developer-suite">
|
||||
<h2><a class="toc-backref" href="#id4">Wrap production into developer suite</a><a class="headerlink" href="#wrap-production-into-developer-suite" title="Permalink to this headline">¶</a></h2>
|
||||
<p>In this section we will see how to change the <em>“Fully functional searx suite”</em>
|
||||
from a LXC container (which is quite ready for production) into a developer
|
||||
@ -317,8 +317,8 @@ daily usage:</p>
|
||||
</pre></div>
|
||||
</div>
|
||||
</div></div>
|
||||
</section>
|
||||
<section id="abstract">
|
||||
</div>
|
||||
<div class="section" id="abstract">
|
||||
<span id="blog-lxcdev-202006-abstract"></span><h2><a class="toc-backref" href="#id5">Abstract</a><a class="headerlink" href="#abstract" title="Permalink to this headline">¶</a></h2>
|
||||
<p>We build up a fully functional searx suite in a archlinux container:</p>
|
||||
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>$ sudo -H ./utils/lxc.sh install suite searx-archlinux
|
||||
@ -354,8 +354,8 @@ $ systemctl restart uwsgi@searx
|
||||
</pre></div>
|
||||
</div>
|
||||
</div></div>
|
||||
</section>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="clearer"></div>
|
||||
|
@ -47,13 +47,13 @@
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="limit-access-to-your-searx-engines">
|
||||
<div class="section" id="limit-access-to-your-searx-engines">
|
||||
<h1>Limit access to your searx engines<a class="headerlink" href="#limit-access-to-your-searx-engines" title="Permalink to this headline">¶</a></h1>
|
||||
<p>Administrators might find themselves wanting to limit access to some of the
|
||||
enabled engines on their instances. It might be because they do not want to
|
||||
expose some private information through an offline engine. Or they
|
||||
would rather share engines only with their trusted friends or colleagues.</p>
|
||||
<section id="private-engines">
|
||||
<div class="section" id="private-engines">
|
||||
<span id="id1"></span><h2>Private engines<a class="headerlink" href="#private-engines" title="Permalink to this headline">¶</a></h2>
|
||||
<p>To solve this issue private engines were introduced in <a class="reference external" href="https://github.com/searx/searx/pull/1823">PR 1823</a>.
|
||||
A new option was added to engines named <cite>tokens</cite>. It expects a list
|
||||
@ -79,24 +79,24 @@ is not carved in stone. As providing access to such engines
|
||||
implies that the admin knows and trusts the user, we do not see
|
||||
necessary to come up with a strict process. Instead,
|
||||
we would like to add guidelines to the documentation of the feature.</p>
|
||||
</section>
|
||||
<section id="next-steps">
|
||||
</div>
|
||||
<div class="section" id="next-steps">
|
||||
<h2>Next steps<a class="headerlink" href="#next-steps" title="Permalink to this headline">¶</a></h2>
|
||||
<p>Now that searx has support for both offline engines and private engines,
|
||||
it is possible to add concrete engines which benefit from these features.
|
||||
For example engines which search on the local host running the instance.
|
||||
Be it searching your file system or querying a private database. Be creative
|
||||
and come up with new solutions which fit your use case.</p>
|
||||
</section>
|
||||
<section id="acknowledgement">
|
||||
</div>
|
||||
<div class="section" id="acknowledgement">
|
||||
<h2>Acknowledgement<a class="headerlink" href="#acknowledgement" title="Permalink to this headline">¶</a></h2>
|
||||
<p>This development was sponsored by <a class="reference external" href="https://nlnet.nl/discovery">Search and Discovery Fund</a> of <a class="reference external" href="https://nlnet.nl/">NLnet Foundation</a> .</p>
|
||||
<div class="line-block">
|
||||
<div class="line">Happy hacking.</div>
|
||||
<div class="line">kvch // 2020.02.28 22:26</div>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="clearer"></div>
|
||||
|
@ -47,18 +47,18 @@
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="introducing-python-3-support">
|
||||
<div class="section" id="introducing-python-3-support">
|
||||
<h1>Introducing Python 3 support<a class="headerlink" href="#introducing-python-3-support" title="Permalink to this headline">¶</a></h1>
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar">
|
||||
<p class="sidebar-title">Python 2.7 to 3 upgrade</p>
|
||||
<p>This chapter exists of historical reasons. Python 2.7 release schedule ends
|
||||
(<a class="reference external" href="https://pythonclock.org/">Python 2.7 clock</a>) after 11 years Python 3 exists</p>
|
||||
</aside>
|
||||
</div>
|
||||
<p>As most operation systems are coming with Python3 installed by default. So it is
|
||||
time for searx to support Python3. But don’t worry support of Python2.7 won’t be
|
||||
dropped.</p>
|
||||
<a class="reference internal image-reference" href="../_images/searxpy3.png"><img alt="hurray" class="align-center" src="../_images/searxpy3.png" style="width: 510.5px; height: 116.0px;" /></a>
|
||||
<section id="how-to-run-searx-using-python-3">
|
||||
<div class="section" id="how-to-run-searx-using-python-3">
|
||||
<h2>How to run searx using Python 3<a class="headerlink" href="#how-to-run-searx-using-python-3" title="Permalink to this headline">¶</a></h2>
|
||||
<p>Please make sure that you run at least Python 3.5.</p>
|
||||
<p>To run searx, first a Python3 virtualenv should be created. After entering the
|
||||
@ -72,8 +72,8 @@ python3 searx/webapp.py
|
||||
</div>
|
||||
<p>If you want to run searx using Python2.7, you don’t have to do anything
|
||||
differently as before.</p>
|
||||
</section>
|
||||
<section id="fun-facts">
|
||||
</div>
|
||||
<div class="section" id="fun-facts">
|
||||
<h2>Fun facts<a class="headerlink" href="#fun-facts" title="Permalink to this headline">¶</a></h2>
|
||||
<ul class="simple">
|
||||
<li><p>115 files were changed when implementing the support for both Python versions.</p></li>
|
||||
@ -81,21 +81,21 @@ differently as before.</p>
|
||||
browser tests. Thus, these tests were migrated to splinter. So from now on
|
||||
both versions are being tested on Travis and can be tested locally.</p></li>
|
||||
</ul>
|
||||
</section>
|
||||
<section id="if-you-found-bugs">
|
||||
</div>
|
||||
<div class="section" id="if-you-found-bugs">
|
||||
<h2>If you found bugs<a class="headerlink" href="#if-you-found-bugs" title="Permalink to this headline">¶</a></h2>
|
||||
<p>Please open an issue on <a class="reference external" href="https://github.com/searx/searx/issues">GitHub</a>. Make sure that you mention your Python
|
||||
version in your issue, so we can investigate it properly.</p>
|
||||
</section>
|
||||
<section id="acknowledgment">
|
||||
</div>
|
||||
<div class="section" id="acknowledgment">
|
||||
<h2>Acknowledgment<a class="headerlink" href="#acknowledgment" title="Permalink to this headline">¶</a></h2>
|
||||
<p>This development was sponsored by <a class="reference external" href="https://nlnet.nl/">NLnet Foundation</a>.</p>
|
||||
<div class="line-block">
|
||||
<div class="line">Happy hacking.</div>
|
||||
<div class="line">kvch // 2017.05.13 22:57</div>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="clearer"></div>
|
||||
|
@ -43,7 +43,7 @@
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="query-your-local-search-engines">
|
||||
<div class="section" id="query-your-local-search-engines">
|
||||
<h1>Query your local search engines<a class="headerlink" href="#query-your-local-search-engines" title="Permalink to this headline">¶</a></h1>
|
||||
<p>From now on, searx lets you to query your locally running search engines. The following
|
||||
ones are supported now:</p>
|
||||
@ -59,10 +59,10 @@ HTTP requests by setting <code class="docutils literal notranslate"><span class=
|
||||
<p>Futhermore, if you do not want to expose these engines on a public instance, you can
|
||||
still add them and limit the access by setting <code class="docutils literal notranslate"><span class="pre">tokens</span></code> as described in the <a class="reference external" href="private-engines.html#private-engines">blog post about
|
||||
private engines</a>.</p>
|
||||
<section id="configuring-searx-for-search-engines">
|
||||
<div class="section" id="configuring-searx-for-search-engines">
|
||||
<h2>Configuring searx for search engines<a class="headerlink" href="#configuring-searx-for-search-engines" title="Permalink to this headline">¶</a></h2>
|
||||
<p>Each search engine is powerful, capable of full-text search.</p>
|
||||
<section id="elasticsearch">
|
||||
<div class="section" id="elasticsearch">
|
||||
<h3>Elasticsearch<a class="headerlink" href="#elasticsearch" title="Permalink to this headline">¶</a></h3>
|
||||
<p>Elasticsearch supports numerous ways to query the data it is storing. At the moment
|
||||
the engine supports the most popular search methods: <code class="docutils literal notranslate"><span class="pre">match</span></code>, <code class="docutils literal notranslate"><span class="pre">simple_query_string</span></code>, <code class="docutils literal notranslate"><span class="pre">term</span></code> and <code class="docutils literal notranslate"><span class="pre">terms</span></code>.</p>
|
||||
@ -81,8 +81,8 @@ configured to read from <code class="docutils literal notranslate"><span class="
|
||||
<span class="nt">enable_http </span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">True</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="meilisearch">
|
||||
</div>
|
||||
<div class="section" id="meilisearch">
|
||||
<h3>Meilisearch<a class="headerlink" href="#meilisearch" title="Permalink to this headline">¶</a></h3>
|
||||
<p>This search engine is aimed at individuals and small companies. It is designed for
|
||||
small-scale (less than 10 million documents) data collections. E.g. it is great for storing
|
||||
@ -98,8 +98,8 @@ Futhermore, you can search in Meilisearch instances that require authentication
|
||||
<span class="nt">enable_http</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">True</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="solr">
|
||||
</div>
|
||||
<div class="section" id="solr">
|
||||
<h3>Solr<a class="headerlink" href="#solr" title="Permalink to this headline">¶</a></h3>
|
||||
<p>Solr is a popular search engine based on Lucene, just like Elasticsearch.
|
||||
But instead of searching in indices, you can search in collections.</p>
|
||||
@ -114,21 +114,21 @@ the results in ascending order.</p>
|
||||
<span class="nt">enable_http </span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">True</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
<section id="next-steps">
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="next-steps">
|
||||
<h2>Next steps<a class="headerlink" href="#next-steps" title="Permalink to this headline">¶</a></h2>
|
||||
<p>The next step is to add support for various SQL databases.</p>
|
||||
</section>
|
||||
<section id="acknowledgement">
|
||||
</div>
|
||||
<div class="section" id="acknowledgement">
|
||||
<h2>Acknowledgement<a class="headerlink" href="#acknowledgement" title="Permalink to this headline">¶</a></h2>
|
||||
<p>This development was sponsored by <a class="reference external" href="https://nlnet.nl/discovery">Search and Discovery Fund</a> of <a class="reference external" href="https://nlnet.nl/">NLnet Foundation</a> .</p>
|
||||
<div class="line-block">
|
||||
<div class="line">Happy hacking.</div>
|
||||
<div class="line">kvch // 2021.04.07 23:16</div>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="clearer"></div>
|
||||
|
@ -47,7 +47,7 @@
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="how-to-contribute">
|
||||
<div class="section" id="how-to-contribute">
|
||||
<span id="id1"></span><h1>How to contribute<a class="headerlink" href="#how-to-contribute" title="Permalink to this headline">¶</a></h1>
|
||||
<div class="contents local topic" id="contents">
|
||||
<p class="topic-title">Contents</p>
|
||||
@ -67,7 +67,7 @@
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<section id="prime-directives-privacy-hackability">
|
||||
<div class="section" id="prime-directives-privacy-hackability">
|
||||
<h2><a class="toc-backref" href="#id3">Prime directives: Privacy, Hackability</a><a class="headerlink" href="#prime-directives-privacy-hackability" title="Permalink to this headline">¶</a></h2>
|
||||
<p>Searx has two prime directives, <strong>privacy-by-design and hackability</strong> . The
|
||||
hackability comes in three levels:</p>
|
||||
@ -79,7 +79,7 @@ hackability comes in three levels:</p>
|
||||
<p>Note the lack of “world domination” among the directives. Searx has no
|
||||
intention of wide mass-adoption, rounded corners, etc. The prime directive
|
||||
“privacy” deserves a separate chapter, as it’s quite uncommon unfortunately.</p>
|
||||
<section id="privacy-by-design">
|
||||
<div class="section" id="privacy-by-design">
|
||||
<h3><a class="toc-backref" href="#id4">Privacy-by-design</a><a class="headerlink" href="#privacy-by-design" title="Permalink to this headline">¶</a></h3>
|
||||
<p>Searx was born out of the need for a <strong>privacy-respecting</strong> search tool which
|
||||
can be extended easily to maximize both, its search and its privacy protecting
|
||||
@ -102,11 +102,11 @@ privacy concerns do not fancy you, simply fork it.</p>
|
||||
<blockquote>
|
||||
<div><p><em>Happy hacking.</em></p>
|
||||
</div></blockquote>
|
||||
</section>
|
||||
</section>
|
||||
<section id="code">
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="code">
|
||||
<h2><a class="toc-backref" href="#id5">Code</a><a class="headerlink" href="#code" title="Permalink to this headline">¶</a></h2>
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar">
|
||||
<p class="sidebar-title">Create good commits!</p>
|
||||
<ul class="simple">
|
||||
<li><p><a class="reference external" href="https://wiki.openstack.org/wiki/GitCommitMessages#Structural_split_of_changes">Structural split of changes</a></p></li>
|
||||
@ -115,7 +115,7 @@ privacy concerns do not fancy you, simply fork it.</p>
|
||||
<li><p>some like to use: <a class="reference external" href="https://gitmoji.carloscuesta.me/">gitmoji</a></p></li>
|
||||
<li><p>not yet active: <a class="reference external" href="https://github.com/zeke/semantic-pull-requests">Semantic PR</a></p></li>
|
||||
</ul>
|
||||
</aside>
|
||||
</div>
|
||||
<p>In order to submit a patch, please follow the steps below:</p>
|
||||
<ul>
|
||||
<li><p>Follow coding conventions.</p>
|
||||
@ -142,21 +142,21 @@ code.</p></li>
|
||||
<li><p>Create a pull request.</p></li>
|
||||
</ul>
|
||||
<p>For more help on getting started with searx development, see <a class="reference internal" href="quickstart.html#devquickstart"><span class="std std-ref">Development Quickstart</span></a>.</p>
|
||||
</section>
|
||||
<section id="translation">
|
||||
</div>
|
||||
<div class="section" id="translation">
|
||||
<h2><a class="toc-backref" href="#id6">Translation</a><a class="headerlink" href="#translation" title="Permalink to this headline">¶</a></h2>
|
||||
<p>Translation currently takes place on <a class="reference internal" href="translation.html#translation"><span class="std std-ref">transifex</span></a>.</p>
|
||||
<div class="admonition caution">
|
||||
<p class="admonition-title">Caution</p>
|
||||
<p>Please, do not update translation files in the repo.</p>
|
||||
</div>
|
||||
</section>
|
||||
<section id="documentation">
|
||||
</div>
|
||||
<div class="section" id="documentation">
|
||||
<span id="contrib-docs"></span><h2><a class="toc-backref" href="#id7">Documentation</a><a class="headerlink" href="#documentation" title="Permalink to this headline">¶</a></h2>
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar">
|
||||
<p class="sidebar-title">The reST sources</p>
|
||||
<p>has been moved from <code class="docutils literal notranslate"><span class="pre">gh-branch</span></code> into <code class="docutils literal notranslate"><span class="pre">master</span></code> (<a class="reference external" href="https://github.com/searx/searx/blob/master/docs">git://docs</a>).</p>
|
||||
</aside>
|
||||
</div>
|
||||
<p>The documentation is built using <a class="reference external" href="https://www.sphinx-doc.org">Sphinx</a>. So in order to be able to generate
|
||||
the required files, you have to install it on your system. Much easier, use
|
||||
our <a class="reference internal" href="makefile.html#makefile"><span class="std std-ref">Makefile Targets</span></a>.</p>
|
||||
@ -166,13 +166,13 @@ our <a class="reference internal" href="makefile.html#makefile"><span class="std
|
||||
The HTML pages are <span class="k">in</span> dist/docs.
|
||||
</pre></div>
|
||||
</div>
|
||||
<section id="live-build">
|
||||
<div class="section" id="live-build">
|
||||
<span id="make-docs-live"></span><h3><a class="toc-backref" href="#id8">live build</a><a class="headerlink" href="#live-build" title="Permalink to this headline">¶</a></h3>
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar">
|
||||
<p class="sidebar-title">docs-clean</p>
|
||||
<p>It is recommended to assert a complete rebuild before deploying (use
|
||||
<code class="docutils literal notranslate"><span class="pre">docs-clean</span></code>).</p>
|
||||
</aside>
|
||||
</div>
|
||||
<p>Live build is like WYSIWYG. If you want to edit the documentation, its
|
||||
recommended to use. The Makefile target <code class="docutils literal notranslate"><span class="pre">docs-live</span></code> builds the docs, opens
|
||||
URL in your favorite browser and rebuilds every time a reST file has been
|
||||
@ -194,8 +194,8 @@ argument. E.g to find and use a free port, use:</p>
|
||||
...
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="deploy-on-github-io">
|
||||
</div>
|
||||
<div class="section" id="deploy-on-github-io">
|
||||
<span id="id2"></span><h3><a class="toc-backref" href="#id9">deploy on github.io</a><a class="headerlink" href="#deploy-on-github-io" title="Permalink to this headline">¶</a></h3>
|
||||
<p>To deploy documentation at <a class="reference external" href="https://searx.github.io/searx/.">github.io</a> use Makefile target
|
||||
<a class="reference internal" href="makefile.html#make-gh-pages"><span class="std std-ref">make gh-pages</span></a>, which will builds the documentation, clones searx into a sub
|
||||
@ -214,9 +214,9 @@ Switched to a new branch <span class="s1">'gh-pages'</span>
|
||||
doc available at --> https://searx.github.io/searx
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="clearer"></div>
|
||||
|
@ -47,7 +47,7 @@
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="engine-overview">
|
||||
<div class="section" id="engine-overview">
|
||||
<span id="engines-dev"></span><h1><a class="toc-backref" href="#id4">Engine overview</a><a class="headerlink" href="#engine-overview" title="Permalink to this headline">¶</a></h1>
|
||||
<p>searx is a <a class="reference external" href="https://en.wikipedia.org/wiki/Metasearch_engine">metasearch-engine</a>, so it uses different search engines to provide
|
||||
better results.</p>
|
||||
@ -87,7 +87,7 @@ engines. Adapters are stored under the folder <a class="reference external" hre
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<section id="general-engine-configuration">
|
||||
<div class="section" id="general-engine-configuration">
|
||||
<span id="id1"></span><h2><a class="toc-backref" href="#id5">general engine configuration</a><a class="headerlink" href="#general-engine-configuration" title="Permalink to this headline">¶</a></h2>
|
||||
<p>It is required to tell searx the type of results the engine provides. The
|
||||
arguments can be set in the engine file or in the settings file
|
||||
@ -95,7 +95,7 @@ arguments can be set in the engine file or in the settings file
|
||||
the ones in the engine file.</p>
|
||||
<p>It does not matter if an option is stored in the engine file or in the
|
||||
settings. However, the standard way is the following:</p>
|
||||
<section id="engine-file">
|
||||
<div class="section" id="engine-file">
|
||||
<span id="id2"></span><h3><a class="toc-backref" href="#id6">engine file</a><a class="headerlink" href="#engine-file" title="Permalink to this headline">¶</a></h3>
|
||||
<table class="docutils align-default">
|
||||
<colgroup>
|
||||
@ -129,8 +129,8 @@ settings. However, the standard way is the following:</p>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<section id="settings-yml">
|
||||
</div>
|
||||
<div class="section" id="settings-yml">
|
||||
<span id="engine-settings"></span><h3><a class="toc-backref" href="#id7">settings.yml</a><a class="headerlink" href="#settings-yml" title="Permalink to this headline">¶</a></h3>
|
||||
<table class="docutils align-default">
|
||||
<colgroup>
|
||||
@ -179,8 +179,8 @@ settings. However, the standard way is the following:</p>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<section id="overrides">
|
||||
</div>
|
||||
<div class="section" id="overrides">
|
||||
<h3><a class="toc-backref" href="#id8">overrides</a><a class="headerlink" href="#overrides" title="Permalink to this headline">¶</a></h3>
|
||||
<p>A few of the options have default values in the engine, but are often
|
||||
overwritten by the settings. If <code class="docutils literal notranslate"><span class="pre">None</span></code> is assigned to an option in the engine
|
||||
@ -220,21 +220,21 @@ engine on other URL</p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<section id="example-code">
|
||||
</div>
|
||||
<div class="section" id="example-code">
|
||||
<h3><a class="toc-backref" href="#id9">example code</a><a class="headerlink" href="#example-code" title="Permalink to this headline">¶</a></h3>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># engine dependent config</span>
|
||||
<span class="n">categories</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'general'</span><span class="p">]</span>
|
||||
<span class="n">paging</span> <span class="o">=</span> <span class="kc">True</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
<section id="making-a-request">
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="making-a-request">
|
||||
<h2><a class="toc-backref" href="#id10">making a request</a><a class="headerlink" href="#making-a-request" title="Permalink to this headline">¶</a></h2>
|
||||
<p>To perform a search an URL have to be specified. In addition to specifying an
|
||||
URL, arguments can be passed to the query.</p>
|
||||
<section id="passed-arguments">
|
||||
<div class="section" id="passed-arguments">
|
||||
<h3><a class="toc-backref" href="#id11">passed arguments</a><a class="headerlink" href="#passed-arguments" title="Permalink to this headline">¶</a></h3>
|
||||
<p>These arguments can be used to construct the search query. Furthermore,
|
||||
parameters with default value can be redefined for special purposes.</p>
|
||||
@ -366,8 +366,8 @@ parameters with default value can be redefined for special purposes.</p>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<section id="parsed-arguments">
|
||||
</div>
|
||||
<div class="section" id="parsed-arguments">
|
||||
<h3><a class="toc-backref" href="#id12">parsed arguments</a><a class="headerlink" href="#parsed-arguments" title="Permalink to this headline">¶</a></h3>
|
||||
<p>The function <code class="docutils literal notranslate"><span class="pre">def</span> <span class="pre">request(query,</span> <span class="pre">params):</span></code> always returns the <code class="docutils literal notranslate"><span class="pre">params</span></code>
|
||||
variable. Inside searx, the following paramters can be used to specify a search
|
||||
@ -427,8 +427,8 @@ request:</p>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<section id="id3">
|
||||
</div>
|
||||
<div class="section" id="id3">
|
||||
<h3><a class="toc-backref" href="#id13">example code</a><a class="headerlink" href="#id3" title="Permalink to this headline">¶</a></h3>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># search-url</span>
|
||||
<span class="n">base_url</span> <span class="o">=</span> <span class="s1">'https://example.com/'</span>
|
||||
@ -445,9 +445,9 @@ request:</p>
|
||||
<span class="k">return</span> <span class="n">params</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
<section id="returned-results">
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="returned-results">
|
||||
<h2><a class="toc-backref" href="#id14">returned results</a><a class="headerlink" href="#returned-results" title="Permalink to this headline">¶</a></h2>
|
||||
<p>Searx is able to return results of different media-types. Currently the
|
||||
following media-types are supported:</p>
|
||||
@ -460,7 +460,7 @@ following media-types are supported:</p>
|
||||
</ul>
|
||||
<p>To set another media-type as default, the parameter <code class="docutils literal notranslate"><span class="pre">template</span></code> must be set to
|
||||
the desired type.</p>
|
||||
<section id="default">
|
||||
<div class="section" id="default">
|
||||
<h3><a class="toc-backref" href="#id15">default</a><a class="headerlink" href="#default" title="Permalink to this headline">¶</a></h3>
|
||||
<table class="docutils align-default">
|
||||
<colgroup>
|
||||
@ -487,8 +487,8 @@ the desired type.</p>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<section id="images">
|
||||
</div>
|
||||
<div class="section" id="images">
|
||||
<h3><a class="toc-backref" href="#id16">images</a><a class="headerlink" href="#images" title="Permalink to this headline">¶</a></h3>
|
||||
<p>To use this template, the parameter:</p>
|
||||
<table class="docutils align-default">
|
||||
@ -526,8 +526,8 @@ time of publish <em>(partly implemented)</em></p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<section id="videos">
|
||||
</div>
|
||||
<div class="section" id="videos">
|
||||
<h3><a class="toc-backref" href="#id17">videos</a><a class="headerlink" href="#videos" title="Permalink to this headline">¶</a></h3>
|
||||
<table class="docutils align-default">
|
||||
<colgroup>
|
||||
@ -560,8 +560,8 @@ time of publish <em>(partly implemented)</em></p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<section id="torrent">
|
||||
</div>
|
||||
<div class="section" id="torrent">
|
||||
<h3><a class="toc-backref" href="#id18">torrent</a><a class="headerlink" href="#torrent" title="Permalink to this headline">¶</a></h3>
|
||||
<table class="docutils align-default">
|
||||
<colgroup>
|
||||
@ -610,8 +610,8 @@ time of publish <em>(not implemented yet)</em></p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<section id="map">
|
||||
</div>
|
||||
<div class="section" id="map">
|
||||
<h3><a class="toc-backref" href="#id19">map</a><a class="headerlink" href="#map" title="Permalink to this headline">¶</a></h3>
|
||||
<table class="docutils align-default">
|
||||
<colgroup>
|
||||
@ -675,9 +675,9 @@ time of publish <em>(not implemented yet)</em></p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
</section>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="clearer"></div>
|
||||
|
@ -46,10 +46,10 @@
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="developer-documentation">
|
||||
<div class="section" id="developer-documentation">
|
||||
<h1>Developer documentation<a class="headerlink" href="#developer-documentation" title="Permalink to this headline">¶</a></h1>
|
||||
<div class="toctree-wrapper compound">
|
||||
<p><span class="caption-text">Contents</span></p>
|
||||
<p class="caption"><span class="caption-text">Contents</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="quickstart.html">Development Quickstart</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="contribution_guide.html">How to contribute</a><ul>
|
||||
@ -113,7 +113,7 @@
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="clearer"></div>
|
||||
|
@ -47,13 +47,13 @@
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="makefile-targets">
|
||||
<div class="section" id="makefile-targets">
|
||||
<span id="makefile"></span><h1>Makefile Targets<a class="headerlink" href="#makefile-targets" title="Permalink to this headline">¶</a></h1>
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar">
|
||||
<p class="sidebar-title">build environment</p>
|
||||
<p>Before looking deeper at the targets, first read about <a class="reference internal" href="#make-pyenv"><span class="std std-ref">Python environment</span></a>.</p>
|
||||
<p>To install system requirements follow <a class="reference internal" href="../admin/buildhosts.html#buildhosts"><span class="std std-ref">Buildhosts</span></a>.</p>
|
||||
</aside>
|
||||
</div>
|
||||
<p>With the aim to simplify development cycles, started with <a class="reference external" href="https://github.com/searx/searx/pull/1756">PR 1756</a> a
|
||||
<code class="docutils literal notranslate"><span class="pre">Makefile</span></code> based boilerplate was added. If you are not familiar with
|
||||
Makefiles, we recommend to read <a class="reference external" href="https://www.gnu.org/software/make/manual/make.html#Introduction">gnu-make</a> introduction.</p>
|
||||
@ -93,12 +93,12 @@ to get more help: make help-all
|
||||
<li><p><a class="reference internal" href="#make-pybuild" id="id14"><code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">pybuild</span></code></a></p></li>
|
||||
</ul>
|
||||
</div>
|
||||
<section id="python-environment">
|
||||
<div class="section" id="python-environment">
|
||||
<span id="make-pyenv"></span><h2><a class="toc-backref" href="#id6">Python environment</a><a class="headerlink" href="#python-environment" title="Permalink to this headline">¶</a></h2>
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar">
|
||||
<p class="sidebar-title">activate environment</p>
|
||||
<p><code class="docutils literal notranslate"><span class="pre">source</span> <span class="pre">./local/py3/bin/activate</span></code></p>
|
||||
</aside>
|
||||
</div>
|
||||
<p>With Makefile we do no longer need to build up the virtualenv manually (as
|
||||
described in the <a class="reference internal" href="quickstart.html#devquickstart"><span class="std std-ref">Development Quickstart</span></a> guide). Jump into your git working tree
|
||||
and release a <code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">pyenv</span></code>:</p>
|
||||
@ -120,16 +120,16 @@ PYENV install .
|
||||
<p>You have never to think about intermediate targets like <code class="docutils literal notranslate"><span class="pre">pyenv</span></code> or
|
||||
<code class="docutils literal notranslate"><span class="pre">install</span></code>, the <code class="docutils literal notranslate"><span class="pre">Makefile</span></code> chains them as requisites. Just run your main
|
||||
target.</p>
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar">
|
||||
<p class="sidebar-title">drop environment</p>
|
||||
<p>To get rid of the existing environment before re-build use <a class="reference internal" href="#make-clean"><span class="std std-ref">clean target</span></a> first.</p>
|
||||
</aside>
|
||||
</div>
|
||||
<p>If you think, something goes wrong with your ./local environment or you change
|
||||
the <a class="reference external" href="https://github.com/searx/searx/blob/master/setup.py">git://setup.py</a> file (or the requirements listed in
|
||||
<a class="reference external" href="https://github.com/searx/searx/blob/master/requirements-dev.txt">git://requirements-dev.txt</a> and <a class="reference external" href="https://github.com/searx/searx/blob/master/requirements.txt">git://requirements.txt</a>), you have to call
|
||||
<a class="reference internal" href="#make-clean"><span class="std std-ref">make clean</span></a>.</p>
|
||||
</section>
|
||||
<section id="make-run">
|
||||
</div>
|
||||
<div class="section" id="make-run">
|
||||
<span id="id1"></span><h2><a class="toc-backref" href="#id7"><code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">run</span></code></a><a class="headerlink" href="#make-run" title="Permalink to this headline">¶</a></h2>
|
||||
<p>To get up a running a developer instance simply call <code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">run</span></code>. This enables
|
||||
<em>debug</em> option in <a class="reference external" href="https://github.com/searx/searx/blob/master/searx/settings.yml">git://searx/settings.yml</a>, starts a <code class="docutils literal notranslate"><span class="pre">./searx/webapp.py</span></code>
|
||||
@ -144,8 +144,8 @@ INFO:werkzeug: * Running on http://127.0.0.1:8888/ <span class="o">(</span>Press
|
||||
...
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="make-clean">
|
||||
</div>
|
||||
<div class="section" id="make-clean">
|
||||
<span id="id2"></span><h2><a class="toc-backref" href="#id8"><code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">clean</span></code></a><a class="headerlink" href="#make-clean" title="Permalink to this headline">¶</a></h2>
|
||||
<p>Drop all intermediate files, all builds, but keep sources untouched. Includes
|
||||
target <code class="docutils literal notranslate"><span class="pre">pyclean</span></code> which drops ./local environment. Before calling <code class="docutils literal notranslate"><span class="pre">make</span>
|
||||
@ -155,20 +155,20 @@ CLEAN pyclean
|
||||
CLEAN clean
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="make-docs-docs-live-docs-clean">
|
||||
</div>
|
||||
<div class="section" id="make-docs-docs-live-docs-clean">
|
||||
<span id="make-docs"></span><h2><a class="toc-backref" href="#id9"><code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">docs</span> <span class="pre">docs-live</span> <span class="pre">docs-clean</span></code></a><a class="headerlink" href="#make-docs-docs-live-docs-clean" title="Permalink to this headline">¶</a></h2>
|
||||
<p>We describe the usage of the <code class="docutils literal notranslate"><span class="pre">doc*</span></code> targets in the <a class="reference internal" href="contribution_guide.html#contrib-docs"><span class="std std-ref">How to contribute /
|
||||
Documentation</span></a> section. If you want to edit the documentation
|
||||
read our <a class="reference internal" href="contribution_guide.html#make-docs-live"><span class="std std-ref">live build</span></a> section. If you are working in your own brand,
|
||||
adjust your <a class="reference internal" href="../admin/settings.html#settings-global"><span class="std std-ref">Global Settings</span></a>.</p>
|
||||
</section>
|
||||
<section id="make-books-name-html-books-name-pdf">
|
||||
</div>
|
||||
<div class="section" id="make-books-name-html-books-name-pdf">
|
||||
<span id="make-books"></span><h2><a class="toc-backref" href="#id10"><code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">books/{name}.html</span> <span class="pre">books/{name}.pdf</span></code></a><a class="headerlink" href="#make-books-name-html-books-name-pdf" title="Permalink to this headline">¶</a></h2>
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar">
|
||||
<p class="sidebar-title">info</p>
|
||||
<p>To build PDF a <a class="reference external" href="https://tug.org/xetex/">XeTeX</a> is needed, see <a class="reference internal" href="../admin/buildhosts.html#buildhosts"><span class="std std-ref">Buildhosts</span></a>.</p>
|
||||
</aside>
|
||||
</div>
|
||||
<p>The <code class="docutils literal notranslate"><span class="pre">books/{name}.*</span></code> targets are building <em>books</em>. A <em>book</em> is a
|
||||
sub-directory containing a <code class="docutils literal notranslate"><span class="pre">conf.py</span></code> file. One example is the user handbook
|
||||
which can deployed separately (<a class="reference external" href="https://github.com/searx/searx/blob/master/docs/user/conf.py">git://docs/user/conf.py</a>). Such <code class="docutils literal notranslate"><span class="pre">conf.py</span></code>
|
||||
@ -188,13 +188,13 @@ documentation’s build time.</p>
|
||||
books/user.pdf
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="make-gh-pages">
|
||||
</div>
|
||||
<div class="section" id="make-gh-pages">
|
||||
<span id="id3"></span><h2><a class="toc-backref" href="#id11"><code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">gh-pages</span></code></a><a class="headerlink" href="#make-gh-pages" title="Permalink to this headline">¶</a></h2>
|
||||
<p>To deploy on github.io first adjust your <a class="reference internal" href="../admin/settings.html#settings-global"><span class="std std-ref">Global Settings</span></a>. For any
|
||||
further read <a class="reference internal" href="contribution_guide.html#deploy-on-github-io"><span class="std std-ref">deploy on github.io</span></a>.</p>
|
||||
</section>
|
||||
<section id="make-test">
|
||||
</div>
|
||||
<div class="section" id="make-test">
|
||||
<span id="id4"></span><h2><a class="toc-backref" href="#id12"><code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">test</span></code></a><a class="headerlink" href="#make-test" title="Permalink to this headline">¶</a></h2>
|
||||
<p>Runs a series of tests: <code class="docutils literal notranslate"><span class="pre">test.pep8</span></code>, <code class="docutils literal notranslate"><span class="pre">test.unit</span></code>, <code class="docutils literal notranslate"><span class="pre">test.robot</span></code> and does
|
||||
additional <a class="reference internal" href="#make-pylint"><span class="std std-ref">pylint checks</span></a>. You can run tests selective,
|
||||
@ -206,8 +206,8 @@ e.g.:</p>
|
||||
<span class="o">[</span>!<span class="o">]</span> Running unit tests
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="make-pylint">
|
||||
</div>
|
||||
<div class="section" id="make-pylint">
|
||||
<span id="id5"></span><h2><a class="toc-backref" href="#id13"><code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">pylint</span></code></a><a class="headerlink" href="#make-pylint" title="Permalink to this headline">¶</a></h2>
|
||||
<p>Before commiting its recommend to do some (more) linting. <a class="reference external" href="https://www.pylint.org/">Pylint</a> is known as
|
||||
one of the best source-code, bug and quality checker for the Python programming
|
||||
@ -220,8 +220,8 @@ run Pylint and check if your changed lines are bringing up new messages. If so,
|
||||
fix it. By this, code quality gets incremental better and if there comes the
|
||||
day, the linting is balanced out, we might decide to add Pylint as a quality
|
||||
gate.</p>
|
||||
</section>
|
||||
<section id="make-pybuild">
|
||||
</div>
|
||||
<div class="section" id="make-pybuild">
|
||||
<h2><a class="toc-backref" href="#id14"><code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">pybuild</span></code></a><a class="headerlink" href="#make-pybuild" title="Permalink to this headline">¶</a></h2>
|
||||
<p>Build Python packages in <code class="docutils literal notranslate"><span class="pre">./dist/py</span></code>.</p>
|
||||
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>$ make pybuild
|
||||
@ -237,8 +237,8 @@ searx-0.15.0-py3-none-any.whl searx-0.15.0.tar.gz
|
||||
<p>To upload packages to <a class="reference external" href="https://pypi.org/">PyPi</a>, there is also a <code class="docutils literal notranslate"><span class="pre">upload-pypi</span></code> target. It needs
|
||||
<a class="reference external" href="https://twine.readthedocs.io/en/latest/">twine</a> to be installed. Since you are not the owner of <a class="reference external" href="https://pypi.org/project/searx">PyPi: searx</a> you will
|
||||
never need the latter.</p>
|
||||
</section>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="clearer"></div>
|
||||
|
@ -47,16 +47,16 @@
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="plugins">
|
||||
<div class="section" id="plugins">
|
||||
<span id="dev-plugin"></span><h1>Plugins<a class="headerlink" href="#plugins" title="Permalink to this headline">¶</a></h1>
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar">
|
||||
<p class="sidebar-title">Further reading ..</p>
|
||||
<ul class="simple">
|
||||
<li><p><a class="reference internal" href="../admin/plugins.html#plugins-generic"><span class="std std-ref">Plugins builtin</span></a></p></li>
|
||||
</ul>
|
||||
</aside>
|
||||
</div>
|
||||
<p>Plugins can extend or replace functionality of various components of searx.</p>
|
||||
<section id="example-plugin">
|
||||
<div class="section" id="example-plugin">
|
||||
<h2>Example plugin<a class="headerlink" href="#example-plugin" title="Permalink to this headline">¶</a></h2>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">name</span> <span class="o">=</span> <span class="s1">'Example plugin'</span>
|
||||
<span class="n">description</span> <span class="o">=</span> <span class="s1">'This plugin extends the suggestions with the word "example"'</span>
|
||||
@ -74,40 +74,40 @@
|
||||
<span class="k">return</span> <span class="kc">True</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="external-plugins">
|
||||
</div>
|
||||
<div class="section" id="external-plugins">
|
||||
<h2>External plugins<a class="headerlink" href="#external-plugins" title="Permalink to this headline">¶</a></h2>
|
||||
<p>External plugins are standard python modules implementing all the requirements of the standard plugins.
|
||||
Plugins can be enabled by adding them to <a class="reference internal" href="../admin/settings.html#settings-yml"><span class="std std-ref">settings.yml</span></a>’s <code class="docutils literal notranslate"><span class="pre">plugins</span></code> section.
|
||||
Example external plugin can be found <a class="reference external" href="https://github.com/asciimoo/searx_external_plugin_example">here</a>.</p>
|
||||
</section>
|
||||
<section id="register-your-plugin">
|
||||
</div>
|
||||
<div class="section" id="register-your-plugin">
|
||||
<h2>Register your plugin<a class="headerlink" href="#register-your-plugin" title="Permalink to this headline">¶</a></h2>
|
||||
<p>To enable your plugin register your plugin in
|
||||
searx > plugin > __init__.py.
|
||||
And at the bottom of the file add your plugin like.
|
||||
<code class="docutils literal notranslate"><span class="pre">plugins.register(name_of_python_file)</span></code></p>
|
||||
</section>
|
||||
<section id="plugin-entry-points">
|
||||
</div>
|
||||
<div class="section" id="plugin-entry-points">
|
||||
<h2>Plugin entry points<a class="headerlink" href="#plugin-entry-points" title="Permalink to this headline">¶</a></h2>
|
||||
<p>Entry points (hooks) define when a plugin runs. Right now only three hooks are
|
||||
implemented. So feel free to implement a hook if it fits the behaviour of your
|
||||
plugin.</p>
|
||||
<section id="pre-search-hook">
|
||||
<div class="section" id="pre-search-hook">
|
||||
<h3>Pre search hook<a class="headerlink" href="#pre-search-hook" title="Permalink to this headline">¶</a></h3>
|
||||
<p>Runs BEFORE the search request. Function to implement: <code class="docutils literal notranslate"><span class="pre">pre_search</span></code></p>
|
||||
</section>
|
||||
<section id="post-search-hook">
|
||||
</div>
|
||||
<div class="section" id="post-search-hook">
|
||||
<h3>Post search hook<a class="headerlink" href="#post-search-hook" title="Permalink to this headline">¶</a></h3>
|
||||
<p>Runs AFTER the search request. Function to implement: <code class="docutils literal notranslate"><span class="pre">post_search</span></code></p>
|
||||
</section>
|
||||
<section id="result-hook">
|
||||
</div>
|
||||
<div class="section" id="result-hook">
|
||||
<h3>Result hook<a class="headerlink" href="#result-hook" title="Permalink to this headline">¶</a></h3>
|
||||
<p>Runs when a new result is added to the result list. Function to implement:
|
||||
<code class="docutils literal notranslate"><span class="pre">on_result</span></code></p>
|
||||
</section>
|
||||
</section>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="clearer"></div>
|
||||
|
@ -48,7 +48,7 @@
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="development-quickstart">
|
||||
<div class="section" id="development-quickstart">
|
||||
<span id="devquickstart"></span><h1>Development Quickstart<a class="headerlink" href="#development-quickstart" title="Permalink to this headline">¶</a></h1>
|
||||
<p>Searx loves developers, just clone and start hacking. All the rest is done for
|
||||
you simply by using <a class="reference internal" href="makefile.html#makefile"><span class="std std-ref">make</span></a>.</p>
|
||||
@ -82,7 +82,7 @@ to our “<a class="reference internal" href="contribution_guide.html#how-to-con
|
||||
</pre></div>
|
||||
</div>
|
||||
</div></div>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="clearer"></div>
|
||||
|
236
dev/reST.html
236
dev/reST.html
@ -47,20 +47,20 @@
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="rest-primer">
|
||||
<div class="section" id="rest-primer">
|
||||
<span id="id1"></span><h1>reST primer<a class="headerlink" href="#rest-primer" title="Permalink to this headline">¶</a></h1>
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar">
|
||||
<p class="sidebar-title"><a class="reference external" href="https://en.wikipedia.org/wiki/KISS_principle">KISS</a> and <a class="reference external" href="https://docs.python-guide.org/writing/style/">readability</a></p>
|
||||
<p>Instead of defining more and more roles, we at searx encourage our
|
||||
contributors to follow principles like <a class="reference external" href="https://en.wikipedia.org/wiki/KISS_principle">KISS</a> and <a class="reference external" href="https://docs.python-guide.org/writing/style/">readability</a>.</p>
|
||||
</aside>
|
||||
</div>
|
||||
<p>We at searx are using reStructuredText (aka <a class="reference external" href="https://docutils.sourceforge.io/rst.html">reST</a>) markup for all kind of
|
||||
documentation, with the builders from the <a class="reference external" href="https://www.sphinx-doc.org">Sphinx</a> project a HTML output is
|
||||
generated and deployed at <a class="reference external" href="https://searx.github.io/searx/.">github.io</a>. For build prerequisites read
|
||||
<a class="reference internal" href="../admin/buildhosts.html#docs-build"><span class="std std-ref">Build docs</span></a>.</p>
|
||||
<p>The source files of Searx’s documentation are located at <a class="reference external" href="https://github.com/searx/searx/blob/master/docs">git://docs</a>. Sphinx
|
||||
assumes source files to be encoded in UTF-8 by defaul. Run <a class="reference internal" href="contribution_guide.html#make-docs-live"><span class="std std-ref">make docs-live</span></a> to build HTML while editing.</p>
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar">
|
||||
<p class="sidebar-title">Further reading</p>
|
||||
<ul class="simple">
|
||||
<li><p><a class="reference external" href="https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html">Sphinx-Primer</a></p></li>
|
||||
@ -77,7 +77,7 @@ assumes source files to be encoded in UTF-8 by defaul. Run <a class="reference
|
||||
<li><p><a class="reference external" href="https://www.w3.org/TR/SVG11/expanded-toc.html">SVG</a>, <a class="reference external" href="https://www.imagemagick.org">ImageMagick</a></p></li>
|
||||
<li><p><a class="reference external" href="https://graphviz.gitlab.io/_pages/doc/info/lang.html">DOT</a>, <a class="reference external" href="https://graphviz.gitlab.io/_pages/pdf/dotguide.pdf">Graphviz’s dot</a>, <a class="reference external" href="https://graphviz.gitlab.io">Graphviz</a></p></li>
|
||||
</ul>
|
||||
</aside>
|
||||
</div>
|
||||
<div class="contents local topic" id="contents">
|
||||
<p class="topic-title">Contents</p>
|
||||
<ul class="simple">
|
||||
@ -143,17 +143,17 @@ assumes source files to be encoded in UTF-8 by defaul. Run <a class="reference
|
||||
</div>
|
||||
<p><a class="reference external" href="https://www.sphinx-doc.org">Sphinx</a> and <a class="reference external" href="https://docutils.sourceforge.io/rst.html">reST</a> have their place in the python ecosystem. Over that reST is
|
||||
used in popular projects, e.g the Linux kernel documentation <a class="reference external" href="https://www.kernel.org/doc/html/latest/doc-guide/sphinx.html">[kernel doc]</a>.</p>
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar">
|
||||
<p class="sidebar-title">Content matters</p>
|
||||
<p>The <a class="reference external" href="https://docs.python-guide.org/writing/style/">readability</a> of the reST sources has its value, therefore we recommend to
|
||||
make sparse usage of reST markup / .. content matters!</p>
|
||||
</aside>
|
||||
</div>
|
||||
<p><strong>reST</strong> is a plaintext markup language, its markup is <em>mostly</em> intuitive and
|
||||
you will not need to learn much to produce well formed articles with. I use the
|
||||
word <em>mostly</em>: like everything in live, reST has its advantages and
|
||||
disadvantages, some markups feel a bit grumpy (especially if you are used to
|
||||
other plaintext markups).</p>
|
||||
<section id="soft-skills">
|
||||
<div class="section" id="soft-skills">
|
||||
<h2><a class="toc-backref" href="#id15">Soft skills</a><a class="headerlink" href="#soft-skills" title="Permalink to this headline">¶</a></h2>
|
||||
<p>Before going any deeper into the markup let’s face on some <strong>soft skills</strong> a
|
||||
trained author brings with, to reach a well feedback from readers:</p>
|
||||
@ -180,16 +180,16 @@ If the chronological order matters, describe it. Name the <em>out-of-limits
|
||||
conditions</em> and all the side effects a external developer will not know.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
</section>
|
||||
<section id="basic-inline-markup">
|
||||
</div>
|
||||
<div class="section" id="basic-inline-markup">
|
||||
<span id="rest-inline-markup"></span><h2><a class="toc-backref" href="#id16">Basic inline markup</a><a class="headerlink" href="#basic-inline-markup" title="Permalink to this headline">¶</a></h2>
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar">
|
||||
<p class="sidebar-title">Inline markup</p>
|
||||
<ul class="simple">
|
||||
<li><p><a class="reference internal" href="#rest-roles"><span class="std std-ref">Roles</span></a></p></li>
|
||||
<li><p><a class="reference internal" href="#rest-smart-ref"><span class="std std-ref">Smart refs</span></a></p></li>
|
||||
</ul>
|
||||
</aside>
|
||||
</div>
|
||||
<p>Basic inline markup is done with asterisks and backquotes. If asterisks or
|
||||
backquotes appear in running text and could be confused with inline markup
|
||||
delimiters, they have to be escaped with a backslash (<code class="docutils literal notranslate"><span class="pre">\*pointer</span></code>).</p>
|
||||
@ -225,12 +225,12 @@ delimiters, they have to be escaped with a backslash (<code class="docutils lite
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<section id="basic-article-structure">
|
||||
</div>
|
||||
<div class="section" id="basic-article-structure">
|
||||
<span id="rest-basic-structure"></span><h2><a class="toc-backref" href="#id17">Basic article structure</a><a class="headerlink" href="#basic-article-structure" title="Permalink to this headline">¶</a></h2>
|
||||
<p>The basic structure of an article makes use of heading adornments to markup
|
||||
chapter, sections and subsections.</p>
|
||||
<section id="rest-template">
|
||||
<div class="section" id="rest-template">
|
||||
<span id="id2"></span><h3><a class="toc-backref" href="#id18">reST template</a><a class="headerlink" href="#rest-template" title="Permalink to this headline">¶</a></h3>
|
||||
<p>reST template for an simple article:</p>
|
||||
<div class="highlight-reST notranslate"><div class="highlight"><pre><span></span><span class="p">..</span> <span class="nt">_doc refname:</span>
|
||||
@ -265,8 +265,8 @@ lorem ..
|
||||
lorem ..
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="headings">
|
||||
</div>
|
||||
<div class="section" id="headings">
|
||||
<h3><a class="toc-backref" href="#id19">Headings</a><a class="headerlink" href="#headings" title="Permalink to this headline">¶</a></h3>
|
||||
<ol class="arabic simple">
|
||||
<li><p>title - with overline for document title:</p></li>
|
||||
@ -300,11 +300,11 @@ lorem ..
|
||||
</div>
|
||||
</li>
|
||||
</ol>
|
||||
</section>
|
||||
</section>
|
||||
<section id="anchors-links">
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="anchors-links">
|
||||
<h2><a class="toc-backref" href="#id20">Anchors & Links</a><a class="headerlink" href="#anchors-links" title="Permalink to this headline">¶</a></h2>
|
||||
<section id="anchors">
|
||||
<div class="section" id="anchors">
|
||||
<span id="rest-anchor"></span><h3><a class="toc-backref" href="#id21">Anchors</a><a class="headerlink" href="#anchors" title="Permalink to this headline">¶</a></h3>
|
||||
<p>To refer a point in the documentation a anchor is needed. The <a class="reference internal" href="#rest-template"><span class="std std-ref">reST
|
||||
template</span></a> shows an example where a chapter titled <em>“Chapters”</em>
|
||||
@ -328,8 +328,8 @@ bar <reST anchor>`.
|
||||
<p>Visist chapter <a class="reference internal" href="#rest-anchor"><span class="std std-ref">Anchors</span></a>. Or set hyperlink text manualy <a class="reference internal" href="#rest-anchor"><span class="std std-ref">foo
|
||||
bar</span></a>.</p>
|
||||
</div>
|
||||
</section>
|
||||
<section id="link-ordinary-url">
|
||||
</div>
|
||||
<div class="section" id="link-ordinary-url">
|
||||
<span id="rest-ordinary-ref"></span><h3><a class="toc-backref" href="#id22">Link ordinary URL</a><a class="headerlink" href="#link-ordinary-url" title="Permalink to this headline">¶</a></h3>
|
||||
<p>If you need to reference external URLs use <em>named</em> hyperlinks to maintain
|
||||
readability of reST sources. Here is a example taken from <em>this</em> article:</p>
|
||||
@ -351,8 +351,8 @@ readable.</p>
|
||||
<p>And this shows the alternative (less readable) hyperlink markup <a class="reference external" href="https://www.sphinx-doc.org/en/master/usage/restructuredtext/field-lists.html">Sphinx Field
|
||||
Lists</a>.</p>
|
||||
</div>
|
||||
</section>
|
||||
<section id="smart-refs">
|
||||
</div>
|
||||
<div class="section" id="smart-refs">
|
||||
<span id="rest-smart-ref"></span><h3><a class="toc-backref" href="#id23">Smart refs</a><a class="headerlink" href="#smart-refs" title="Permalink to this headline">¶</a></h3>
|
||||
<p>With the power of <a class="reference external" href="https://www.sphinx-doc.org/en/master/usage/extensions/extlinks.html">sphinx.ext.extlinks</a> and <a class="reference external" href="https://www.sphinx-doc.org/en/stable/ext/intersphinx.html">intersphinx</a> referencing external
|
||||
content becomes smart.</p>
|
||||
@ -445,15 +445,15 @@ $ python -m sphinx.ext.intersphinx https://searx.github.io/searx/objects.inv
|
||||
...
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
<section id="literal-blocks">
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="literal-blocks">
|
||||
<h2><a class="toc-backref" href="#id24">Literal blocks</a><a class="headerlink" href="#literal-blocks" title="Permalink to this headline">¶</a></h2>
|
||||
<p>The simplest form of <a class="reference external" href="https://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#literal-blocks">literal-blocks</a> is a indented block introduced by
|
||||
two colons (<code class="docutils literal notranslate"><span class="pre">::</span></code>). For highlighting use <a class="reference external" href="https://docutils.sourceforge.net/docs/ref/rst/directives.html#highlight">highlight</a> or <a class="reference internal" href="#rest-code"><span class="std std-ref">code-block</span></a> directive. To include literals from external files use
|
||||
<a class="reference external" href="https://www.sphinx-doc.org/en/master/usage/restructuredtext/directives.html#directive-literalinclude" title="(in Sphinx v4.0.0+)"><code class="xref rst rst-dir docutils literal notranslate"><span class="pre">literalinclude</span></code></a> or <a class="reference external" href="https://return42.github.io/linuxdoc/linuxdoc-howto/kernel-include-directive.html#kernel-include-directive" title="(in LinuxDoc v20210324)"><span class="xref std std-ref">kernel-include</span></a>
|
||||
directive (latter one expands environment variables in the path name).</p>
|
||||
<section id="rest-literal">
|
||||
<div class="section" id="rest-literal">
|
||||
<span id="id3"></span><h3><a class="toc-backref" href="#id25"><code class="docutils literal notranslate"><span class="pre">::</span></code></a><a class="headerlink" href="#rest-literal" title="Permalink to this headline">¶</a></h3>
|
||||
<div class="highlight-reST notranslate"><div class="highlight"><pre><span></span><span class="se">::</span>
|
||||
|
||||
@ -484,13 +484,13 @@ eirmod tempor invidunt ut labore</p>
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="code-block">
|
||||
</div>
|
||||
<div class="section" id="code-block">
|
||||
<span id="rest-code"></span><h3><a class="toc-backref" href="#id26"><code class="docutils literal notranslate"><span class="pre">code-block</span></code></a><a class="headerlink" href="#code-block" title="Permalink to this headline">¶</a></h3>
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar">
|
||||
<p class="sidebar-title">Syntax highlighting</p>
|
||||
<p>is handled by <a class="reference external" href="https://pygments.org/languages/">pygments</a>.</p>
|
||||
</aside>
|
||||
</div>
|
||||
<p>The <a class="reference external" href="https://www.sphinx-doc.org/en/master/usage/restructuredtext/directives.html#directive-code-block" title="(in Sphinx v4.0.0+)"><code class="xref rst rst-dir docutils literal notranslate"><span class="pre">code-block</span></code></a> directive is a variant of the <a class="reference external" href="https://docutils.sourceforge.net/docs/ref/rst/directives.html#code">code</a> directive
|
||||
with additional options. To learn more about code literals visit
|
||||
<a class="reference external" href="https://www.sphinx-doc.org/en/master/usage/restructuredtext/directives.html#code-examples" title="(in Sphinx v4.0.0+)"><span>Showing code examples</span></a>.</p>
|
||||
@ -528,9 +528,9 @@ with additional options. To learn more about code literals visit
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
<section id="unicode-substitution">
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="unicode-substitution">
|
||||
<h2><a class="toc-backref" href="#id27">Unicode substitution</a><a class="headerlink" href="#unicode-substitution" title="Permalink to this headline">¶</a></h2>
|
||||
<p>The <a class="reference external" href="https://docutils.sourceforge.net/docs/ref/rst/directives.html#unicode-character-codes">unicode directive</a> converts Unicode
|
||||
character codes (numerical values) to characters. This directive can only be
|
||||
@ -545,16 +545,16 @@ Trademark |(TM)| and copyright |copy| glyphs.
|
||||
<p class="admonition-title">Unicode</p>
|
||||
<p>Trademark ™ and copyright © glyphs.</p>
|
||||
</div>
|
||||
</section>
|
||||
<section id="roles">
|
||||
</div>
|
||||
<div class="section" id="roles">
|
||||
<span id="rest-roles"></span><h2><a class="toc-backref" href="#id28">Roles</a><a class="headerlink" href="#roles" title="Permalink to this headline">¶</a></h2>
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar">
|
||||
<p class="sidebar-title">Further reading</p>
|
||||
<ul class="simple">
|
||||
<li><p><a class="reference external" href="https://www.sphinx-doc.org/en/master/usage/restructuredtext/roles.html">Sphinx Roles</a></p></li>
|
||||
<li><p><a class="reference external" href="https://www.sphinx-doc.org/en/master/usage/restructuredtext/domains.html" title="(in Sphinx v4.0.0+)"><span>Domains</span></a></p></li>
|
||||
</ul>
|
||||
</aside>
|
||||
</div>
|
||||
<p>A <em>custom interpreted text role</em> (<a class="reference external" href="https://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#roles">ref</a>) is an inline piece of
|
||||
explicit markup. It signifies that that the enclosed text should be interpreted
|
||||
in a specific way.</p>
|
||||
@ -631,15 +631,15 @@ in a specific way.</p>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<section id="figures-images">
|
||||
</div>
|
||||
<div class="section" id="figures-images">
|
||||
<h2><a class="toc-backref" href="#id29">Figures & Images</a><a class="headerlink" href="#figures-images" title="Permalink to this headline">¶</a></h2>
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar">
|
||||
<p class="sidebar-title">Image processing</p>
|
||||
<p>With the directives from <a class="reference external" href="https://return42.github.io/linuxdoc/linuxdoc-howto/kfigure.html#kfigure" title="(in LinuxDoc v20210324)"><span class="xref std std-ref">linuxdoc</span></a> the build process
|
||||
is flexible. To get best results in the generated output format, install
|
||||
<a class="reference external" href="https://www.imagemagick.org">ImageMagick</a> and <a class="reference external" href="https://graphviz.gitlab.io">Graphviz</a>.</p>
|
||||
</aside>
|
||||
</div>
|
||||
<p>Searx’s sphinx setup includes: <a class="reference external" href="https://return42.github.io/linuxdoc/linuxdoc-howto/kfigure.html#kfigure" title="(in LinuxDoc v20210324)"><span>Scalable figure and image handling</span></a>. Scaleable here means;
|
||||
scaleable in sense of the build process. Normally in absence of a converter
|
||||
tool, the build process will break. From the authors POV it’s annoying to care
|
||||
@ -660,13 +660,11 @@ directives. E.g. to insert a figure with a scaleable image format use SVG
|
||||
To refer the figure, a caption block is needed: <span class="na">:ref:</span><span class="nv">`svg image example`</span>.
|
||||
</pre></div>
|
||||
</div>
|
||||
<figure class="align-default" id="id7">
|
||||
<img alt="SVG image example" src="../_images/svg_image.svg" /><figcaption>
|
||||
<p><span class="caption-number">Fig. 2 </span><span class="caption-text">Simple SVG image.</span><a class="headerlink" href="#id7" title="Permalink to this image">¶</a></p>
|
||||
</figcaption>
|
||||
</figure>
|
||||
<div class="figure align-default" id="id7">
|
||||
<img alt="SVG image example" src="../_images/svg_image.svg" /><p class="caption"><span class="caption-number">Fig. 2 </span><span class="caption-text">Simple SVG image.</span><a class="headerlink" href="#id7" title="Permalink to this image">¶</a></p>
|
||||
</div>
|
||||
<p>To refer the figure, a caption block is needed: <a class="reference internal" href="#svg-image-example"><span class="std std-ref">Simple SVG image.</span></a>.</p>
|
||||
<section id="dot-files-aka-graphviz">
|
||||
<div class="section" id="dot-files-aka-graphviz">
|
||||
<h3><a class="toc-backref" href="#id30">DOT files (aka Graphviz)</a><a class="headerlink" href="#dot-files-aka-graphviz" title="Permalink to this headline">¶</a></h3>
|
||||
<p>With <a class="reference external" href="https://return42.github.io/linuxdoc/linuxdoc-howto/kfigure.html#kernel-figure" title="(in LinuxDoc v20210324)"><span>kernel-figure & kernel-image</span></a> reST support for <strong>DOT</strong> formatted files is
|
||||
given.</p>
|
||||
@ -686,14 +684,12 @@ given.</p>
|
||||
</div>
|
||||
<div class="rst-example admonition">
|
||||
<p class="admonition-title">hello.dot</p>
|
||||
<figure class="align-default" id="id8">
|
||||
<img alt="hello world" src="../_images/hello.svg" /><figcaption>
|
||||
<p><span class="caption-number">Fig. 3 </span><span class="caption-text">DOT’s hello world example</span><a class="headerlink" href="#id8" title="Permalink to this image">¶</a></p>
|
||||
</figcaption>
|
||||
</figure>
|
||||
<div class="figure align-default" id="id8">
|
||||
<img alt="hello world" src="../_images/hello.svg" /><p class="caption"><span class="caption-number">Fig. 3 </span><span class="caption-text">DOT’s hello world example</span><a class="headerlink" href="#id8" title="Permalink to this image">¶</a></p>
|
||||
</div>
|
||||
</section>
|
||||
<section id="kernel-render-dot">
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="kernel-render-dot">
|
||||
<h3><a class="toc-backref" href="#id31"><code class="docutils literal notranslate"><span class="pre">kernel-render</span></code> DOT</a><a class="headerlink" href="#kernel-render-dot" title="Permalink to this headline">¶</a></h3>
|
||||
<p>Embed <em>render</em> markups (or languages) like Graphviz’s <strong>DOT</strong> is provided by the
|
||||
<a class="reference external" href="https://return42.github.io/linuxdoc/linuxdoc-howto/kfigure.html#kernel-render" title="(in LinuxDoc v20210324)"><span>kernel-render</span></a> directive. A simple example of embedded <a class="reference external" href="https://graphviz.gitlab.io/_pages/doc/info/lang.html">DOT</a> is
|
||||
@ -717,15 +713,13 @@ installed, you will see an vector image. If not, the raw markup is inserted as
|
||||
<em>literal-block</em>.</p>
|
||||
<div class="rst-example admonition">
|
||||
<p class="admonition-title">kernel-render DOT</p>
|
||||
<figure class="align-default" id="id9">
|
||||
<span id="dot-render-example"></span><img alt="digraph" src="../_images/DOT-57a4a7f78690d0b6b884bc59f36e84cfb0b61f76.svg" /><figcaption>
|
||||
<p><span class="caption-number">Fig. 4 </span><span class="caption-text">Embedded DOT (Graphviz) code</span><a class="headerlink" href="#id9" title="Permalink to this image">¶</a></p>
|
||||
</figcaption>
|
||||
</figure>
|
||||
<div class="figure align-default" id="id9">
|
||||
<span id="dot-render-example"></span><img alt="digraph" src="../_images/DOT-57a4a7f78690d0b6b884bc59f36e84cfb0b61f76.svg" /><p class="caption"><span class="caption-number">Fig. 4 </span><span class="caption-text">Embedded DOT (Graphviz) code</span><a class="headerlink" href="#id9" title="Permalink to this image">¶</a></p>
|
||||
</div>
|
||||
<p>Attribute <code class="docutils literal notranslate"><span class="pre">caption</span></code> is needed, if you want to refer the figure: <a class="reference internal" href="#dot-render-example"><span class="std std-ref">Embedded DOT (Graphviz) code</span></a>.</p>
|
||||
</div>
|
||||
</section>
|
||||
<section id="kernel-render-svg">
|
||||
</div>
|
||||
<div class="section" id="kernel-render-svg">
|
||||
<h3><a class="toc-backref" href="#id32"><code class="docutils literal notranslate"><span class="pre">kernel-render</span></code> SVG</a><a class="headerlink" href="#kernel-render-svg" title="Permalink to this headline">¶</a></h3>
|
||||
<p>A simple example of embedded <a class="reference external" href="https://www.w3.org/TR/SVG11/expanded-toc.html">SVG</a> is shown in figure <a class="reference internal" href="#svg-render-example"><span class="std std-ref">Embedded SVG markup</span></a>:</p>
|
||||
<div class="highlight-reST notranslate"><div class="highlight"><pre><span></span><span class="p">..</span> <span class="nt">_svg render example:</span>
|
||||
@ -754,17 +748,15 @@ installed, you will see an vector image. If not, the raw markup is inserted as
|
||||
</div></blockquote>
|
||||
<div class="rst-example admonition">
|
||||
<p class="admonition-title">kernel-render SVG</p>
|
||||
<figure class="align-default" id="id10">
|
||||
<span id="svg-render-example"></span><img alt="so-nw-arrow" src="../_images/SVG-1fb7029fa2cc454a267bae271cccb2c591387416.svg" /><figcaption>
|
||||
<p><span class="caption-number">Fig. 5 </span><span class="caption-text">Embedded <strong>SVG</strong> markup</span><a class="headerlink" href="#id10" title="Permalink to this image">¶</a></p>
|
||||
</figcaption>
|
||||
</figure>
|
||||
<div class="figure align-default" id="id10">
|
||||
<span id="svg-render-example"></span><img alt="so-nw-arrow" src="../_images/SVG-1fb7029fa2cc454a267bae271cccb2c591387416.svg" /><p class="caption"><span class="caption-number">Fig. 5 </span><span class="caption-text">Embedded <strong>SVG</strong> markup</span><a class="headerlink" href="#id10" title="Permalink to this image">¶</a></p>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
<section id="list-markups">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="list-markups">
|
||||
<span id="rest-lists"></span><h2><a class="toc-backref" href="#id33">List markups</a><a class="headerlink" href="#list-markups" title="Permalink to this headline">¶</a></h2>
|
||||
<section id="bullet-list">
|
||||
<div class="section" id="bullet-list">
|
||||
<h3><a class="toc-backref" href="#id34">Bullet list</a><a class="headerlink" href="#bullet-list" title="Permalink to this headline">¶</a></h3>
|
||||
<p>List markup (<a class="reference external" href="https://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#bullet-lists">ref</a>) is simple:</p>
|
||||
<div class="highlight-reST notranslate"><div class="highlight"><pre><span></span><span class="m">-</span> This is a bulleted list.
|
||||
@ -798,8 +790,8 @@ item uses two lines.</p></li>
|
||||
<li><p>It has two items too.</p></li>
|
||||
</ol>
|
||||
</div>
|
||||
</section>
|
||||
<section id="horizontal-list">
|
||||
</div>
|
||||
<div class="section" id="horizontal-list">
|
||||
<h3><a class="toc-backref" href="#id35">Horizontal list</a><a class="headerlink" href="#horizontal-list" title="Permalink to this headline">¶</a></h3>
|
||||
<p>The <a class="reference external" href="https://www.sphinx-doc.org/en/master/usage/restructuredtext/directives.html#directive-hlist" title="(in Sphinx v4.0.0+)"><code class="xref rst rst-dir docutils literal notranslate"><span class="pre">..</span> <span class="pre">hlist::</span></code></a> transforms a bullet list into a more compact
|
||||
list.</p>
|
||||
@ -826,10 +818,10 @@ list.</p>
|
||||
</ul>
|
||||
</td></tr></table>
|
||||
</div>
|
||||
</section>
|
||||
<section id="definition-list">
|
||||
</div>
|
||||
<div class="section" id="definition-list">
|
||||
<h3><a class="toc-backref" href="#id36">Definition list</a><a class="headerlink" href="#definition-list" title="Permalink to this headline">¶</a></h3>
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar">
|
||||
<p class="sidebar-title">Note ..</p>
|
||||
<ul class="simple">
|
||||
<li><p>the term cannot have more than one line of text</p></li>
|
||||
@ -837,7 +829,7 @@ list.</p>
|
||||
distinguishes definition lists (<a class="reference external" href="https://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#definition-lists">ref</a>) from block
|
||||
quotes (<a class="reference external" href="https://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#block-quotes">ref</a>).</p></li>
|
||||
</ul>
|
||||
</aside>
|
||||
</div>
|
||||
<p>Each definition list (<a class="reference external" href="https://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#definition-lists">ref</a>) item contains a term,
|
||||
optional classifiers and a definition. A term is a simple one-line word or
|
||||
phrase. Optional classifiers may follow the term on the same line, each after
|
||||
@ -890,8 +882,8 @@ the line above and this paragraph. That’s why this paragraph is taken as
|
||||
</dl>
|
||||
<p>term 4 : classifier one : classifier two</p>
|
||||
</div>
|
||||
</section>
|
||||
<section id="quoted-paragraphs">
|
||||
</div>
|
||||
<div class="section" id="quoted-paragraphs">
|
||||
<h3><a class="toc-backref" href="#id37">Quoted paragraphs</a><a class="headerlink" href="#quoted-paragraphs" title="Permalink to this headline">¶</a></h3>
|
||||
<p>Quoted paragraphs (<a class="reference external" href="https://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#block-quotes">ref</a>) are created by just indenting
|
||||
them more than the surrounding paragraphs. Line blocks (<a class="reference external" href="https://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#line-blocks">ref</a>) are a way of preserving line breaks:</p>
|
||||
@ -920,13 +912,13 @@ lorem ipsum.</p>
|
||||
<div class="line">the source file.</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="field-lists">
|
||||
</div>
|
||||
<div class="section" id="field-lists">
|
||||
<span id="rest-field-list"></span><h3><a class="toc-backref" href="#id38">Field Lists</a><a class="headerlink" href="#field-lists" title="Permalink to this headline">¶</a></h3>
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar">
|
||||
<p class="sidebar-title">bibliographic fields</p>
|
||||
<p>First lines fields are bibliographic fields, see <a class="reference external" href="https://www.sphinx-doc.org/en/master/usage/restructuredtext/field-lists.html">Sphinx Field Lists</a>.</p>
|
||||
</aside>
|
||||
</div>
|
||||
<p>Field lists are used as part of an extension syntax, such as options for
|
||||
directives, or database-like records meant for further processing. Field lists
|
||||
are mappings from field names to field bodies. They marked up like this:</p>
|
||||
@ -964,8 +956,8 @@ are mappings from field names to field bodies. They marked up like this:</p>
|
||||
<span class="sd"> """</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="further-list-blocks">
|
||||
</div>
|
||||
<div class="section" id="further-list-blocks">
|
||||
<h3><a class="toc-backref" href="#id39">Further list blocks</a><a class="headerlink" href="#further-list-blocks" title="Permalink to this headline">¶</a></h3>
|
||||
<ul class="simple">
|
||||
<li><p>field lists (<a class="reference external" href="https://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#field-lists">ref</a>, with caveats noted in
|
||||
@ -974,11 +966,11 @@ are mappings from field names to field bodies. They marked up like this:</p>
|
||||
<li><p>quoted literal blocks (<a class="reference external" href="https://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#quoted-literal-blocks">ref</a>)</p></li>
|
||||
<li><p>doctest blocks (<a class="reference external" href="https://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#doctest-blocks">ref</a>)</p></li>
|
||||
</ul>
|
||||
</section>
|
||||
</section>
|
||||
<section id="admonitions">
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="admonitions">
|
||||
<h2><a class="toc-backref" href="#id40">Admonitions</a><a class="headerlink" href="#admonitions" title="Permalink to this headline">¶</a></h2>
|
||||
<section id="sidebar">
|
||||
<div class="section" id="sidebar">
|
||||
<h3><a class="toc-backref" href="#id41">Sidebar</a><a class="headerlink" href="#sidebar" title="Permalink to this headline">¶</a></h3>
|
||||
<p>Sidebar is an eye catcher, often used for admonitions pointing further stuff or
|
||||
site effects. Here is the source of the sidebar <a class="reference internal" href="#rest-primer"><span class="std std-ref">on top of this page</span></a>.</p>
|
||||
@ -988,8 +980,8 @@ site effects. Here is the source of the sidebar <a class="reference internal" h
|
||||
contributors to follow principles like KISS_ and readability_.
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="generic-admonition">
|
||||
</div>
|
||||
<div class="section" id="generic-admonition">
|
||||
<h3><a class="toc-backref" href="#id42">Generic admonition</a><a class="headerlink" href="#generic-admonition" title="Permalink to this headline">¶</a></h3>
|
||||
<p>The generic <a class="reference external" href="https://docutils.sourceforge.net/docs/ref/rst/directives.html#admonitions">admonition</a> needs a title:</p>
|
||||
<div class="highlight-reST notranslate"><div class="highlight"><pre><span></span><span class="p">..</span> <span class="ow">admonition</span><span class="p">::</span> generic admonition title
|
||||
@ -1001,8 +993,8 @@ site effects. Here is the source of the sidebar <a class="reference internal" h
|
||||
<p class="admonition-title">generic admonition title</p>
|
||||
<p>lorem ipsum ..</p>
|
||||
</div>
|
||||
</section>
|
||||
<section id="specific-admonitions">
|
||||
</div>
|
||||
<div class="section" id="specific-admonitions">
|
||||
<h3><a class="toc-backref" href="#id43">Specific admonitions</a><a class="headerlink" href="#specific-admonitions" title="Permalink to this headline">¶</a></h3>
|
||||
<p>Specific admonitions: <a class="reference external" href="https://docutils.sourceforge.net/docs/ref/rst/directives.html#hint">hint</a>, <a class="reference external" href="https://docutils.sourceforge.net/docs/ref/rst/directives.html#note">note</a>, <a class="reference external" href="https://docutils.sourceforge.net/docs/ref/rst/directives.html#tip">tip</a> <a class="reference external" href="https://docutils.sourceforge.net/docs/ref/rst/directives.html#attention">attention</a>,
|
||||
<a class="reference external" href="https://docutils.sourceforge.net/docs/ref/rst/directives.html#caution">caution</a>, <a class="reference external" href="https://docutils.sourceforge.net/docs/ref/rst/directives.html#danger">danger</a>, <a class="reference external" href="https://docutils.sourceforge.net/docs/ref/rst/directives.html#error">error</a>, , <a class="reference external" href="https://docutils.sourceforge.net/docs/ref/rst/directives.html#important">important</a>, and
|
||||
@ -1056,24 +1048,24 @@ site effects. Here is the source of the sidebar <a class="reference internal" h
|
||||
<p class="admonition-title">Warning</p>
|
||||
<p>lorem ipsum ..</p>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
<section id="tables">
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="tables">
|
||||
<h2><a class="toc-backref" href="#id44">Tables</a><a class="headerlink" href="#tables" title="Permalink to this headline">¶</a></h2>
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar">
|
||||
<p class="sidebar-title">Nested tables</p>
|
||||
<p>Nested tables are ugly! Not all builder support nested tables, don’t use
|
||||
them!</p>
|
||||
</aside>
|
||||
</div>
|
||||
<p>ASCII-art tables like <a class="reference internal" href="#rest-simple-table"><span class="std std-ref">Simple tables</span></a> and <a class="reference internal" href="#rest-grid-table"><span class="std std-ref">Grid tables</span></a> might
|
||||
be comfortable for readers of the text-files, but they have huge disadvantages
|
||||
in the creation and modifying. First, they are hard to edit. Think about
|
||||
adding a row or a column to a ASCII-art table or adding a paragraph in a cell,
|
||||
it is a nightmare on big tables.</p>
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar">
|
||||
<p class="sidebar-title">List tables</p>
|
||||
<p>For meaningful patch and diff use <a class="reference internal" href="#rest-flat-table"><span class="std std-ref">flat-table</span></a>.</p>
|
||||
</aside>
|
||||
</div>
|
||||
<p>Second the diff of modifying ASCII-art tables is not meaningful, e.g. widening a
|
||||
cell generates a diff in which also changes are included, which are only
|
||||
ascribable to the ASCII-art. Anyway, if you prefer ASCII-art for any reason,
|
||||
@ -1082,7 +1074,7 @@ here are some helpers:</p>
|
||||
<li><p><a class="reference external" href="https://www.emacswiki.org/emacs/TableMode">Emacs Table Mode</a></p></li>
|
||||
<li><p><a class="reference external" href="https://www.tablesgenerator.com/text_tables">Online Tables Generator</a></p></li>
|
||||
</ul>
|
||||
<section id="simple-tables">
|
||||
<div class="section" id="simple-tables">
|
||||
<span id="rest-simple-table"></span><h3><a class="toc-backref" href="#id45">Simple tables</a><a class="headerlink" href="#simple-tables" title="Permalink to this headline">¶</a></h3>
|
||||
<p><a class="reference external" href="https://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#simple-tables">Simple tables</a> allow <em>colspan</em> but not <em>rowspan</em>. If
|
||||
your table need some metadata (e.g. a title) you need to add the <code class="docutils literal notranslate"><span class="pre">..</span> <span class="pre">table::</span>
|
||||
@ -1143,8 +1135,8 @@ your table need some metadata (e.g. a title) you need to add the <code class="do
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
<section id="grid-tables">
|
||||
</div>
|
||||
<div class="section" id="grid-tables">
|
||||
<span id="rest-grid-table"></span><h3><a class="toc-backref" href="#id46">Grid tables</a><a class="headerlink" href="#grid-tables" title="Permalink to this headline">¶</a></h3>
|
||||
<p><a class="reference external" href="https://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#grid-tables">Grid tables</a> allow colspan <em>colspan</em> and <em>rowspan</em>:</p>
|
||||
<div class="highlight-reST notranslate"><div class="highlight"><pre><span></span><span class="p">..</span> <span class="ow">table</span><span class="p">::</span> grid table example
|
||||
@ -1201,8 +1193,8 @@ span rows.</p></td>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
<section id="flat-table">
|
||||
</div>
|
||||
<div class="section" id="flat-table">
|
||||
<span id="rest-flat-table"></span><h3><a class="toc-backref" href="#id47">flat-table</a><a class="headerlink" href="#flat-table" title="Permalink to this headline">¶</a></h3>
|
||||
<p>The <code class="docutils literal notranslate"><span class="pre">flat-table</span></code> is a further developed variant of the <a class="reference external" href="https://return42.github.io/linuxdoc/linuxdoc-howto/table-markup.html#list-table-directives" title="(in LinuxDoc v20210324)"><span class="xref std std-ref">list tables</span></a>. It is a double-stage list similar to the
|
||||
<a class="reference external" href="https://docutils.sourceforge.net/docs/ref/rst/directives.html#list-table">list-table</a> with some additional features:</p>
|
||||
@ -1353,8 +1345,8 @@ cell 2.3 with a span over</p>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
<section id="csv-table">
|
||||
</div>
|
||||
<div class="section" id="csv-table">
|
||||
<h3><a class="toc-backref" href="#id48">CSV table</a><a class="headerlink" href="#csv-table" title="Permalink to this headline">¶</a></h3>
|
||||
<p>CSV table might be the choice if you want to include CSV-data from a outstanding
|
||||
(build) process into your documentation.</p>
|
||||
@ -1408,14 +1400,14 @@ kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.</p></td>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
<section id="templating">
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="templating">
|
||||
<h2><a class="toc-backref" href="#id49">Templating</a><a class="headerlink" href="#templating" title="Permalink to this headline">¶</a></h2>
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar">
|
||||
<p class="sidebar-title">Build environment</p>
|
||||
<p>All <em>generic-doc</em> tasks are running in the <a class="reference internal" href="makefile.html#make-pyenv"><span class="std std-ref">build environment</span></a>.</p>
|
||||
</aside>
|
||||
</div>
|
||||
<p>Templating is suitable for documentation which is created generic at the build
|
||||
time. The <a class="reference external" href="https://github.com/tardyp/sphinx-jinja">sphinx-jinja</a> extension evaluates <a class="reference external" href="https://jinja.palletsprojects.com/">jinja</a> templates in the <a class="reference internal" href="makefile.html#make-pyenv"><span class="std std-ref">build
|
||||
environment</span></a> (with searx modules installed). We use this e.g. to
|
||||
@ -1477,8 +1469,8 @@ contains the <code class="docutils literal notranslate"><span class="pre">engine
|
||||
<span class="p">}</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="tabbed-views">
|
||||
</div>
|
||||
<div class="section" id="tabbed-views">
|
||||
<h2><a class="toc-backref" href="#id50">Tabbed views</a><a class="headerlink" href="#tabbed-views" title="Permalink to this headline">¶</a></h2>
|
||||
<p>With <a class="reference external" href="https://github.com/djungelorm/sphinx-tabs">sphinx-tabs</a> extension we have <em>tabbed views</em>. To provide installation
|
||||
instructions with one tab per distribution we use the <a class="reference external" href="https://github.com/djungelorm/sphinx-tabs#group-tabs">group-tabs</a> directive,
|
||||
@ -1505,17 +1497,17 @@ others are <a class="reference external" href="https://github.com/djungelorm/sph
|
||||
$ sudo dnf install ShellCheck
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="math-equations">
|
||||
</div>
|
||||
<div class="section" id="math-equations">
|
||||
<span id="math"></span><h2><a class="toc-backref" href="#id51">Math equations</a><a class="headerlink" href="#math-equations" title="Permalink to this headline">¶</a></h2>
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar">
|
||||
<p class="sidebar-title">About LaTeX</p>
|
||||
<ul class="simple">
|
||||
<li><p><a class="reference external" href="http://vesta.informatik.rwth-aachen.de/ftp/pub/mirror/ctan/macros/latex/required/amsmath/amsldoc.pdf">amsmath user guide</a></p></li>
|
||||
<li><p><a class="reference external" href="https://en.wikibooks.org/wiki/LaTeX/Mathematics">Mathematics</a></p></li>
|
||||
<li><p><a class="reference internal" href="../admin/buildhosts.html#docs-build"><span class="std std-ref">Build docs</span></a></p></li>
|
||||
</ul>
|
||||
</aside>
|
||||
</div>
|
||||
<p>The input language for mathematics is LaTeX markup using the <a class="reference external" href="https://ctan.org/pkg/amsmath">CTAN: amsmath</a>
|
||||
package.</p>
|
||||
<p>To embed LaTeX markup in reST documents, use role <a class="reference external" href="https://www.sphinx-doc.org/en/master/usage/restructuredtext/roles.html#role-math" title="(in Sphinx v4.0.0+)"><code class="xref rst rst-role docutils literal notranslate"><span class="pre">:math:</span></code></a> for
|
||||
@ -1559,8 +1551,8 @@ voluptua. …
|
||||
At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd
|
||||
gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.</p>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="clearer"></div>
|
||||
|
@ -47,22 +47,22 @@
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="search-api">
|
||||
<div class="section" id="search-api">
|
||||
<span id="id1"></span><h1>Search API<a class="headerlink" href="#search-api" title="Permalink to this headline">¶</a></h1>
|
||||
<p>The search supports both <code class="docutils literal notranslate"><span class="pre">GET</span></code> and <code class="docutils literal notranslate"><span class="pre">POST</span></code>.</p>
|
||||
<p>Furthermore, two endpoints <code class="docutils literal notranslate"><span class="pre">/</span></code> and <code class="docutils literal notranslate"><span class="pre">/search</span></code> are available for querying.</p>
|
||||
<p><code class="docutils literal notranslate"><span class="pre">GET</span> <span class="pre">/</span></code></p>
|
||||
<p><code class="docutils literal notranslate"><span class="pre">GET</span> <span class="pre">/search</span></code></p>
|
||||
<section id="parameters">
|
||||
<div class="section" id="parameters">
|
||||
<h2>Parameters<a class="headerlink" href="#parameters" title="Permalink to this headline">¶</a></h2>
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar">
|
||||
<p class="sidebar-title">Further reading ..</p>
|
||||
<ul class="simple">
|
||||
<li><p><a class="reference internal" href="engine_overview.html#engines-dev"><span class="std std-ref">Engine overview</span></a></p></li>
|
||||
<li><p><a class="reference internal" href="../admin/settings.html#settings-yml"><span class="std std-ref">settings.yml</span></a></p></li>
|
||||
<li><p><a class="reference internal" href="../admin/engines.html#engines-generic"><span class="std std-ref">General Engine Settings</span></a></p></li>
|
||||
</ul>
|
||||
</aside>
|
||||
</div>
|
||||
<dl>
|
||||
<dt><code class="docutils literal notranslate"><span class="pre">q</span></code><span class="classifier">required</span></dt><dd><p>The search query. This string is passed to external search services. Thus,
|
||||
searx supports syntax of each search service. For example, <code class="docutils literal notranslate"><span class="pre">site:github.com</span>
|
||||
@ -142,8 +142,8 @@ instance. See the available options in the preferences page of the instance.</p>
|
||||
<dt><code class="docutils literal notranslate"><span class="pre">disabled_engines</span></code><span class="classifier">optional</span><span class="classifier"><em>all</em> <a class="reference external" href="https://github.com/searx/searx/blob/master/searx/engines">engines</a></span></dt><dd><p>List of disabled engines.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
</section>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="clearer"></div>
|
||||
|
@ -47,17 +47,17 @@
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="translation">
|
||||
<div class="section" id="translation">
|
||||
<span id="id1"></span><h1>Translation<a class="headerlink" href="#translation" title="Permalink to this headline">¶</a></h1>
|
||||
<p>Translation currently takes place on <a class="reference external" href="https://www.transifex.com/asciimoo/searx/">searx@transifex</a></p>
|
||||
<section id="requirements">
|
||||
<div class="section" id="requirements">
|
||||
<h2>Requirements<a class="headerlink" href="#requirements" title="Permalink to this headline">¶</a></h2>
|
||||
<ul class="simple">
|
||||
<li><p>Transifex account</p></li>
|
||||
<li><p>Installed CLI tool of Transifex</p></li>
|
||||
</ul>
|
||||
</section>
|
||||
<section id="init-transifex-project">
|
||||
</div>
|
||||
<div class="section" id="init-transifex-project">
|
||||
<h2>Init Transifex project<a class="headerlink" href="#init-transifex-project" title="Permalink to this headline">¶</a></h2>
|
||||
<p>After installing <code class="docutils literal notranslate"><span class="pre">transifex</span></code> using pip, run the following command to
|
||||
initialize the project.</p>
|
||||
@ -81,8 +81,8 @@ into the configuration file.</p>
|
||||
--source-lang en --type PO --source-file messages.pot --execute
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="update-translations">
|
||||
</div>
|
||||
<div class="section" id="update-translations">
|
||||
<h2>Update translations<a class="headerlink" href="#update-translations" title="Permalink to this headline">¶</a></h2>
|
||||
<p>To retrieve the latest translations, pull it from Transifex.</p>
|
||||
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>tx pull -a
|
||||
@ -96,8 +96,8 @@ the <code class="docutils literal notranslate"><span class="pre">.po</span></cod
|
||||
</div>
|
||||
<p>After the compilation is finished commit the <code class="docutils literal notranslate"><span class="pre">.po</span></code> and <code class="docutils literal notranslate"><span class="pre">.mo</span></code> files and
|
||||
create a PR.</p>
|
||||
</section>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="clearer"></div>
|
||||
|
10
index.html
10
index.html
@ -42,7 +42,7 @@
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="welcome-to-searx">
|
||||
<div class="section" id="welcome-to-searx">
|
||||
<h1>Welcome to searx<a class="headerlink" href="#welcome-to-searx" title="Permalink to this headline">¶</a></h1>
|
||||
<blockquote>
|
||||
<div><p><em>Search without being tracked.</em></p>
|
||||
@ -52,7 +52,7 @@ than 70 search services. Users are neither tracked nor profiled. Additionally,
|
||||
searx can be used over Tor for online anonymity.</p>
|
||||
<p>Get started with searx by using one of the <a class="reference external" href="https://searx.space">Searx-instances</a>. If you don’t trust
|
||||
anyone, you can set up your own, see <a class="reference internal" href="admin/installation.html#installation"><span class="std std-ref">Installation</span></a>.</p>
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar">
|
||||
<p class="sidebar-title">Features</p>
|
||||
<ul class="simple">
|
||||
<li><p>Self hosted</p></li>
|
||||
@ -65,9 +65,9 @@ anyone, you can set up your own, see <a class="reference internal" href="admin/i
|
||||
<li><p>Hosted by organizations, such as <em>La Quadrature du Net</em>, which promote
|
||||
digital rights</p></li>
|
||||
</ul>
|
||||
</aside>
|
||||
</div>
|
||||
<div class="toctree-wrapper compound">
|
||||
<p><span class="caption-text">Contents</span></p>
|
||||
<p class="caption"><span class="caption-text">Contents</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="user/index.html">User documentation</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="user/search_syntax.html">Search syntax</a></li>
|
||||
@ -128,7 +128,7 @@ digital rights</p></li>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="clearer"></div>
|
||||
|
File diff suppressed because one or more lines are too long
@ -46,17 +46,17 @@
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="tooling-box-searx-extra-for-developers-and-users">
|
||||
<div class="section" id="tooling-box-searx-extra-for-developers-and-users">
|
||||
<span id="searx-extra"></span><h1>Tooling box <code class="docutils literal notranslate"><span class="pre">searx_extra</span></code> for developers and users<a class="headerlink" href="#tooling-box-searx-extra-for-developers-and-users" title="Permalink to this headline">¶</a></h1>
|
||||
<p>In the folder <a class="reference external" href="https://github.com/searx/searx/blob/master/searx_extra/">git://searx_extra/</a> we maintain some tools useful for
|
||||
developers and users.</p>
|
||||
<div class="toctree-wrapper compound">
|
||||
<p><span class="caption-text">Contents</span></p>
|
||||
<p class="caption"><span class="caption-text">Contents</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="standalone_searx.py.html"><code class="docutils literal notranslate"><span class="pre">searx_extra/standalone_searx.py</span></code></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="clearer"></div>
|
||||
|
@ -47,7 +47,7 @@
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="module-searx_extra.standalone_searx">
|
||||
<div class="section" id="module-searx_extra.standalone_searx">
|
||||
<span id="searx-extra-standalone-searx-py"></span><span id="standalone-searx-py"></span><h1><code class="docutils literal notranslate"><span class="pre">searx_extra/standalone_searx.py</span></code><a class="headerlink" href="#module-searx_extra.standalone_searx" title="Permalink to this headline">¶</a></h1>
|
||||
<p>Script to run searx from terminal.</p>
|
||||
<p>Getting categories without initiate the engine will only return <cite>[‘general’]</cite></p>
|
||||
@ -159,7 +159,7 @@
|
||||
<dd><p>Get result from parsed arguments.</p>
|
||||
</dd></dl>
|
||||
|
||||
</section>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="clearer"></div>
|
||||
|
@ -46,10 +46,10 @@
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="user-documentation">
|
||||
<div class="section" id="user-documentation">
|
||||
<h1>User documentation<a class="headerlink" href="#user-documentation" title="Permalink to this headline">¶</a></h1>
|
||||
<div class="toctree-wrapper compound">
|
||||
<p><span class="caption-text">Contents</span></p>
|
||||
<p class="caption"><span class="caption-text">Contents</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="search_syntax.html">Search syntax</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="search_syntax.html#examples">Examples</a></li>
|
||||
@ -63,7 +63,7 @@
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="clearer"></div>
|
||||
|
@ -47,7 +47,7 @@
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="why-use-a-private-instance">
|
||||
<div class="section" id="why-use-a-private-instance">
|
||||
<h1>Why use a private instance?<a class="headerlink" href="#why-use-a-private-instance" title="Permalink to this headline">¶</a></h1>
|
||||
<blockquote>
|
||||
<div><p><em>“Is it worth to run my own instance?”</em></p>
|
||||
@ -61,7 +61,7 @@ group of friends or a company which can be accessed through VPN. Also it can be
|
||||
single user one which runs on the user’s laptop.</p>
|
||||
<p>To gain more insight on how these instances work let’s dive into how searx
|
||||
protects its users.</p>
|
||||
<section id="how-does-searx-protect-privacy">
|
||||
<div class="section" id="how-does-searx-protect-privacy">
|
||||
<h2>How does searx protect privacy?<a class="headerlink" href="#how-does-searx-protect-privacy" title="Permalink to this headline">¶</a></h2>
|
||||
<p>Searx protects the privacy of its users in multiple ways regardless of the type
|
||||
of the instance (private, public). Removal of private data from search requests
|
||||
@ -83,7 +83,7 @@ configured to use proxy or Tor. <a class="reference external" href="https://git
|
||||
private data is not forwarded to third parties who might monetize it. Besides
|
||||
protecting users from search services, both referring page and search query are
|
||||
hidden from visited result pages.</p>
|
||||
<section id="what-are-the-consequences-of-using-public-instances">
|
||||
<div class="section" id="what-are-the-consequences-of-using-public-instances">
|
||||
<h3>What are the consequences of using public instances?<a class="headerlink" href="#what-are-the-consequences-of-using-public-instances" title="Permalink to this headline">¶</a></h3>
|
||||
<p>If someone uses a public instance, they have to trust the administrator of that
|
||||
instance. This means that the user of the public instance does not know whether
|
||||
@ -92,8 +92,8 @@ their requests are logged, aggregated and sent or sold to a third party.</p>
|
||||
the search service, In this case the external service in exchange returns
|
||||
CAPTCHAs or bans the IP of the instance. Thus, search requests return less
|
||||
results.</p>
|
||||
</section>
|
||||
<section id="i-see-what-about-private-instances">
|
||||
</div>
|
||||
<div class="section" id="i-see-what-about-private-instances">
|
||||
<h3>I see. What about private instances?<a class="headerlink" href="#i-see-what-about-private-instances" title="Permalink to this headline">¶</a></h3>
|
||||
<p>If users run their <a class="reference internal" href="../admin/installation.html#installation"><span class="std std-ref">own instances</span></a>, everything is in their
|
||||
control: the source code, logging settings and private data. Unknown instance
|
||||
@ -103,9 +103,9 @@ need to use cookies to tailor searx to their needs. So preferences will not be
|
||||
reset to defaults when clearing browser cookies. As settings are stored on
|
||||
their computer, it will not be accessible to others as long as their computer is
|
||||
not compromised.</p>
|
||||
</section>
|
||||
</section>
|
||||
<section id="conclusion">
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="conclusion">
|
||||
<h2>Conclusion<a class="headerlink" href="#conclusion" title="Permalink to this headline">¶</a></h2>
|
||||
<p>Always use an instance which is operated by people you trust. The privacy
|
||||
features of searx are available to users no matter what kind of instance they
|
||||
@ -114,8 +114,8 @@ use.</p>
|
||||
instances are the best choices. Additionally, public instance are making a
|
||||
world a better place, because those who cannot or do not want to run an
|
||||
instance, have access to a privacy respecting search service.</p>
|
||||
</section>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="clearer"></div>
|
||||
|
@ -47,7 +47,7 @@
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="search-syntax">
|
||||
<div class="section" id="search-syntax">
|
||||
<span id="id1"></span><h1>Search syntax<a class="headerlink" href="#search-syntax" title="Permalink to this headline">¶</a></h1>
|
||||
<p>Searx allows you to modify the default categories, engines and search language
|
||||
via the search query.</p>
|
||||
@ -64,7 +64,7 @@ modifiers are chainable and inclusive (e.g. with <a class="reference external" h
|
||||
<strong>and</strong> wikipedia for <code class="docutils literal notranslate"><span class="pre">qwer</span></code>).</p>
|
||||
<p>See the <a class="reference external" href="/preferences">/preferences page</a> for the list of engines,
|
||||
categories and languages.</p>
|
||||
<section id="examples">
|
||||
<div class="section" id="examples">
|
||||
<h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2>
|
||||
<p>Search in wikipedia for <code class="docutils literal notranslate"><span class="pre">qwer</span></code>:</p>
|
||||
<ul class="simple">
|
||||
@ -79,8 +79,8 @@ categories and languages.</p>
|
||||
<ul class="simple">
|
||||
<li><p><a class="reference external" href="/?q=%3Ahu%20%21wp%20hackerspace">:hu !wp hackerspace</a></p></li>
|
||||
</ul>
|
||||
</section>
|
||||
<section id="multilingual-search">
|
||||
</div>
|
||||
<div class="section" id="multilingual-search">
|
||||
<h2>Multilingual Search<a class="headerlink" href="#multilingual-search" title="Permalink to this headline">¶</a></h2>
|
||||
<p>Searx does not support true multilingual search.
|
||||
You have to use the language prefix in your search query when searching in a different language.</p>
|
||||
@ -101,8 +101,8 @@ By adding a new search engine with a different language, Searx will search in yo
|
||||
</dd>
|
||||
</dl>
|
||||
<p>When searching, the default google engine will return German results and “google english” will return English results.</p>
|
||||
</section>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="clearer"></div>
|
||||
|
@ -48,16 +48,16 @@
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="utils-filtron-sh">
|
||||
<div class="section" id="utils-filtron-sh">
|
||||
<span id="filtron-sh"></span><h1><code class="docutils literal notranslate"><span class="pre">utils/filtron.sh</span></code><a class="headerlink" href="#utils-filtron-sh" title="Permalink to this headline">¶</a></h1>
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar">
|
||||
<p class="sidebar-title">further reading</p>
|
||||
<ul class="simple">
|
||||
<li><p><a class="reference internal" href="../admin/filtron.html#searx-filtron"><span class="std std-ref">How to protect an instance</span></a></p></li>
|
||||
<li><p><a class="reference internal" href="../admin/architecture.html#architecture"><span class="std std-ref">Architecture</span></a></p></li>
|
||||
<li><p><a class="reference internal" href="../admin/installation.html#installation"><span class="std std-ref">Installation</span></a> (<a class="reference internal" href="../admin/installation-nginx.html#installation-nginx"><span class="std std-ref">nginx</span></a> & <a class="reference internal" href="../admin/installation-apache.html#installation-apache"><span class="std std-ref">apache</span></a>)</p></li>
|
||||
</ul>
|
||||
</aside>
|
||||
</div>
|
||||
<p>To simplify installation and maintenance of a filtron instance you can use the
|
||||
script <a class="reference external" href="https://github.com/searx/searx/blob/master/utils/filtron.sh">git://utils/filtron.sh</a>. In most cases you will install <a class="reference external" href="https://github.com/asciimoo/filtron">filtron</a>
|
||||
simply by running the command:</p>
|
||||
@ -75,7 +75,7 @@ into this user account:</p>
|
||||
<li><p>Setup a systemd service unit <a class="reference external" href="https://github.com/searx/searx/blob/master/utils/templates/lib/systemd/system/filtron.service">[ref]</a>
|
||||
(<code class="docutils literal notranslate"><span class="pre">/lib/systemd/system/filtron.service</span></code>).</p></li>
|
||||
</ol>
|
||||
<section id="create-user">
|
||||
<div class="section" id="create-user">
|
||||
<h2>Create user<a class="headerlink" href="#create-user" title="Permalink to this headline">¶</a></h2>
|
||||
<div class="sphinx-tabs docutils container">
|
||||
<div aria-label="Tabbed content" class="closeable" role="tablist"><button aria-controls="panel-0-YmFzaA==" aria-selected="true" class="sphinx-tabs-tab group-tab" id="tab-0-YmFzaA==" name="YmFzaA==" role="tab" tabindex="0">bash</button></div><div aria-labelledby="tab-0-YmFzaA==" class="sphinx-tabs-panel group-tab" id="panel-0-YmFzaA==" name="YmFzaA==" role="tabpanel" tabindex="0"><div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>$ sudo -H useradd --shell /bin/bash --system <span class="se">\</span>
|
||||
@ -87,8 +87,8 @@ $ sudo -H chown -R <span class="s2">"filtron:filtron"</span> <span cla
|
||||
</pre></div>
|
||||
</div>
|
||||
</div></div>
|
||||
</section>
|
||||
<section id="install-go">
|
||||
</div>
|
||||
<div class="section" id="install-go">
|
||||
<h2>Install go<a class="headerlink" href="#install-go" title="Permalink to this headline">¶</a></h2>
|
||||
<div class="sphinx-tabs docutils container">
|
||||
<div aria-label="Tabbed content" class="closeable" role="tablist"><button aria-controls="panel-1-YmFzaA==" aria-selected="true" class="sphinx-tabs-tab group-tab" id="tab-1-YmFzaA==" name="YmFzaA==" role="tab" tabindex="0">bash</button></div><div aria-labelledby="tab-1-YmFzaA==" class="sphinx-tabs-panel group-tab" id="panel-1-YmFzaA==" name="YmFzaA==" role="tabpanel" tabindex="0"><div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$ cat > <span class="s2">"/usr/local/filtron/.go_env"</span> <span class="s"><<EOF</span>
|
||||
@ -106,8 +106,8 @@ $ sudo -i -u <span class="s2">"filtron"</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</div></div>
|
||||
</section>
|
||||
<section id="install-filtron">
|
||||
</div>
|
||||
<div class="section" id="install-filtron">
|
||||
<h2>Install filtron<a class="headerlink" href="#install-filtron" title="Permalink to this headline">¶</a></h2>
|
||||
<p>Install <a class="reference external" href="https://github.com/searx/searx/blob/master/utils/templates/etc/filtron/rules.json">rules.json</a> at
|
||||
<code class="docutils literal notranslate"><span class="pre">/etc/filtron/rules.json</span></code> (see <a class="reference internal" href="../admin/filtron.html#sample-configuration-of-filtron"><span class="std std-ref">Sample configuration of filtron</span></a>) and
|
||||
@ -151,8 +151,8 @@ install filtron software and systemd unit:</p>
|
||||
</pre></div>
|
||||
</div>
|
||||
</div></div>
|
||||
</section>
|
||||
<section id="overview">
|
||||
</div>
|
||||
<div class="section" id="overview">
|
||||
<span id="filtron-sh-overview"></span><h2>Overview<a class="headerlink" href="#overview" title="Permalink to this headline">¶</a></h2>
|
||||
<p>The <code class="docutils literal notranslate"><span class="pre">--help</span></code> output of the script is largely self-explanatory
|
||||
(<a class="reference internal" href="index.html#toolboxing-common"><span class="std std-ref">Common commands & environment</span></a>):</p>
|
||||
@ -184,26 +184,26 @@ inspect service
|
||||
show service status and log
|
||||
option
|
||||
set one of the available options
|
||||
apache (http://fv-az238-705/searx)
|
||||
apache (http://fv-az224-862/searx)
|
||||
:install: apache site with a reverse proxy (ProxyPass)
|
||||
:remove: apache site searx.conf
|
||||
nginx (http://fv-az238-705/searx)
|
||||
nginx (http://fv-az224-862/searx)
|
||||
:install: nginx site with a reverse proxy (ProxyPass)
|
||||
:remove: nginx site searx.conf
|
||||
|
||||
filtron rules: /etc/filtron/rules.json
|
||||
|
||||
If needed, set PUBLIC_URL of your WEB service in the '.config.sh' file::
|
||||
PUBLIC_URL : http://fv-az238-705/searx
|
||||
PUBLIC_HOST : fv-az238-705
|
||||
PUBLIC_URL : http://fv-az224-862/searx
|
||||
PUBLIC_HOST : fv-az224-862
|
||||
SERVICE_USER : filtron
|
||||
FILTRON_TARGET : 127.0.0.1:8888
|
||||
FILTRON_API : 127.0.0.1:4005
|
||||
FILTRON_LISTEN : 127.0.0.1:4004
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="clearer"></div>
|
||||
|
@ -46,11 +46,11 @@
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="tooling-box-utils-for-administrators">
|
||||
<div class="section" id="tooling-box-utils-for-administrators">
|
||||
<span id="toolboxing"></span><span id="searx-utils"></span><h1>Tooling box <code class="docutils literal notranslate"><span class="pre">utils</span></code> for administrators<a class="headerlink" href="#tooling-box-utils-for-administrators" title="Permalink to this headline">¶</a></h1>
|
||||
<p>In the folder <a class="reference external" href="https://github.com/searx/searx/blob/master/utils/">git://utils/</a> we maintain some tools useful for administrators.</p>
|
||||
<div class="toctree-wrapper compound">
|
||||
<p><span class="caption-text">Contents</span></p>
|
||||
<p class="caption"><span class="caption-text">Contents</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="searx.sh.html"><code class="docutils literal notranslate"><span class="pre">utils/searx.sh</span></code></a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="searx.sh.html#install">Install</a></li>
|
||||
@ -81,7 +81,7 @@
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<section id="common-commands-environment">
|
||||
<div class="section" id="common-commands-environment">
|
||||
<span id="toolboxing-common"></span><h2>Common commands & environment<a class="headerlink" href="#common-commands-environment" title="Permalink to this headline">¶</a></h2>
|
||||
<p>Scripts to maintain services often dispose of common commands and environments.</p>
|
||||
<dl>
|
||||
@ -100,8 +100,8 @@ reverse proxy for filtron on all containers of the <a class="reference internal"
|
||||
</div>
|
||||
</dd>
|
||||
</dl>
|
||||
</section>
|
||||
<section id="tooling-box-setup">
|
||||
</div>
|
||||
<div class="section" id="tooling-box-setup">
|
||||
<span id="toolboxing-setup"></span><h2>Tooling box setup<a class="headerlink" href="#tooling-box-setup" title="Permalink to this headline">¶</a></h2>
|
||||
<p>The main setup is done in the <a class="reference external" href="https://github.com/searx/searx/blob/master/.config.sh">git://.config.sh</a> (read also <a class="reference internal" href="../admin/settings.html#settings-global"><span class="std std-ref">Global Settings</span></a>).</p>
|
||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1"># -*- coding: utf-8; mode: sh -*-</span>
|
||||
@ -165,8 +165,8 @@ reverse proxy for filtron on all containers of the <a class="reference internal"
|
||||
<span class="c1"># SERVICE_USER=searx</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="clearer"></div>
|
||||
|
@ -47,9 +47,9 @@
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="utils-lxc-sh">
|
||||
<div class="section" id="utils-lxc-sh">
|
||||
<span id="lxc-sh"></span><h1><code class="docutils literal notranslate"><span class="pre">utils/lxc.sh</span></code><a class="headerlink" href="#utils-lxc-sh" title="Permalink to this headline">¶</a></h1>
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar">
|
||||
<p class="sidebar-title">further reading</p>
|
||||
<ul class="simple">
|
||||
<li><p><a class="reference external" href="https://snapcraft.io">snap</a>, <a class="reference external" href="https://snapcraft.io/lxd">snapcraft LXD</a></p></li>
|
||||
@ -57,7 +57,7 @@
|
||||
<li><p><a class="reference external" href="https://uk.images.linuxcontainers.org/">LXC/LXD Image Server</a></p></li>
|
||||
<li><p><a class="reference external" href="https://github.com/lxc/lxd">LXD@github</a></p></li>
|
||||
</ul>
|
||||
</aside>
|
||||
</div>
|
||||
<p>With the use of <em>Linux Containers</em> (<a class="reference external" href="https://linuxcontainers.org/lxc/introduction/">LXC</a>) we can scale our tasks over a stack of
|
||||
containers, what we call the: <em>lxc suite</em>. The <em>searx suite</em>
|
||||
(<a class="reference external" href="https://github.com/searx/searx/blob/master/utils/lxc-searx.env">lxc-searx.env</a>) is loaded by default, every time
|
||||
@ -100,7 +100,7 @@ root@searx-ubu1804:/share/searx#
|
||||
$ sudo -H ./utils/lxc.sh remove images
|
||||
</pre></div>
|
||||
</div>
|
||||
<section id="install-suite">
|
||||
<div class="section" id="install-suite">
|
||||
<span id="lxc-sh-install-suite"></span><h2>Install suite<a class="headerlink" href="#install-suite" title="Permalink to this headline">¶</a></h2>
|
||||
<p>To install the complete <a class="reference internal" href="#lxc-searx-env"><span class="std std-ref">searx suite (includes searx, morty & filtron)</span></a> into all <a class="reference external" href="https://linuxcontainers.org/lxc/introduction/">LXC</a> use:</p>
|
||||
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>$ sudo -H ./utils/lxc.sh install suite
|
||||
@ -125,8 +125,8 @@ morty use (or alternatively use <a class="reference internal" href="../admin/ins
|
||||
sudo -H ./utils/lxc.sh cmd -- FORCE_TIMEOUT=0 ./utils/morty.sh nginx install
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="running-commands">
|
||||
</div>
|
||||
<div class="section" id="running-commands">
|
||||
<h2>Running commands<a class="headerlink" href="#running-commands" title="Permalink to this headline">¶</a></h2>
|
||||
<p><strong>Inside containers, you can use make or run scripts</strong> from the
|
||||
<a class="reference internal" href="index.html#toolboxing"><span class="std std-ref">Tooling box utils for administrators</span></a>. By example: to setup a <a class="reference internal" href="../admin/buildhosts.html#buildhosts"><span class="std std-ref">Buildhosts</span></a> and run the
|
||||
@ -135,8 +135,8 @@ Makefile target <code class="docutils literal notranslate"><span class="pre">tes
|
||||
sudo -H ./utils/lxc.sh cmd searx-archlinux make test
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="setup-searx-buildhost">
|
||||
</div>
|
||||
<div class="section" id="setup-searx-buildhost">
|
||||
<h2>Setup searx buildhost<a class="headerlink" href="#setup-searx-buildhost" title="Permalink to this headline">¶</a></h2>
|
||||
<p>You can <strong>install the searx buildhost environment</strong> into one or all containers.
|
||||
The installation procedure to set up a <a class="reference internal" href="../admin/buildhosts.html#buildhosts"><span class="std std-ref">build host</span></a> takes its
|
||||
@ -157,8 +157,8 @@ of coffee).:</p>
|
||||
[searx-archlinux] INFO: (eth0) docs-live: http://n.n.n.12:8080/
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="overview">
|
||||
</div>
|
||||
<div class="section" id="overview">
|
||||
<span id="lxc-sh-help"></span><h2>Overview<a class="headerlink" href="#overview" title="Permalink to this headline">¶</a></h2>
|
||||
<p>The <code class="docutils literal notranslate"><span class="pre">--help</span></code> output of the script is largely self-explanatory:</p>
|
||||
<div class="highlight-text notranslate"><div class="highlight"><pre><span></span>usage::
|
||||
@ -194,7 +194,7 @@ install
|
||||
:base: prepare LXC; install basic packages
|
||||
:suite: install LXC searx suite into all (or <name>) containers
|
||||
|
||||
LXC suite: searx --> http://fv-az238-705/searx
|
||||
LXC suite: searx --> http://fv-az224-862/searx
|
||||
suite includes searx, morty & filtron
|
||||
suite images:
|
||||
ubu1804 ubu2004 ubu2010 fedora33 archlinux centos7
|
||||
@ -203,8 +203,8 @@ suite containers:
|
||||
searx-centos7
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="searx-suite">
|
||||
</div>
|
||||
<div class="section" id="searx-suite">
|
||||
<span id="lxc-searx-env"></span><h2>searx suite<a class="headerlink" href="#searx-suite" title="Permalink to this headline">¶</a></h2>
|
||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1"># -*- coding: utf-8; mode: sh indent-tabs-mode: nil -*-</span>
|
||||
<span class="c1"># SPDX-License-Identifier: AGPL-3.0-or-later</span>
|
||||
@ -305,8 +305,8 @@ lxc_suite_info<span class="o">()</span> <span class="o">{</span>
|
||||
<span class="o">}</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="clearer"></div>
|
||||
|
@ -48,16 +48,16 @@
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="utils-morty-sh">
|
||||
<div class="section" id="utils-morty-sh">
|
||||
<span id="morty-sh"></span><h1><code class="docutils literal notranslate"><span class="pre">utils/morty.sh</span></code><a class="headerlink" href="#utils-morty-sh" title="Permalink to this headline">¶</a></h1>
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar">
|
||||
<p class="sidebar-title">further reading</p>
|
||||
<ul class="simple">
|
||||
<li><p><a class="reference internal" href="../admin/architecture.html#architecture"><span class="std std-ref">Architecture</span></a></p></li>
|
||||
<li><p><a class="reference internal" href="../admin/installation.html#installation"><span class="std std-ref">Installation</span></a> (<a class="reference internal" href="../admin/installation-nginx.html#installation-nginx"><span class="std std-ref">nginx</span></a> & <a class="reference internal" href="../admin/installation-apache.html#installation-apache"><span class="std std-ref">apache</span></a>)</p></li>
|
||||
<li><p><a class="reference internal" href="../admin/morty.html#searx-morty"><span class="std std-ref">How to setup result proxy</span></a></p></li>
|
||||
</ul>
|
||||
</aside>
|
||||
</div>
|
||||
<p>To simplify installation and maintenance of a <a class="reference external" href="https://github.com/asciimoo/morty">morty</a> instance you can use the
|
||||
script <a class="reference external" href="https://github.com/searx/searx/blob/master/utils/morty.sh">git://utils/morty.sh</a>. In most cases you will install <a class="reference external" href="https://github.com/asciimoo/morty">morty</a> simply by
|
||||
running the command:</p>
|
||||
@ -78,7 +78,7 @@ into this user account:</p>
|
||||
<p class="admonition-title">Hint</p>
|
||||
<p>To add morty to your searx instance read chapter <a class="reference internal" href="../admin/morty.html#searx-morty"><span class="std std-ref">How to setup result proxy</span></a>.</p>
|
||||
</div>
|
||||
<section id="create-user">
|
||||
<div class="section" id="create-user">
|
||||
<h2>Create user<a class="headerlink" href="#create-user" title="Permalink to this headline">¶</a></h2>
|
||||
<div class="sphinx-tabs docutils container">
|
||||
<div aria-label="Tabbed content" class="closeable" role="tablist"><button aria-controls="panel-0-YmFzaA==" aria-selected="true" class="sphinx-tabs-tab group-tab" id="tab-0-YmFzaA==" name="YmFzaA==" role="tab" tabindex="0">bash</button></div><div aria-labelledby="tab-0-YmFzaA==" class="sphinx-tabs-panel group-tab" id="panel-0-YmFzaA==" name="YmFzaA==" role="tabpanel" tabindex="0"><div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>$ sudo -H useradd --shell /bin/bash --system <span class="se">\</span>
|
||||
@ -90,8 +90,8 @@ $ sudo -H chown -R <span class="s2">"morty:morty"</span> <span class="
|
||||
</pre></div>
|
||||
</div>
|
||||
</div></div>
|
||||
</section>
|
||||
<section id="install-go">
|
||||
</div>
|
||||
<div class="section" id="install-go">
|
||||
<h2>Install go<a class="headerlink" href="#install-go" title="Permalink to this headline">¶</a></h2>
|
||||
<div class="sphinx-tabs docutils container">
|
||||
<div aria-label="Tabbed content" class="closeable" role="tablist"><button aria-controls="panel-1-YmFzaA==" aria-selected="true" class="sphinx-tabs-tab group-tab" id="tab-1-YmFzaA==" name="YmFzaA==" role="tab" tabindex="0">bash</button></div><div aria-labelledby="tab-1-YmFzaA==" class="sphinx-tabs-panel group-tab" id="panel-1-YmFzaA==" name="YmFzaA==" role="tabpanel" tabindex="0"><div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$ cat > <span class="s2">"/usr/local/morty/.go_env"</span> <span class="s"><<EOF</span>
|
||||
@ -109,8 +109,8 @@ $ sudo -i -u <span class="s2">"morty"</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</div></div>
|
||||
</section>
|
||||
<section id="install-morty">
|
||||
</div>
|
||||
<div class="section" id="install-morty">
|
||||
<h2>Install morty<a class="headerlink" href="#install-morty" title="Permalink to this headline">¶</a></h2>
|
||||
<p>Install morty software and systemd unit:</p>
|
||||
<div class="sphinx-tabs docutils container">
|
||||
@ -152,8 +152,8 @@ $ sudo -i -u <span class="s2">"morty"</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</div></div>
|
||||
</section>
|
||||
<section id="overview">
|
||||
</div>
|
||||
<div class="section" id="overview">
|
||||
<span id="morty-sh-overview"></span><h2>Overview<a class="headerlink" href="#overview" title="Permalink to this headline">¶</a></h2>
|
||||
<p>The <code class="docutils literal notranslate"><span class="pre">--help</span></code> output of the script is largely self-explanatory
|
||||
(<a class="reference internal" href="index.html#toolboxing-common"><span class="std std-ref">Common commands & environment</span></a>):</p>
|
||||
@ -186,28 +186,28 @@ inspect service
|
||||
option
|
||||
set one of the available options
|
||||
:new-key: set new morty key
|
||||
apache : http://fv-az238-705/morty/
|
||||
apache : http://fv-az224-862/morty/
|
||||
:install: apache site with a reverse proxy (ProxyPass)
|
||||
:remove: apache site morty.conf
|
||||
nginx (http://fv-az238-705/morty/)
|
||||
nginx (http://fv-az224-862/morty/)
|
||||
:install: nginx site with a reverse proxy (ProxyPass)
|
||||
:remove: nginx site morty.conf
|
||||
|
||||
If needed, set the environment variables in the '.config.sh' file::
|
||||
PUBLIC_URL_MORTY: http://fv-az238-705/morty/
|
||||
PUBLIC_URL_MORTY: http://fv-az224-862/morty/
|
||||
MORTY_LISTEN: 127.0.0.1:3000
|
||||
SERVICE_USER: morty
|
||||
|
||||
To activate result and image proxy in searx, edit settings.yml (read:
|
||||
https://searx.github.io/searx/admin/morty.html)::
|
||||
result_proxy:
|
||||
url : http://fv-az238-705/morty/
|
||||
url : http://fv-az224-862/morty/
|
||||
server:
|
||||
image_proxy : True
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="clearer"></div>
|
||||
|
@ -47,9 +47,9 @@
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="utils-searx-sh">
|
||||
<div class="section" id="utils-searx-sh">
|
||||
<span id="searx-sh"></span><h1><code class="docutils literal notranslate"><span class="pre">utils/searx.sh</span></code><a class="headerlink" href="#utils-searx-sh" title="Permalink to this headline">¶</a></h1>
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar">
|
||||
<p class="sidebar-title">further reading</p>
|
||||
<ul class="simple">
|
||||
<li><p><a class="reference internal" href="../admin/architecture.html#architecture"><span class="std std-ref">Architecture</span></a></p></li>
|
||||
@ -57,10 +57,10 @@
|
||||
<li><p><a class="reference internal" href="../admin/installation-nginx.html#installation-nginx"><span class="std std-ref">Install with nginx</span></a></p></li>
|
||||
<li><p><a class="reference internal" href="../admin/installation-apache.html#installation-apache"><span class="std std-ref">Install with apache</span></a></p></li>
|
||||
</ul>
|
||||
</aside>
|
||||
</div>
|
||||
<p>To simplify installation and maintenance of a searx instance you can use the
|
||||
script <a class="reference external" href="https://github.com/searx/searx/blob/master/utils/searx.sh">git://utils/searx.sh</a>.</p>
|
||||
<section id="install">
|
||||
<div class="section" id="install">
|
||||
<h2>Install<a class="headerlink" href="#install" title="Permalink to this headline">¶</a></h2>
|
||||
<p>In most cases you will install searx simply by running the command:</p>
|
||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>sudo -H ./utils/searx.sh install all
|
||||
@ -69,8 +69,8 @@ script <a class="reference external" href="https://github.com/searx/searx/blob/m
|
||||
<p>The script adds a <code class="docutils literal notranslate"><span class="pre">${SERVICE_USER}</span></code> (default:<code class="docutils literal notranslate"><span class="pre">searx</span></code>) and installs searx
|
||||
into this user account. The installation is described in chapter
|
||||
<a class="reference internal" href="../admin/installation-searx.html#installation-basic"><span class="std std-ref">Step by step installation</span></a>.</p>
|
||||
</section>
|
||||
<section id="overview">
|
||||
</div>
|
||||
<div class="section" id="overview">
|
||||
<span id="intranet-reverse-proxy"></span><h2>Overview<a class="headerlink" href="#overview" title="Permalink to this headline">¶</a></h2>
|
||||
<p>The <code class="docutils literal notranslate"><span class="pre">--help</span></code> output of the script is largely self-explanatory
|
||||
(<a class="reference internal" href="index.html#toolboxing-common"><span class="std std-ref">Common commands & environment</span></a>):</p>
|
||||
@ -113,14 +113,14 @@ apache
|
||||
searx settings: /etc/searx/settings.yml
|
||||
|
||||
If needed, set PUBLIC_URL of your WEB service in the '.config.sh' file::
|
||||
PUBLIC_URL : http://fv-az238-705/searx
|
||||
SEARX_INSTANCE_NAME : searx@fv-az238-705
|
||||
PUBLIC_URL : http://fv-az224-862/searx
|
||||
SEARX_INSTANCE_NAME : searx@fv-az224-862
|
||||
SERVICE_USER : searx
|
||||
SEARX_INTERNAL_HTTP : http://127.0.0.1:8888
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="clearer"></div>
|
||||
|
Loading…
x
Reference in New Issue
Block a user