Merge pull request #515 from return42/doc-theme

Various modification of the documentation and the theme sphinx-theme
dependabot/pip/master/sphinx-6.1.3
Markus Heiser 3 years ago committed by GitHub
commit e82e37ce6d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -1,6 +1,6 @@
[theme] [theme]
inherit = pocoo inherit = pocoo
stylesheet = searx.css stylesheet = searxng.css
[options] [options]
touch_icon = touch_icon =

@ -6,12 +6,12 @@ Architecture
.. sidebar:: Further reading .. sidebar:: Further reading
- Reverse Proxy: :ref:`Apache <apache searx site>` & :ref:`nginx <nginx searx - Reverse Proxy: :ref:`Apache <apache searxng site>` & :ref:`nginx <nginx
site>` searxng site>`
- Filtron: :ref:`searx filtron` - Filtron: :ref:`searxng filtron`
- Morty: :ref:`searx morty` - Morty: :ref:`searxng morty`
- uWSGI: :ref:`searx uwsgi` - uWSGI: :ref:`searxng uwsgi`
- Searx: :ref:`installation basic` - SearXNG: :ref:`installation basic`
Herein you will find some hints and suggestions about typical architectures of Herein you will find some hints and suggestions about typical architectures of
SearXNG infrastructures. SearXNG infrastructures.

@ -94,7 +94,7 @@ Global Settings
port: 8888 port: 8888
bind_address: "127.0.0.1" # address to listen on bind_address: "127.0.0.1" # address to listen on
secret_key: "ultrasecretkey" # change this! secret_key: "ultrasecretkey" # change this!
image_proxy: false # proxying image results through searx image_proxy: false # proxying image results through SearXNG
default_locale: "" # default interface locale default_locale: "" # default interface locale
default_theme: oscar # ui theme default_theme: oscar # ui theme
default_http_headers: default_http_headers:
@ -293,7 +293,7 @@ engine is shown. Most of the options have a default value or even are optional.
``timeout`` : optional ``timeout`` : optional
Timeout of the search with the current search engine. **Be careful, it will Timeout of the search with the current search engine. **Be careful, it will
modify the global timeout of searx.** modify the global timeout of SearXNG.**
``api_key`` : optional ``api_key`` : optional
In a few cases, using an API needs the use of a secret key. How to obtain them In a few cases, using an API needs the use of a secret key. How to obtain them

@ -127,7 +127,7 @@ find an example configuration below:
- name: my_database - name: my_database
engine: postgresql engine: postgresql
database: my_database database: my_database
username: searx username: searxng
password: password password: password
query_str: 'SELECT * from my_table WHERE my_column = %(query)s' query_str: 'SELECT * from my_table WHERE my_column = %(query)s'
@ -155,7 +155,7 @@ example configuration for quering a MySQL server:
- name: my_database - name: my_database
engine: mysql_server engine: mysql_server
database: my_database database: my_database
username: searx username: searxng
password: password password: password
limit: 5 limit: 5
query_str: 'SELECT * from my_table WHERE my_column=%(query)s' query_str: 'SELECT * from my_table WHERE my_column=%(query)s'

@ -1,5 +1,5 @@
.. _searx filtron: .. _searxng filtron:
========================== ==========================
How to protect an instance How to protect an instance
@ -8,7 +8,7 @@ How to protect an instance
.. sidebar:: further reading .. sidebar:: further reading
- :ref:`filtron.sh` - :ref:`filtron.sh`
- :ref:`nginx searx site` - :ref:`nginx searxng site`
.. contents:: Contents .. contents:: Contents
@ -19,7 +19,7 @@ How to protect an instance
.. _filtron: https://github.com/asciimoo/filtron .. _filtron: https://github.com/asciimoo/filtron
SearXNG depends on external search services. To avoid the abuse of these services SearXNG depends on external search services. To avoid the abuse of these services
it is advised to limit the number of requests processed by searx. it is advised to limit the number of requests processed by SearXNG.
An application firewall, filtron_ solves exactly this problem. Filtron is just An application firewall, filtron_ solves exactly this problem. Filtron is just
a middleware between your web server (nginx, apache, ...) and searx, we describe a middleware between your web server (nginx, apache, ...) and searx, we describe
@ -188,4 +188,4 @@ Use it along with ``nginx`` with the following example configuration.
Requests are coming from port 4004 going through filtron and then forwarded to Requests are coming from port 4004 going through filtron and then forwarded to
port 8888 where a SearXNG is being run. For a complete setup see: :ref:`nginx port 8888 where a SearXNG is being run. For a complete setup see: :ref:`nginx
searx site`. searxng site`.

@ -7,12 +7,12 @@ Administrator documentation
:caption: Contents :caption: Contents
installation installation
installation-searx installation-searxng
installation-uwsgi installation-uwsgi
installation-nginx installation-nginx
installation-apache installation-apache
installation-docker installation-docker
update-searx update-searxng
engines/index engines/index
api api
architecture architecture

@ -47,13 +47,13 @@ Install with apache
---- ----
**Install** :ref:`apache searx site` using :ref:`filtron.sh <filtron.sh overview>` **Install** :ref:`apache searxng site` using :ref:`filtron.sh <filtron.sh overview>`
.. code:: bash .. code:: bash
$ sudo -H ./utils/filtron.sh apache install $ sudo -H ./utils/filtron.sh apache install
**Install** :ref:`apache searx site` using :ref:`morty.sh <morty.sh overview>` **Install** :ref:`apache searxng site` using :ref:`morty.sh <morty.sh overview>`
.. code:: bash .. code:: bash
@ -163,7 +163,7 @@ How this default intro site is configured, depends on the linux distribution
less /etc/httpd/conf.d/welcome.conf less /etc/httpd/conf.d/welcome.conf
.. _apache searx site: .. _apache searxng site:
Apache Reverse Proxy Apache Reverse Proxy
==================== ====================
@ -192,14 +192,14 @@ except in :ref:`The Debian Layout`.
sudo -H a2enmod proxy sudo -H a2enmod proxy
sudo -H a2enmod proxy_http sudo -H a2enmod proxy_http
In :ref:`The Debian Layout` you create a ``searx.conf`` with the In :ref:`The Debian Layout` you create a ``searxng.conf`` with the
``<Location /searx >`` directive and save this file in the *sites ``<Location /searx >`` directive and save this file in the *sites
available* folder at ``/etc/apache2/sites-available``. To enable the available* folder at ``/etc/apache2/sites-available``. To enable the
``searx.conf`` use :man:`a2ensite`: ``searxng.conf`` use :man:`a2ensite`:
.. code:: sh .. code:: sh
sudo -H a2ensite searx.conf sudo -H a2ensite searxng.conf
.. group-tab:: Arch Linux .. group-tab:: Arch Linux
@ -230,7 +230,7 @@ except in :ref:`The Debian Layout`.
With ProxyPreserveHost_ the incoming Host HTTP request header is passed to the With ProxyPreserveHost_ the incoming Host HTTP request header is passed to the
proxied host. proxied host.
.. _apache searx via filtron plus morty: .. _apache searxng via filtron plus morty:
.. tabs:: .. tabs::
@ -262,7 +262,7 @@ proxied host.
</Location> </Location>
2. Configure reverse proxy for :ref:`morty <searx morty>`, listening on 2. Configure reverse proxy for :ref:`morty <searxng morty>`, listening on
*localhost 3000* *localhost 3000*
.. code:: apache .. code:: apache
@ -286,7 +286,7 @@ proxied host.
</Location> </Location>
For a fully result proxification add :ref:`morty's <searx morty>` **public For a fully result proxification add :ref:`morty's <searxng morty>` **public
URL** to your :origin:`searx/settings.yml`: URL** to your :origin:`searx/settings.yml`:
.. code:: yaml .. code:: yaml
@ -302,10 +302,10 @@ proxied host.
uWSGI support uWSGI support
============= =============
Be warned, with this setup, your instance isn't :ref:`protected <searx Be warned, with this setup, your instance isn't :ref:`protected <searxng
filtron>`, nevertheless it is good enough for intranet usage. In modern Linux filtron>`, nevertheless it is good enough for intranet usage. In modern Linux
distributions, the `mod_proxy_uwsgi`_ is compiled into the *normal* apache distributions, the `mod_proxy_uwsgi`_ is compiled into the *normal* apache
package and you need to install only the :ref:`uWSGI <searx uwsgi>` package: package and you need to install only the :ref:`uWSGI <searxng uwsgi>` package:
.. tabs:: .. tabs::
@ -337,7 +337,7 @@ For socket communication, you have to activate ``socket =
/run/uwsgi/app/searx/socket`` and comment out the ``http = 127.0.0.1:8888`` /run/uwsgi/app/searx/socket`` and comment out the ``http = 127.0.0.1:8888``
configuration in your :ref:`uwsgi ini file <uwsgi configuration>`. If not configuration in your :ref:`uwsgi ini file <uwsgi configuration>`. If not
already exists, create a folder for the unix sockets, which can be used by the already exists, create a folder for the unix sockets, which can be used by the
searx account (see :ref:`create searx user`): SearXNG account (see :ref:`create searxng user`):
.. code:: bash .. code:: bash

@ -25,8 +25,8 @@ Docker installation
If you intend to create a public instance using Docker, use our well If you intend to create a public instance using Docker, use our well
maintained searxng-docker_ image which includes maintained searxng-docker_ image which includes
- :ref:`protection <searx filtron>` `[filtron]`_, - :ref:`protection <searxng filtron>` `[filtron]`_,
- a :ref:`result proxy <searx morty>` `[morty]`_ and - a :ref:`result proxy <searxng morty>` `[morty]`_ and
- a HTTPS reverse proxy `[caddy]`_. - a HTTPS reverse proxy `[caddy]`_.
Make sure you have `installed Docker <https://docs.docker.com/get-docker/>`_ and Make sure you have `installed Docker <https://docs.docker.com/get-docker/>`_ and

@ -34,13 +34,13 @@ Install with nginx
---- ----
**Install** :ref:`nginx searx site` using :ref:`filtron.sh <filtron.sh overview>` **Install** :ref:`nginx searxng site` using :ref:`filtron.sh <filtron.sh overview>`
.. code:: bash .. code:: bash
$ sudo -H ./utils/filtron.sh nginx install $ sudo -H ./utils/filtron.sh nginx install
**Install** :ref:`nginx searx site` using :ref:`morty.sh <morty.sh overview>` **Install** :ref:`nginx searxng site` using :ref:`morty.sh <morty.sh overview>`
.. code:: bash .. code:: bash
@ -126,7 +126,7 @@ depends on the linux distribution:
include /etc/nginx/conf.d/*.conf; include /etc/nginx/conf.d/*.conf;
.. _nginx searx site: .. _nginx searxng site:
A nginx SearXNG site A nginx SearXNG site
==================== ====================
@ -163,7 +163,7 @@ Started wiki`_ is always a good resource *to keep in the pocket*.
Create configuration at ``/etc/nginx/conf.d/searxng`` and place a Create configuration at ``/etc/nginx/conf.d/searxng`` and place a
symlink to sites-enabled: symlink to sites-enabled:
.. _nginx searx via filtron plus morty: .. _nginx searxng via filtron plus morty:
.. tabs:: .. tabs::
@ -195,7 +195,7 @@ Started wiki`_ is always a good resource *to keep in the pocket*.
} }
2. Configure reverse proxy for :ref:`morty <searx morty>`, listening on 2. Configure reverse proxy for :ref:`morty <searxng morty>`, listening on
*localhost 3000*: *localhost 3000*:
.. code:: nginx .. code:: nginx
@ -212,7 +212,7 @@ Started wiki`_ is always a good resource *to keep in the pocket*.
proxy_set_header X-Scheme $scheme; proxy_set_header X-Scheme $scheme;
} }
For a fully result proxification add :ref:`morty's <searx morty>` **public For a fully result proxification add :ref:`morty's <searxng morty>` **public
URL** to your :origin:`searx/settings.yml`: URL** to your :origin:`searx/settings.yml`:
.. code:: yaml .. code:: yaml
@ -228,7 +228,7 @@ Started wiki`_ is always a good resource *to keep in the pocket*.
.. group-tab:: proxy or uWSGI .. group-tab:: proxy or uWSGI
Be warned, with this setup, your instance isn't :ref:`protected <searx Be warned, with this setup, your instance isn't :ref:`protected <searxng
filtron>`. Nevertheless it is good enough for intranet usage and it is a filtron>`. Nevertheless it is good enough for intranet usage and it is a
excellent example of; *how different services can be set up*. The next excellent example of; *how different services can be set up*. The next
example shows a reverse proxy configuration wrapping the :ref:`searx-uWSGI example shows a reverse proxy configuration wrapping the :ref:`searx-uWSGI
@ -281,7 +281,7 @@ Started wiki`_ is always a good resource *to keep in the pocket*.
} }
If not already exists, create a folder for the unix sockets, which can be If not already exists, create a folder for the unix sockets, which can be
used by the searx account: used by the SearXNG account:
.. code:: bash .. code:: bash
@ -290,7 +290,7 @@ Started wiki`_ is always a good resource *to keep in the pocket*.
.. group-tab:: \.\. at subdir URL .. group-tab:: \.\. at subdir URL
Be warned, with these setups, your instance isn't :ref:`protected <searx Be warned, with these setups, your instance isn't :ref:`protected <searxng
filtron>`. The examples are just here to demonstrate how to export the filtron>`. The examples are just here to demonstrate how to export the
SearXNG application from a subdirectory URL ``https://example.org/searx/``. SearXNG application from a subdirectory URL ``https://example.org/searx/``.

@ -23,9 +23,9 @@ Install packages
.. hint:: .. hint::
This installs also the packages needed by :ref:`searx uwsgi` This installs also the packages needed by :ref:`searxng uwsgi`
.. _create searx user: .. _create searxng user:
Create user Create user
=========== ===========
@ -42,8 +42,8 @@ Install SearXNG & dependencies
Start a interactive shell from new created user and clone searx: Start a interactive shell from new created user and clone searx:
.. kernel-include:: $DOCS_BUILD/includes/searx.rst .. kernel-include:: $DOCS_BUILD/includes/searx.rst
:start-after: START clone searx :start-after: START clone searxng
:end-before: END clone searx :end-before: END clone searxng
In the same shell create *virtualenv*: In the same shell create *virtualenv*:
@ -87,8 +87,8 @@ For a *minimal setup*, configure like shown below replace ``searx@$(uname
``/etc/searxng/settings.yml`` to your needs. ``/etc/searxng/settings.yml`` to your needs.
.. kernel-include:: $DOCS_BUILD/includes/searx.rst .. kernel-include:: $DOCS_BUILD/includes/searx.rst
:start-after: START searx config :start-after: START searxng config
:end-before: END searx config :end-before: END searxng config
.. tabs:: .. tabs::
@ -111,8 +111,8 @@ SearXNG looks at the exported environment ``$SEARXNG_SETTINGS_PATH`` for a
configuration file. configuration file.
.. kernel-include:: $DOCS_BUILD/includes/searx.rst .. kernel-include:: $DOCS_BUILD/includes/searx.rst
:start-after: START check searx installation :start-after: START check searxng installation
:end-before: END check searx installation :end-before: END check searxng installation
If everything works fine, hit ``[CTRL-C]`` to stop the *webapp* and disable the If everything works fine, hit ``[CTRL-C]`` to stop the *webapp* and disable the
debug option in ``settings.yml``. You can now exit SearXNG user bash (enter exit debug option in ``settings.yml``. You can now exit SearXNG user bash (enter exit

@ -1,4 +1,4 @@
.. _searx uwsgi: .. _searxng uwsgi:
===== =====
uwsgi uwsgi
@ -105,24 +105,24 @@ restart the uwsgi application.
.. group-tab:: Ubuntu / debian .. group-tab:: Ubuntu / debian
.. kernel-include:: $DOCS_BUILD/includes/searx.rst .. kernel-include:: $DOCS_BUILD/includes/searx.rst
:start-after: START searx uwsgi-description ubuntu-20.04 :start-after: START searxng uwsgi-description ubuntu-20.04
:end-before: END searx uwsgi-description ubuntu-20.04 :end-before: END searxng uwsgi-description ubuntu-20.04
.. hotfix: a bug group-tab need this comment .. hotfix: a bug group-tab need this comment
.. group-tab:: Arch Linux .. group-tab:: Arch Linux
.. kernel-include:: $DOCS_BUILD/includes/searx.rst .. kernel-include:: $DOCS_BUILD/includes/searx.rst
:start-after: START searx uwsgi-description arch :start-after: START searxng uwsgi-description arch
:end-before: END searx uwsgi-description arch :end-before: END searxng uwsgi-description arch
.. hotfix: a bug group-tab need this comment .. hotfix: a bug group-tab need this comment
.. group-tab:: Fedora / RHEL .. group-tab:: Fedora / RHEL
.. kernel-include:: $DOCS_BUILD/includes/searx.rst .. kernel-include:: $DOCS_BUILD/includes/searx.rst
:start-after: START searx uwsgi-description fedora :start-after: START searxng uwsgi-description fedora
:end-before: END searx uwsgi-description fedora :end-before: END searxng uwsgi-description fedora
.. tabs:: .. tabs::
@ -130,21 +130,21 @@ restart the uwsgi application.
.. group-tab:: Ubuntu / debian .. group-tab:: Ubuntu / debian
.. kernel-include:: $DOCS_BUILD/includes/searx.rst .. kernel-include:: $DOCS_BUILD/includes/searx.rst
:start-after: START searx uwsgi-appini ubuntu-20.04 :start-after: START searxng uwsgi-appini ubuntu-20.04
:end-before: END searx uwsgi-appini ubuntu-20.04 :end-before: END searxng uwsgi-appini ubuntu-20.04
.. hotfix: a bug group-tab need this comment .. hotfix: a bug group-tab need this comment
.. group-tab:: Arch Linux .. group-tab:: Arch Linux
.. kernel-include:: $DOCS_BUILD/includes/searx.rst .. kernel-include:: $DOCS_BUILD/includes/searx.rst
:start-after: START searx uwsgi-appini arch :start-after: START searxng uwsgi-appini arch
:end-before: END searx uwsgi-appini arch :end-before: END searxng uwsgi-appini arch
.. hotfix: a bug group-tab need this comment .. hotfix: a bug group-tab need this comment
.. group-tab:: Fedora / RHEL .. group-tab:: Fedora / RHEL
.. kernel-include:: $DOCS_BUILD/includes/searx.rst .. kernel-include:: $DOCS_BUILD/includes/searx.rst
:start-after: START searx uwsgi-appini fedora :start-after: START searxng uwsgi-appini fedora
:end-before: END searx uwsgi-appini fedora :end-before: END searxng uwsgi-appini fedora

@ -27,7 +27,7 @@ Installation scripts
.. sidebar:: Update OS first! .. sidebar:: Update OS first!
To avoid unwanted side effects, update your OS before installing searx. To avoid unwanted side effects, update your OS before installing SearXNG.
The following will install a setup as shown in :ref:`architecture`. First you The following will install a setup as shown in :ref:`architecture`. First you
need to get a clone. The clone is only needed for the installation procedure need to get a clone. The clone is only needed for the installation procedure
@ -42,14 +42,14 @@ the case if you clone into a folder below ``/root``.
.. code:: bash .. code:: bash
$ cd ~/Downloads $ cd ~/Downloads
$ git clone https://github.com/searxng/searxng.git searx $ git clone https://github.com/searxng/searxng.git searxng
$ cd searx $ cd searxng
.. sidebar:: further read .. sidebar:: further read
- :ref:`toolboxing` - :ref:`toolboxing`
- :ref:`update searx` - :ref:`update searxng`
- :ref:`inspect searx` - :ref:`inspect searxng`
**Install** :ref:`SearXNG service <searx.sh>` **Install** :ref:`SearXNG service <searx.sh>`

@ -1,5 +1,5 @@
.. _searx morty: .. _searxng morty:
========================= =========================
How to setup result proxy How to setup result proxy
@ -15,7 +15,7 @@ How to setup result proxy
By default SearXNG can only act as an image proxy for result images, but it is By default SearXNG can only act as an image proxy for result images, but it is
possible to proxify all the result URLs with an external service, morty_. possible to proxify all the result URLs with an external service, morty_.
To use this feature, morty has to be installed and activated in searx's To use this feature, morty has to be installed and activated in SearXNG's
``settings.yml``. Add the following snippet to your ``settings.yml`` and ``settings.yml``. Add the following snippet to your ``settings.yml`` and
restart searx: restart searx:
@ -30,8 +30,8 @@ instances without a HTTP proxy. If your morty service is public, the url is the
address of the reverse proxy (e.g ``https://example.org/morty``). address of the reverse proxy (e.g ``https://example.org/morty``).
For more information about *result proxy* have a look at *"SearXNG via filtron For more information about *result proxy* have a look at *"SearXNG via filtron
plus morty"* in the :ref:`nginx <nginx searx via filtron plus morty>` and plus morty"* in the :ref:`nginx <nginx searxng via filtron plus morty>` and
:ref:`apache <apache searx via filtron plus morty>` sections. :ref:`apache <apache searxng via filtron plus morty>` sections.
``url`` ``url``
Is the address of the running morty service. Is the address of the running morty service.

@ -1,4 +1,4 @@
.. _update searx: .. _update searxng:
============= =============
How to update How to update
@ -25,7 +25,7 @@ How to update depends on the :ref:`installation` method. If you have used the
$ sudo -H ./utils/morty.sh update morty $ sudo -H ./utils/morty.sh update morty
.. _inspect searx: .. _inspect searxng:
====================== ======================
How to inspect & debug How to inspect & debug

@ -72,7 +72,7 @@ ${fedora_build}
.. END create user .. END create user
.. START clone searx .. START clone searxng
.. tabs:: .. tabs::
@ -83,7 +83,7 @@ ${fedora_build}
$ sudo -H -u ${SERVICE_USER} -i $ sudo -H -u ${SERVICE_USER} -i
(${SERVICE_USER})$ git clone \"$GIT_URL\" \"$SEARX_SRC\" (${SERVICE_USER})$ git clone \"$GIT_URL\" \"$SEARX_SRC\"
.. END clone searx .. END clone searxng
.. START create virtualenv .. START create virtualenv
@ -118,14 +118,14 @@ ${fedora_build}
pip install -U wheel pip install -U wheel
pip install -U pyyaml pip install -U pyyaml
# jump to searx's working tree and install SearXNG into virtualenv # jump to SearXNG's working tree and install SearXNG into virtualenv
(${SERVICE_USER})$ cd \"$SEARX_SRC\" (${SERVICE_USER})$ cd \"$SEARX_SRC\"
(${SERVICE_USER})$ pip install -e . (${SERVICE_USER})$ pip install -e .
.. END manage.sh update_packages .. END manage.sh update_packages
.. START searx config .. START searxng config
.. tabs:: .. tabs::
@ -153,9 +153,9 @@ ${fedora_build}
$ sudo -H sed -i -e \"s/ultrasecretkey/\$(openssl rand -hex 16)/g\" \"$SEARXNG_SETTINGS_PATH\" $ sudo -H sed -i -e \"s/ultrasecretkey/\$(openssl rand -hex 16)/g\" \"$SEARXNG_SETTINGS_PATH\"
.. END searx config .. END searxng config
.. START check searx installation .. START check searxng installation
.. tabs:: .. tabs::
@ -206,4 +206,4 @@ container or in a script, test with curl:
HTTP/1.0 200 OK HTTP/1.0 200 OK
... ...
.. END check searx installation .. END check searxng installation

@ -108,7 +108,7 @@ issues_github_path = "searxng/searxng"
sys.path.append(os.path.abspath('_themes')) sys.path.append(os.path.abspath('_themes'))
sys.path.insert(0, os.path.abspath("../utils/")) sys.path.insert(0, os.path.abspath("../utils/"))
html_theme_path = ['_themes'] html_theme_path = ['_themes']
html_theme = "searx" html_theme = "searxng"
# sphinx.ext.imgmath setup # sphinx.ext.imgmath setup
html_math_renderer = 'imgmath' html_math_renderer = 'imgmath'
@ -130,13 +130,12 @@ if CONTACT_URL:
html_context["project_links"].append(ProjectLink("Contact", CONTACT_URL)) html_context["project_links"].append(ProjectLink("Contact", CONTACT_URL))
html_sidebars = { html_sidebars = {
"**": ["project.html", "relations.html", "searchbox.html"], "**": ["project.html", "relations.html", "searchbox.html", "sourcelink.html"],
} }
singlehtml_sidebars = {"index": ["project.html", "localtoc.html"]} singlehtml_sidebars = {"index": ["project.html", "localtoc.html"]}
html_static_path = ["static"] html_logo = "../searx/static/themes/simple/src/svg/searxng-wordmark.svg"
html_logo = "static/img/searx_logo_small.png"
html_title = "SearXNG Documentation ({})".format(VERSION_STRING) html_title = "SearXNG Documentation ({})".format(VERSION_STRING)
html_show_sourcelink = False html_show_sourcelink = True
# LaTeX ---------------------------------------------------------------- # LaTeX ----------------------------------------------------------------

@ -88,8 +88,8 @@ fork:
.. code:: sh .. code:: sh
$ cd ~/Downloads $ cd ~/Downloads
$ git clone https://github.com/searxng/searxng.git searx $ git clone https://github.com/searxng/searxng.git searxng
$ cd searx $ cd searxng
The :ref:`lxc-searx.env` consists of several images, see ``export The :ref:`lxc-searx.env` consists of several images, see ``export
LXC_SUITE=(...`` near by :origin:`utils/lxc-searx.env#L19`. For this blog post LXC_SUITE=(...`` near by :origin:`utils/lxc-searx.env#L19`. For this blog post
@ -180,7 +180,7 @@ searx-archlinux``:
$ sudo -H ./utils/lxc.sh cmd searx-archlinux bash $ sudo -H ./utils/lxc.sh cmd searx-archlinux bash
INFO: [searx-archlinux] bash INFO: [searx-archlinux] bash
[root@searx-archlinux searx]# pwd [root@searx-archlinux searx]# pwd
/share/searx /share/searxng
The prompt ``[root@searx-archlinux ...]`` signals, that you are the root user in The prompt ``[root@searx-archlinux ...]`` signals, that you are the root user in
the searx-container. To debug the running SearXNG instance use: the searx-container. To debug the running SearXNG instance use:
@ -213,7 +213,7 @@ To debug services from filtron and morty analogous use:
Another point we have to notice is that each service (:ref:`SearXNG <searx.sh>`, Another point we have to notice is that each service (:ref:`SearXNG <searx.sh>`,
:ref:`filtron <filtron.sh>` and :ref:`morty <morty.sh>`) runs under dedicated :ref:`filtron <filtron.sh>` and :ref:`morty <morty.sh>`) runs under dedicated
system user account with the same name (compare :ref:`create searx user`). To system user account with the same name (compare :ref:`create searxng user`). To
get a shell from theses accounts, simply call one of the scripts: get a shell from theses accounts, simply call one of the scripts:
.. tabs:: .. tabs::
@ -267,7 +267,7 @@ suite. For this, we have to keep an eye on the :ref:`installation basic`:
- SearXNG software in: ``/usr/local/searx/searx-src`` - SearXNG software in: ``/usr/local/searx/searx-src``
With the use of the :ref:`searx.sh` the SearXNG service was installed as With the use of the :ref:`searx.sh` the SearXNG service was installed as
:ref:`uWSGI application <searx uwsgi>`. To maintain this service, we can use :ref:`uWSGI application <searxng uwsgi>`. To maintain this service, we can use
``systemctl`` (compare :ref:`service architectures on distributions <uwsgi ``systemctl`` (compare :ref:`service architectures on distributions <uwsgi
configuration>`). configuration>`).

@ -12,7 +12,7 @@ you simply by using :ref:`make <makefile>`.
.. code:: sh .. code:: sh
git clone https://github.com/searxng/searxng.git searx git clone https://github.com/searxng/searxng.git searxng
Here is how a minimal workflow looks like: Here is how a minimal workflow looks like:

@ -25,7 +25,7 @@ Parameters
``q`` : required ``q`` : required
The search query. This string is passed to external search services. Thus, The search query. This string is passed to external search services. Thus,
SearXNG supports syntax of each search service. For example, ``site:github.com SearXNG supports syntax of each search service. For example, ``site:github.com
searx`` is a valid query for Google. However, if simply the query above is SearXNG`` is a valid query for Google. However, if simply the query above is
passed to any search engine which does not filter its results based on this passed to any search engine which does not filter its results based on this
syntax, you might not get the results you wanted. syntax, you might not get the results you wanted.
@ -62,7 +62,7 @@ Parameters
``image_proxy`` : default ``False`` ``image_proxy`` : default ``False``
[ ``True``, ``False`` ] [ ``True``, ``False`` ]
Proxy image results through searx. Proxy image results through SearXNG.
``autocomplete`` : default *empty* ``autocomplete`` : default *empty*
[ ``google``, ``dbpedia``, ``duckduckgo``, ``startpage``, ``wikipedia`` ] [ ``google``, ``dbpedia``, ``duckduckgo``, ``startpage``, ``wikipedia`` ]

@ -2,11 +2,7 @@
Welcome to SearXNG Welcome to SearXNG
================== ==================
*Search without being tracked.* *Search without being tracked.*
.. hint::
This is not searx, but searxng.
SearXNG is a free internet metasearch engine which aggregates results from more SearXNG is a free internet metasearch engine which aggregates results from more
than 70 search services. Users are neither tracked nor profiled. Additionally, than 70 search services. Users are neither tracked nor profiled. Additionally,
@ -25,6 +21,11 @@ If you don't trust anyone, you can set up your own, see :ref:`installation`.
- Cookies are not used by default - Cookies are not used by default
- Secure, encrypted connections (HTTPS/SSL) - Secure, encrypted connections (HTTPS/SSL)
.. sidebar:: info
SearXNG development has been started in the middle of 2021 as a fork of the
searx project.
.. toctree:: .. toctree::
:maxdepth: 2 :maxdepth: 2
:caption: Contents :caption: Contents

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.3 KiB

@ -7,7 +7,7 @@
.. sidebar:: further reading .. sidebar:: further reading
- :ref:`searx filtron` - :ref:`searxng filtron`
- :ref:`architecture` - :ref:`architecture`
- :ref:`installation` (:ref:`nginx <installation nginx>` & :ref:`apache - :ref:`installation` (:ref:`nginx <installation nginx>` & :ref:`apache
<installation apache>`) <installation apache>`)

@ -14,7 +14,7 @@
- :ref:`architecture` - :ref:`architecture`
- :ref:`installation` (:ref:`nginx <installation nginx>` & :ref:`apache - :ref:`installation` (:ref:`nginx <installation nginx>` & :ref:`apache
<installation apache>`) <installation apache>`)
- :ref:`searx morty` - :ref:`searxng morty`
To simplify installation and maintenance of a morty_ instance you can use the To simplify installation and maintenance of a morty_ instance you can use the
script :origin:`utils/morty.sh`. In most cases you will install morty_ simply by script :origin:`utils/morty.sh`. In most cases you will install morty_ simply by
@ -37,7 +37,7 @@ into this user account:
.. hint:: .. hint::
To add morty to your SearXNG instance read chapter :ref:`searx morty`. To add morty to your SearXNG instance read chapter :ref:`searxng morty`.
Create user Create user
=========== ===========

@ -24,7 +24,7 @@ In most cases you will install SearXNG simply by running the command:
sudo -H ./utils/searx.sh install all sudo -H ./utils/searx.sh install all
The script adds a ``${SERVICE_USER}`` (default:``searx``) and installs searx The script adds a ``${SERVICE_USER}`` (default:``searx``) and installs SearXNG
into this user account. The installation is described in chapter into this user account. The installation is described in chapter
:ref:`installation basic`. :ref:`installation basic`.

@ -1,5 +1,5 @@
export SEARXNG_URL='' export SEARXNG_URL=''
export SEARXNG_PORT='8888' export SEARXNG_PORT='8888'
export SEARXNG_BIND_ADDRESS='127.0.0.1' export SEARXNG_BIND_ADDRESS='127.0.0.1'
export GIT_URL='https://github.com/searxng/searxng' export GIT_URL='https://github.com/return42/searxng'
export GIT_BRANCH='master' export GIT_BRANCH='doc-theme'

@ -121,10 +121,10 @@ install_log_searx_instance() {
echo -e " SEARXNG_URL : ${_BBlue}${SEARXNG_URL:-none}${_creset}" echo -e " SEARXNG_URL : ${_BBlue}${SEARXNG_URL:-none}${_creset}"
if in_container; then if in_container; then
# searx is listening on 127.0.0.1 and not available from outside container # SearXNG is listening on 127.0.0.1 and not available from outside container
# in containers the service is listening on 0.0.0.0 (see lxc-searx.env) # in containers the service is listening on 0.0.0.0 (see lxc-searx.env)
echo -e "---- container setup" echo -e "---- container setup"
echo -e " ${_BBlack}HINT:${_creset} searx only listen on loopback device" \ echo -e " ${_BBlack}HINT:${_creset} SearXNG only listen on loopback device" \
"${_BBlack}inside${_creset} the container." "${_BBlack}inside${_creset} the container."
for ip in $(global_IPs) ; do for ip in $(global_IPs) ; do
if [[ $ip =~ .*:.* ]]; then if [[ $ip =~ .*:.* ]]; then

@ -151,13 +151,13 @@ usage::
shell shell
start interactive shell from user ${SERVICE_USER} start interactive shell from user ${SERVICE_USER}
install / remove install / remove
:all: complete (de-) installation of searx service :all: complete (de-) installation of SearXNG service
:user: add/remove service user '$SERVICE_USER' ($SERVICE_HOME) :user: add/remove service user '$SERVICE_USER' ($SERVICE_HOME)
:dot-config: copy ./config.sh to ${SEARX_SRC} :dot-config: copy ./config.sh to ${SEARX_SRC}
:searx-src: clone $GIT_URL :searx-src: clone $GIT_URL
:init-src: copy files (SEARX_SRC_INIT_FILES) to ${SEARX_SRC} :init-src: copy files (SEARX_SRC_INIT_FILES) to ${SEARX_SRC}
:pyenv: create/remove virtualenv (python) in $SEARX_PYENV :pyenv: create/remove virtualenv (python) in $SEARX_PYENV
:uwsgi: install searx uWSGI application :uwsgi: install SearXNG uWSGI application
:settings: reinstall settings from ${SEARXNG_SETTINGS_PATH} :settings: reinstall settings from ${SEARXNG_SETTINGS_PATH}
:packages: install needed packages from OS package manager :packages: install needed packages from OS package manager
:buildhost: install packages from OS package manager needed by buildhosts :buildhost: install packages from OS package manager needed by buildhosts
@ -688,7 +688,7 @@ remove_settings() {
} }
remove_searx() { remove_searx() {
rst_title "Drop searx sources" section rst_title "Drop SearXNG sources" section
if ask_yn "Do you really want to drop SearXNG sources ($SEARX_SRC)?"; then if ask_yn "Do you really want to drop SearXNG sources ($SEARX_SRC)?"; then
rm -rf "$SEARX_SRC" rm -rf "$SEARX_SRC"
else else
@ -1035,7 +1035,7 @@ rst-doc() {
[[ $DIST_VERS =~ $DIST_ID ]] && DIST_VERS= [[ $DIST_VERS =~ $DIST_ID ]] && DIST_VERS=
uWSGI_distro_setup uWSGI_distro_setup
echo -e "\n.. START searx uwsgi-description $DIST_NAME" echo -e "\n.. START searxng uwsgi-description $DIST_NAME"
case $DIST_ID-$DIST_VERS in case $DIST_ID-$DIST_VERS in
ubuntu-*|debian-*) cat <<EOF ubuntu-*|debian-*) cat <<EOF
@ -1088,13 +1088,13 @@ EOF
EOF EOF
;; ;;
esac esac
echo -e ".. END searx uwsgi-description $DIST_NAME" echo -e ".. END searxng uwsgi-description $DIST_NAME"
echo -e "\n.. START searx uwsgi-appini $DIST_NAME" echo -e "\n.. START searxng uwsgi-appini $DIST_NAME"
echo ".. code:: bash" echo ".. code:: bash"
echo echo
eval "echo \"$(< "${TEMPLATES}/${uWSGI_APPS_AVAILABLE}/${SEARXNG_UWSGI_APP}")\"" | prefix_stdout " " eval "echo \"$(< "${TEMPLATES}/${uWSGI_APPS_AVAILABLE}/${SEARXNG_UWSGI_APP}")\"" | prefix_stdout " "
echo -e "\n.. END searx uwsgi-appini $DIST_NAME" echo -e "\n.. END searxng uwsgi-appini $DIST_NAME"
) )
done done

@ -17,7 +17,7 @@ env = LC_ALL=C.UTF-8
# chdir to specified directory before apps loading # chdir to specified directory before apps loading
chdir = ${SEARX_SRC}/searx chdir = ${SEARX_SRC}/searx
# searx configuration (settings.yml) # SearXNG configuration (settings.yml)
env = SEARXNG_SETTINGS_PATH=${SEARXNG_SETTINGS_PATH} env = SEARXNG_SETTINGS_PATH=${SEARXNG_SETTINGS_PATH}
# disable logging for privacy # disable logging for privacy

@ -17,7 +17,7 @@ env = LC_ALL=C.UTF-8
# chdir to specified directory before apps loading # chdir to specified directory before apps loading
chdir = ${SEARX_SRC}/searx chdir = ${SEARX_SRC}/searx
# searx configuration (settings.yml) # SearXNG configuration (settings.yml)
env = SEARXNG_SETTINGS_PATH=${SEARXNG_SETTINGS_PATH} env = SEARXNG_SETTINGS_PATH=${SEARXNG_SETTINGS_PATH}
# disable logging for privacy # disable logging for privacy

@ -17,7 +17,7 @@ env = LC_ALL=C.UTF-8
# chdir to specified directory before apps loading # chdir to specified directory before apps loading
chdir = ${SEARX_SRC}/searx chdir = ${SEARX_SRC}/searx
# searx configuration (settings.yml) # SearXNG configuration (settings.yml)
env = SEARXNG_SETTINGS_PATH=${SEARXNG_SETTINGS_PATH} env = SEARXNG_SETTINGS_PATH=${SEARXNG_SETTINGS_PATH}
# disable logging for privacy # disable logging for privacy

@ -17,7 +17,7 @@ env = LC_ALL=C.UTF-8
# chdir to specified directory before apps loading # chdir to specified directory before apps loading
chdir = ${SEARX_SRC}/searx chdir = ${SEARX_SRC}/searx
# searx configuration (settings.yml) # SearXNG configuration (settings.yml)
env = SEARXNG_SETTINGS_PATH=${SEARXNG_SETTINGS_PATH} env = SEARXNG_SETTINGS_PATH=${SEARXNG_SETTINGS_PATH}
# disable logging for privacy # disable logging for privacy

Loading…
Cancel
Save