mirror of
https://github.com/searxng/searxng
synced 2024-01-01 19:24:07 +01:00
Rename all from searx to searxng
This commit is contained in:
parent
a582cf3d82
commit
ac05f0943c
682 changed files with 58450 additions and 58450 deletions
|
|
@ -59,7 +59,7 @@ Sample response
|
|||
"shortcut": "bb"
|
||||
},
|
||||
],
|
||||
"instance_name": "searx",
|
||||
"instance_name": "searxng",
|
||||
"locales": {
|
||||
"de": "Deutsch (German)",
|
||||
"en": "English",
|
||||
|
|
|
|||
|
|
@ -8,26 +8,26 @@ digraph G {
|
|||
filtron [label="Filtron", href="https://searxng.github.io/searxng/utils/filtron.sh.html"];
|
||||
morty [label="Morty", href="https://searxng.github.io/searxng/utils/morty.sh.html"];
|
||||
static [label="Static files", href="url to configure static files"];
|
||||
uwsgi [label="uwsgi", href="https://searxng.github.io/searxng/utils/searx.sh.html"]
|
||||
searx1 [label="Searx #1"];
|
||||
searx2 [label="Searx #2"];
|
||||
searx3 [label="Searx #3"];
|
||||
searx4 [label="Searx #4"];
|
||||
uwsgi [label="uwsgi", href="https://searxng.github.io/searxng/utils/searxng.sh.html"]
|
||||
searxng1 [label="Searxng #1"];
|
||||
searxng2 [label="Searxng #2"];
|
||||
searxng3 [label="Searxng #3"];
|
||||
searxng4 [label="Searxng #4"];
|
||||
|
||||
browser -> rp [label="HTTPS"]
|
||||
|
||||
subgraph cluster_searx {
|
||||
label = "Searx instance" fontname="Sans";
|
||||
subgraph cluster_searxng {
|
||||
label = "Searxng instance" fontname="Sans";
|
||||
bgcolor="#fafafa";
|
||||
{ rank=same; static rp };
|
||||
rp -> morty [label="optional: images and HTML pages proxy"];
|
||||
rp -> static [label="optional: reverse proxy serves directly static files"];
|
||||
rp -> filtron [label="HTTP"];
|
||||
filtron -> uwsgi [label="HTTP"];
|
||||
uwsgi -> searx1;
|
||||
uwsgi -> searx2;
|
||||
uwsgi -> searx3;
|
||||
uwsgi -> searx4;
|
||||
uwsgi -> searxng1;
|
||||
uwsgi -> searxng2;
|
||||
uwsgi -> searxng3;
|
||||
uwsgi -> searxng4;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,17 +6,17 @@ Architecture
|
|||
|
||||
.. sidebar:: Further reading
|
||||
|
||||
- Reverse Proxy: :ref:`Apache <apache searx site>` & :ref:`nginx <nginx searx
|
||||
- Reverse Proxy: :ref:`Apache <apache searxng site>` & :ref:`nginx <nginx searxng
|
||||
site>`
|
||||
- Filtron: :ref:`searx filtron`
|
||||
- Morty: :ref:`searx morty`
|
||||
- uWSGI: :ref:`searx uwsgi`
|
||||
- Searx: :ref:`installation basic`
|
||||
- Filtron: :ref:`searxng filtron`
|
||||
- Morty: :ref:`searxng morty`
|
||||
- uWSGI: :ref:`searxng uwsgi`
|
||||
- Searxng: :ref:`installation basic`
|
||||
|
||||
Herein you will find some hints and suggestions about typical architectures of
|
||||
SearXNG infrastructures.
|
||||
|
||||
We start with a contribution from :pull-searx:`@dalf <1776#issuecomment-567917320>`.
|
||||
We start with a contribution from :pull-searxng:`@dalf <1776#issuecomment-567917320>`.
|
||||
It shows a *reference* setup for public SearXNG instances which can build up and
|
||||
maintained by the scripts from our :ref:`toolboxing`.
|
||||
|
||||
|
|
|
|||
|
|
@ -15,19 +15,19 @@ Buildhosts
|
|||
:backlinks: entry
|
||||
|
||||
To get best results from build, its recommend to install additional packages
|
||||
on build hosts (see :ref:`searx.sh`).::
|
||||
on build hosts (see :ref:`searxng.sh`).::
|
||||
|
||||
sudo -H ./utils/searx.sh install buildhost
|
||||
sudo -H ./utils/searxng.sh install buildhost
|
||||
|
||||
This will install packages needed by searx:
|
||||
This will install packages needed by searxng:
|
||||
|
||||
.. kernel-include:: $DOCS_BUILD/includes/searx.rst
|
||||
.. kernel-include:: $DOCS_BUILD/includes/searxng.rst
|
||||
:start-after: START distro-packages
|
||||
:end-before: END distro-packages
|
||||
|
||||
and packages needed to build docuemtation and run tests:
|
||||
|
||||
.. kernel-include:: $DOCS_BUILD/includes/searx.rst
|
||||
.. kernel-include:: $DOCS_BUILD/includes/searxng.rst
|
||||
:start-after: START build-packages
|
||||
:end-before: END build-packages
|
||||
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ Command Line Engines
|
|||
|
||||
.. sidebar:: info
|
||||
|
||||
- :origin:`command.py <searx/engines/command.py>`
|
||||
- :origin:`command.py <searxng/engines/command.py>`
|
||||
- :ref:`offline engines`
|
||||
|
||||
With *command engines* administrators can run engines to integrate arbitrary
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ Explanation of the :ref:`general engine configuration` shown in the table
|
|||
Show errors **DE**
|
||||
============= =========== =================================
|
||||
|
||||
.. jinja:: searx
|
||||
.. jinja:: searxng
|
||||
|
||||
.. flat-table:: Engines configured at built time (defaults)
|
||||
:header-rows: 1
|
||||
|
|
|
|||
|
|
@ -20,4 +20,4 @@ Engines & Settings
|
|||
nosql-engines
|
||||
search-indexer-engines
|
||||
command-line-engines
|
||||
searx.engines.xpath
|
||||
searxng.engines.xpath
|
||||
|
|
|
|||
|
|
@ -14,17 +14,17 @@ The following `NoSQL databases`_ are supported:
|
|||
- :ref:`engine mongodb`
|
||||
|
||||
All of the engines above are just commented out in the :origin:`settings.yml
|
||||
<searx/settings.yml>`, as you have to set various options and install
|
||||
<searxng/settings.yml>`, as you have to set various options and install
|
||||
dependencies before using them.
|
||||
|
||||
By default, the engines use the ``key-value`` template for displaying results /
|
||||
see :origin:`oscar <searx/templates/oscar/result_templates/key-value.html>` &
|
||||
:origin:`simple <searx/templates/simple/result_templates/key-value.html>`
|
||||
see :origin:`oscar <searxng/templates/oscar/result_templates/key-value.html>` &
|
||||
:origin:`simple <searxng/templates/simple/result_templates/key-value.html>`
|
||||
themes. If you are not satisfied with the original result layout, you can use
|
||||
your own template, set ``result_template`` attribute to ``{template_name}`` and
|
||||
place the templates at::
|
||||
|
||||
searx/templates/{theme_name}/result_templates/{template_name}
|
||||
searxng/templates/{theme_name}/result_templates/{template_name}
|
||||
|
||||
Futhermore, if you do not wish to expose these engines on a public instance, you
|
||||
can still add them and limit the access by setting ``tokens`` as described in
|
||||
|
|
@ -43,11 +43,11 @@ Extra Dependencies
|
|||
|
||||
For using :ref:`engine redis_server` or :ref:`engine mongodb` you need to
|
||||
install additional packages in Python's Virtual Environment of your SearXNG
|
||||
instance. To switch into the environment (:ref:`searx-src`) you can use
|
||||
:ref:`searx.sh`::
|
||||
instance. To switch into the environment (:ref:`searxng-src`) you can use
|
||||
:ref:`searxng.sh`::
|
||||
|
||||
$ sudo utils/searx.sh shell
|
||||
(searx-pyenv)$ pip install ...
|
||||
$ sudo utils/searxng.sh shell
|
||||
(searxng-pyenv)$ pip install ...
|
||||
|
||||
|
||||
.. _engine redis_server:
|
||||
|
|
@ -61,7 +61,7 @@ Redis Server
|
|||
|
||||
- ``pip install`` redis_
|
||||
- redis.io_
|
||||
- :origin:`redis_server.py <searx/engines/redis_server.py>`
|
||||
- :origin:`redis_server.py <searxng/engines/redis_server.py>`
|
||||
|
||||
|
||||
Redis is an open source (BSD licensed), in-memory data structure (key value
|
||||
|
|
@ -98,7 +98,7 @@ MongoDB
|
|||
|
||||
- ``pip install`` pymongo_
|
||||
- MongoDB_
|
||||
- :origin:`mongodb.py <searx/engines/mongodb.py>`
|
||||
- :origin:`mongodb.py <searxng/engines/mongodb.py>`
|
||||
|
||||
MongoDB_ is a document based database program that handles JSON like data.
|
||||
Before configuring the ``mongodb`` engine, you must install the dependency
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ Recoll Engine
|
|||
|
||||
- `Recoll <https://www.lesbonscomptes.com/recoll/>`_
|
||||
- `recoll-webui <https://framagit.org/medoc92/recollwebui.git>`_
|
||||
- :origin:`searx/engines/recoll.py`
|
||||
- :origin:`searxng/engines/recoll.py`
|
||||
|
||||
Recoll_ is a desktop full-text search tool based on Xapian. By itself Recoll_
|
||||
does not offer WEB or API access, this can be achieved using recoll-webui_
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ MeiliSearch
|
|||
|
||||
.. sidebar:: info
|
||||
|
||||
- :origin:`meilisearch.py <searx/engines/meilisearch.py>`
|
||||
- :origin:`meilisearch.py <searxng/engines/meilisearch.py>`
|
||||
- `MeiliSearch <https://www.meilisearch.com>`_
|
||||
- `MeiliSearch Documentation <https://docs.meilisearch.com/>`_
|
||||
- `Install MeiliSearch
|
||||
|
|
@ -65,7 +65,7 @@ Elasticsearch
|
|||
|
||||
.. sidebar:: info
|
||||
|
||||
- :origin:`elasticsearch.py <searx/engines/elasticsearch.py>`
|
||||
- :origin:`elasticsearch.py <searxng/engines/elasticsearch.py>`
|
||||
- `Elasticsearch <https://www.elastic.co/elasticsearch/>`_
|
||||
- `Elasticsearch Guide
|
||||
<https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html>`_
|
||||
|
|
@ -107,7 +107,7 @@ Solr
|
|||
|
||||
.. sidebar:: info
|
||||
|
||||
- :origin:`solr.py <searx/engines/solr.py>`
|
||||
- :origin:`solr.py <searxng/engines/solr.py>`
|
||||
- `Solr <https://solr.apache.org>`_
|
||||
- `Solr Resources <https://solr.apache.org/resources.html>`_
|
||||
- `Install Solr <https://solr.apache.org/guide/installing-solr.html>`_
|
||||
|
|
|
|||
|
|
@ -4,6 +4,6 @@
|
|||
XPath Engine
|
||||
============
|
||||
|
||||
.. automodule:: searx.engines.xpath
|
||||
.. automodule:: searxng.engines.xpath
|
||||
:members:
|
||||
|
||||
|
|
@ -4,7 +4,7 @@
|
|||
``settings.yml``
|
||||
================
|
||||
|
||||
This page describe the options possibilities of the :origin:`searx/settings.yml`
|
||||
This page describe the options possibilities of the :origin:`searxng/settings.yml`
|
||||
file.
|
||||
|
||||
.. sidebar:: Further reading ..
|
||||
|
|
@ -24,11 +24,11 @@ settings.yml location
|
|||
|
||||
The initial ``settings.yml`` we be load from these locations:
|
||||
|
||||
1. the full path specified in the ``SEARX_SETTINGS_PATH`` environment variable.
|
||||
2. ``/etc/searx/settings.yml``
|
||||
1. the full path specified in the ``SEARXNG_SETTINGS_PATH`` environment variable.
|
||||
2. ``/etc/searxng/settings.yml``
|
||||
|
||||
If these files don't exist (or are empty or can't be read), SearXNG uses the
|
||||
:origin:`searx/settings.yml` file. Read :ref:`settings use_default_settings` to
|
||||
:origin:`searxng/settings.yml` file. Read :ref:`settings use_default_settings` to
|
||||
see how you can simplify your *user defined* ``settings.yml``.
|
||||
|
||||
|
||||
|
|
@ -74,7 +74,7 @@ Global Settings
|
|||
instance_name: "SearXNG" # displayed name
|
||||
contact_url: false # mailto:contact@example.com
|
||||
|
||||
``debug`` : ``$SEARX_DEBUG``
|
||||
``debug`` : ``$SEARXNG_DEBUG``
|
||||
Allow a more detailed log if you run SearXNG directly. Display *detailed* error
|
||||
messages in the browser too, so this must be deactivated in production.
|
||||
|
||||
|
|
@ -94,7 +94,7 @@ Global Settings
|
|||
port: 8888
|
||||
bind_address: "127.0.0.1" # address to listen on
|
||||
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_theme: oscar # ui theme
|
||||
default_http_headers:
|
||||
|
|
@ -109,17 +109,17 @@ Global Settings
|
|||
Changing a value tagged by :ref:`buildenv <make buildenv>`, needs to
|
||||
rebuild instance's environment :ref:`utils/brand.env <make buildenv>`.
|
||||
|
||||
``base_url`` : :ref:`buildenv SEARX_URL <make buildenv>`
|
||||
``base_url`` : :ref:`buildenv SEARXNG_URL <make buildenv>`
|
||||
The base URL where SearXNG is deployed. Used to create correct inbound links.
|
||||
If you change the value, don't forget to rebuild instance's environment
|
||||
(:ref:`utils/brand.env <make buildenv>`)
|
||||
|
||||
``port`` & ``bind_address``: :ref:`buildenv SEARX_PORT & SEARX_BIND_ADDRESS <make buildenv>`
|
||||
``port`` & ``bind_address``: :ref:`buildenv SEARXNG_PORT & SEARXNG_BIND_ADDRESS <make buildenv>`
|
||||
Port number and *bind address* of the SearXNG web application if you run it
|
||||
directly using ``python searx/webapp.py``. Doesn't apply to SearXNG running on
|
||||
directly using ``python searxng/webapp.py``. Doesn't apply to SearXNG running on
|
||||
Apache or Nginx.
|
||||
|
||||
``secret_key`` : ``$SEARX_SECRET``
|
||||
``secret_key`` : ``$SEARXNG_SECRET``
|
||||
Used for cryptography purpose.
|
||||
|
||||
``image_proxy`` :
|
||||
|
|
@ -128,7 +128,7 @@ Global Settings
|
|||
``default_locale`` :
|
||||
SearXNG interface language. If blank, the locale is detected by using the
|
||||
browser language. If it doesn't work, or you are deploying a language
|
||||
specific instance of searx, a locale can be defined using an ISO language
|
||||
specific instance of searxng, a locale can be defined using an ISO language
|
||||
code, like ``fr``, ``en``, ``de``.
|
||||
|
||||
``default_theme`` :
|
||||
|
|
@ -137,7 +137,7 @@ Global Settings
|
|||
.. _HTTP headers: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers
|
||||
|
||||
``default_http_headers``:
|
||||
Set additional HTTP headers, see `#755 <https://github.com/searx/searx/issues/715>`__
|
||||
Set additional HTTP headers, see `#755 <https://github.com/searxng/searxng/issues/715>`__
|
||||
|
||||
``outgoing:``
|
||||
-------------
|
||||
|
|
@ -293,7 +293,7 @@ engine is shown. Most of the options have a default value or even are optional.
|
|||
|
||||
``timeout`` : optional
|
||||
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
|
||||
In a few cases, using an API needs the use of a secret key. How to obtain them
|
||||
|
|
@ -339,16 +339,16 @@ use_default_settings
|
|||
|
||||
- :ref:`settings location`
|
||||
- :ref:`use_default_settings.yml`
|
||||
- :origin:`/etc/searx/settings.yml <utils/templates/etc/searx/use_default_settings.yml>`
|
||||
- :origin:`/etc/searxng/settings.yml <utils/templates/etc/searxng/use_default_settings.yml>`
|
||||
|
||||
The user defined ``settings.yml`` is loaded from the :ref:`settings location`
|
||||
and can relied on the default configuration :origin:`searx/settings.yml` using:
|
||||
and can relied on the default configuration :origin:`searxng/settings.yml` using:
|
||||
|
||||
``use_default_settings: true``
|
||||
|
||||
``server:``
|
||||
In the following example, the actual settings are the default settings defined
|
||||
in :origin:`searx/settings.yml` with the exception of the ``secret_key`` and
|
||||
in :origin:`searxng/settings.yml` with the exception of the ``secret_key`` and
|
||||
the ``bind_address``:
|
||||
|
||||
.. code-block:: yaml
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ Relational Database Management System (RDBMS) are supported:
|
|||
- :ref:`engine mysql_server`
|
||||
|
||||
All of the engines above are just commented out in the :origin:`settings.yml
|
||||
<searx/settings.yml>`, as you have to set the required attributes for the
|
||||
<searxng/settings.yml>`, as you have to set the required attributes for the
|
||||
engines, e.g. ``database:`` ...
|
||||
|
||||
.. code:: yaml
|
||||
|
|
@ -30,13 +30,13 @@ engines, e.g. ``database:`` ...
|
|||
query_str: ...
|
||||
|
||||
By default, the engines use the ``key-value`` template for displaying results /
|
||||
see :origin:`oscar <searx/templates/oscar/result_templates/key-value.html>` &
|
||||
:origin:`simple <searx/templates/simple/result_templates/key-value.html>`
|
||||
see :origin:`oscar <searxng/templates/oscar/result_templates/key-value.html>` &
|
||||
:origin:`simple <searxng/templates/simple/result_templates/key-value.html>`
|
||||
themes. If you are not satisfied with the original result layout, you can use
|
||||
your own template, set ``result_template`` attribute to ``{template_name}`` and
|
||||
place the templates at::
|
||||
|
||||
searx/templates/{theme_name}/result_templates/{template_name}
|
||||
searxng/templates/{theme_name}/result_templates/{template_name}
|
||||
|
||||
If you do not wish to expose these engines on a public instance, you can still
|
||||
add them and limit the access by setting ``tokens`` as described in section
|
||||
|
|
@ -63,7 +63,7 @@ SQLite
|
|||
|
||||
.. sidebar:: info
|
||||
|
||||
- :origin:`sqlite.py <searx/engines/sqlite.py>`
|
||||
- :origin:`sqlite.py <searxng/engines/sqlite.py>`
|
||||
|
||||
.. _MediathekView: https://mediathekview.de/
|
||||
|
||||
|
|
@ -74,7 +74,7 @@ this example of the SQlite engine download the database:
|
|||
|
||||
- https://liste.mediathekview.de/filmliste-v2.db.bz2
|
||||
|
||||
and unpack into ``searx/data/filmliste-v2.db``. To search the database use e.g
|
||||
and unpack into ``searxng/data/filmliste-v2.db``. To search the database use e.g
|
||||
Query to test: ``!mediathekview concert``
|
||||
|
||||
.. code:: yaml
|
||||
|
|
@ -84,7 +84,7 @@ Query to test: ``!mediathekview concert``
|
|||
disabled: False
|
||||
categories: general
|
||||
result_template: default.html
|
||||
database: searx/data/filmliste-v2.db
|
||||
database: searxng/data/filmliste-v2.db
|
||||
query_str: >-
|
||||
SELECT title || ' (' || time(duration, 'unixepoch') || ')' AS title,
|
||||
COALESCE( NULLIF(url_video_hd,''), NULLIF(url_video_sd,''), url_video) AS url,
|
||||
|
|
@ -99,11 +99,11 @@ Extra Dependencies
|
|||
|
||||
For using :ref:`engine postgresql` or :ref:`engine mysql_server` you need to
|
||||
install additional packages in Python's Virtual Environment of your SearXNG
|
||||
instance. To switch into the environment (:ref:`searx-src`) you can use
|
||||
:ref:`searx.sh`::
|
||||
instance. To switch into the environment (:ref:`searxng-src`) you can use
|
||||
:ref:`searxng.sh`::
|
||||
|
||||
$ sudo utils/searx.sh shell
|
||||
(searx-pyenv)$ pip install ...
|
||||
$ sudo utils/searxng.sh shell
|
||||
(searxng-pyenv)$ pip install ...
|
||||
|
||||
|
||||
.. _engine postgresql:
|
||||
|
|
@ -115,7 +115,7 @@ PostgreSQL
|
|||
|
||||
.. sidebar:: info
|
||||
|
||||
- :origin:`postgresql.py <searx/engines/postgresql.py>`
|
||||
- :origin:`postgresql.py <searxng/engines/postgresql.py>`
|
||||
- ``pip install`` psycopg2_
|
||||
|
||||
PostgreSQL is a powerful and robust open source database. Before configuring
|
||||
|
|
@ -127,7 +127,7 @@ find an example configuration below:
|
|||
- name: my_database
|
||||
engine: postgresql
|
||||
database: my_database
|
||||
username: searx
|
||||
username: searxng
|
||||
password: password
|
||||
query_str: 'SELECT * from my_table WHERE my_column = %(query)s'
|
||||
|
||||
|
|
@ -140,7 +140,7 @@ MySQL
|
|||
|
||||
.. sidebar:: info
|
||||
|
||||
- :origin:`mysql_server.py <searx/engines/mysql_server.py>`
|
||||
- :origin:`mysql_server.py <searxng/engines/mysql_server.py>`
|
||||
- ``pip install`` mysql-connector-python_
|
||||
|
||||
MySQL is said to be the most popular open source database. Before enabling MySQL
|
||||
|
|
@ -155,7 +155,7 @@ example configuration for quering a MySQL server:
|
|||
- name: my_database
|
||||
engine: mysql_server
|
||||
database: my_database
|
||||
username: searx
|
||||
username: searxng
|
||||
password: password
|
||||
limit: 5
|
||||
query_str: 'SELECT * from my_table WHERE my_column=%(query)s'
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
|
||||
.. _searx filtron:
|
||||
.. _searxng filtron:
|
||||
|
||||
==========================
|
||||
How to protect an instance
|
||||
|
|
@ -8,7 +8,7 @@ How to protect an instance
|
|||
.. sidebar:: further reading
|
||||
|
||||
- :ref:`filtron.sh`
|
||||
- :ref:`nginx searx site`
|
||||
- :ref:`nginx searxng site`
|
||||
|
||||
|
||||
.. contents:: Contents
|
||||
|
|
@ -19,10 +19,10 @@ How to protect an instance
|
|||
.. _filtron: https://github.com/asciimoo/filtron
|
||||
|
||||
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
|
||||
a middleware between your web server (nginx, apache, ...) and searx, we describe
|
||||
a middleware between your web server (nginx, apache, ...) and searxng, we describe
|
||||
such infratructures in chapter: :ref:`architecture`.
|
||||
|
||||
|
||||
|
|
@ -168,9 +168,9 @@ Use it along with ``nginx`` with the following example configuration.
|
|||
|
||||
.. code:: nginx
|
||||
|
||||
# https://example.org/searx
|
||||
# https://example.org/searxng
|
||||
|
||||
location /searx {
|
||||
location /searxng {
|
||||
proxy_pass http://127.0.0.1:4004/;
|
||||
|
||||
proxy_set_header Host $host;
|
||||
|
|
@ -178,14 +178,14 @@ Use it along with ``nginx`` with the following example configuration.
|
|||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Scheme $scheme;
|
||||
proxy_set_header X-Script-Name /searx;
|
||||
proxy_set_header X-Script-Name /searxng;
|
||||
}
|
||||
|
||||
location /searx/static {
|
||||
/usr/local/searx/searx-src/searx/static;
|
||||
location /searxng/static {
|
||||
/usr/local/searxng/searxng-src/searxng/static;
|
||||
}
|
||||
|
||||
|
||||
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
|
||||
searx site`.
|
||||
searxng site`.
|
||||
|
|
|
|||
|
|
@ -7,12 +7,12 @@ Administrator documentation
|
|||
:caption: Contents
|
||||
|
||||
installation
|
||||
installation-searx
|
||||
installation-searxng
|
||||
installation-uwsgi
|
||||
installation-nginx
|
||||
installation-apache
|
||||
installation-docker
|
||||
update-searx
|
||||
update-searxng
|
||||
engines/index
|
||||
api
|
||||
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
|
||||
|
||||
$ 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
|
||||
|
||||
|
|
@ -163,7 +163,7 @@ How this default intro site is configured, depends on the linux distribution
|
|||
|
||||
less /etc/httpd/conf.d/welcome.conf
|
||||
|
||||
.. _apache searx site:
|
||||
.. _apache searxng site:
|
||||
|
||||
Apache Reverse Proxy
|
||||
====================
|
||||
|
|
@ -192,14 +192,14 @@ except in :ref:`The Debian Layout`.
|
|||
sudo -H a2enmod proxy
|
||||
sudo -H a2enmod proxy_http
|
||||
|
||||
In :ref:`The Debian Layout` you create a ``searx.conf`` with the
|
||||
``<Location /searx >`` directive and save this file in the *sites
|
||||
In :ref:`The Debian Layout` you create a ``searxng.conf`` with the
|
||||
``<Location /searxng >`` directive and save this file in the *sites
|
||||
available* folder at ``/etc/apache2/sites-available``. To enable the
|
||||
``searx.conf`` use :man:`a2ensite`:
|
||||
``searxng.conf`` use :man:`a2ensite`:
|
||||
|
||||
.. code:: sh
|
||||
|
||||
sudo -H a2ensite searx.conf
|
||||
sudo -H a2ensite searxng.conf
|
||||
|
||||
.. 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
|
||||
proxied host.
|
||||
|
||||
.. _apache searx via filtron plus morty:
|
||||
.. _apache searxng via filtron plus morty:
|
||||
|
||||
.. tabs::
|
||||
|
||||
|
|
@ -244,9 +244,9 @@ proxied host.
|
|||
|
||||
.. code:: apache
|
||||
|
||||
<Location /searx >
|
||||
<Location /searxng >
|
||||
|
||||
# SetEnvIf Request_URI "/searx" dontlog
|
||||
# SetEnvIf Request_URI "/searxng" dontlog
|
||||
# CustomLog /dev/null combined env=dontlog
|
||||
|
||||
Require all granted
|
||||
|
|
@ -258,11 +258,11 @@ proxied host.
|
|||
|
||||
ProxyPreserveHost On
|
||||
ProxyPass http://127.0.0.1:4004
|
||||
RequestHeader set X-Script-Name /searx
|
||||
RequestHeader set X-Script-Name /searxng
|
||||
|
||||
</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*
|
||||
|
||||
.. code:: apache
|
||||
|
|
@ -286,8 +286,8 @@ proxied host.
|
|||
|
||||
</Location>
|
||||
|
||||
For a fully result proxification add :ref:`morty's <searx morty>` **public
|
||||
URL** to your :origin:`searx/settings.yml`:
|
||||
For a fully result proxification add :ref:`morty's <searxng morty>` **public
|
||||
URL** to your :origin:`searxng/settings.yml`:
|
||||
|
||||
.. code:: yaml
|
||||
|
||||
|
|
@ -302,10 +302,10 @@ proxied host.
|
|||
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
|
||||
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::
|
||||
|
||||
|
|
@ -334,15 +334,15 @@ The next example shows a configuration using the `uWSGI Apache support`_ via
|
|||
unix sockets and `mod_proxy_uwsgi`_.
|
||||
|
||||
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/searxng/socket`` and comment out the ``http = 127.0.0.1:8888``
|
||||
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
|
||||
searx account (see :ref:`create searx user`):
|
||||
searxng account (see :ref:`create searxng user`):
|
||||
|
||||
.. code:: bash
|
||||
|
||||
sudo -H mkdir -p /run/uwsgi/app/searx/
|
||||
sudo -H chown -R searx:searx /run/uwsgi/app/searx/
|
||||
sudo -H mkdir -p /run/uwsgi/app/searxng/
|
||||
sudo -H chown -R searxng:searxng /run/uwsgi/app/searxng/
|
||||
|
||||
If the server is public; to limit access to your intranet replace ``Allow from
|
||||
all`` directive and replace ``192.168.0.0/16`` with your subnet IP/class.
|
||||
|
|
@ -357,10 +357,10 @@ all`` directive and replace ``192.168.0.0/16`` with your subnet IP/class.
|
|||
LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so
|
||||
LoadModule proxy_uwsgi_module /usr/lib/apache2/modules/mod_proxy_uwsgi.so
|
||||
|
||||
# SetEnvIf Request_URI /searx dontlog
|
||||
# SetEnvIf Request_URI /searxng dontlog
|
||||
# CustomLog /dev/null combined env=dontlog
|
||||
|
||||
<Location /searx>
|
||||
<Location /searxng>
|
||||
|
||||
Require all granted
|
||||
Order deny,allow
|
||||
|
|
@ -369,7 +369,7 @@ all`` directive and replace ``192.168.0.0/16`` with your subnet IP/class.
|
|||
Allow from all
|
||||
|
||||
ProxyPreserveHost On
|
||||
ProxyPass unix:/run/uwsgi/app/searx/socket|uwsgi://uwsgi-uds-searx/
|
||||
ProxyPass unix:/run/uwsgi/app/searxng/socket|uwsgi://uwsgi-uds-searxng/
|
||||
|
||||
</Location>
|
||||
|
||||
|
|
@ -382,10 +382,10 @@ all`` directive and replace ``192.168.0.0/16`` with your subnet IP/class.
|
|||
LoadModule proxy_module modules/mod_proxy.so
|
||||
LoadModule proxy_uwsgi_module modules/mod_proxy_uwsgi.so
|
||||
|
||||
# SetEnvIf Request_URI /searx dontlog
|
||||
# SetEnvIf Request_URI /searxng dontlog
|
||||
# CustomLog /dev/null combined env=dontlog
|
||||
|
||||
<Location /searx>
|
||||
<Location /searxng>
|
||||
|
||||
Require all granted
|
||||
Order deny,allow
|
||||
|
|
@ -394,7 +394,7 @@ all`` directive and replace ``192.168.0.0/16`` with your subnet IP/class.
|
|||
Allow from all
|
||||
|
||||
ProxyPreserveHost On
|
||||
ProxyPass unix:/run/uwsgi/app/searx/socket|uwsgi://uwsgi-uds-searx/
|
||||
ProxyPass unix:/run/uwsgi/app/searxng/socket|uwsgi://uwsgi-uds-searxng/
|
||||
|
||||
</Location>
|
||||
|
||||
|
|
@ -408,10 +408,10 @@ all`` directive and replace ``192.168.0.0/16`` with your subnet IP/class.
|
|||
LoadModule proxy_uwsgi_module modules/mod_proxy_uwsgi.so
|
||||
<IfModule proxy_uwsgi_module>
|
||||
|
||||
# SetEnvIf Request_URI /searx dontlog
|
||||
# SetEnvIf Request_URI /searxng dontlog
|
||||
# CustomLog /dev/null combined env=dontlog
|
||||
|
||||
<Location /searx>
|
||||
<Location /searxng>
|
||||
|
||||
Require all granted
|
||||
Order deny,allow
|
||||
|
|
@ -420,7 +420,7 @@ all`` directive and replace ``192.168.0.0/16`` with your subnet IP/class.
|
|||
Allow from all
|
||||
|
||||
ProxyPreserveHost On
|
||||
ProxyPass unix:/run/uwsgi/app/searx/socket|uwsgi://uwsgi-uds-searx/
|
||||
ProxyPass unix:/run/uwsgi/app/searxng/socket|uwsgi://uwsgi-uds-searxng/
|
||||
|
||||
</Location>
|
||||
|
||||
|
|
@ -436,16 +436,16 @@ all`` directive and replace ``192.168.0.0/16`` with your subnet IP/class.
|
|||
|
||||
<IfModule mod_uwsgi.c>
|
||||
|
||||
# SetEnvIf Request_URI "/searx" dontlog
|
||||
# SetEnvIf Request_URI "/searxng" dontlog
|
||||
# CustomLog /dev/null combined env=dontlog
|
||||
|
||||
<Location /searx >
|
||||
<Location /searxng >
|
||||
|
||||
Require all granted
|
||||
|
||||
Options FollowSymLinks Indexes
|
||||
SetHandler uwsgi-handler
|
||||
uWSGISocket /run/uwsgi/app/searx/socket
|
||||
uWSGISocket /run/uwsgi/app/searxng/socket
|
||||
|
||||
Order deny,allow
|
||||
Deny from all
|
||||
|
|
@ -468,21 +468,21 @@ Restart service
|
|||
.. code:: sh
|
||||
|
||||
sudo -H systemctl restart apache2
|
||||
sudo -H service uwsgi restart searx
|
||||
sudo -H service uwsgi restart searxng
|
||||
|
||||
.. group-tab:: Arch Linux
|
||||
|
||||
.. code:: sh
|
||||
|
||||
sudo -H systemctl restart httpd
|
||||
sudo -H systemctl restart uwsgi@searx
|
||||
sudo -H systemctl restart uwsgi@searxng
|
||||
|
||||
.. group-tab:: Fedora / RHEL
|
||||
|
||||
.. code:: sh
|
||||
|
||||
sudo -H systemctl restart httpd
|
||||
sudo -H touch /etc/uwsgi.d/searx.ini
|
||||
sudo -H touch /etc/uwsgi.d/searxng.ini
|
||||
|
||||
|
||||
disable logs
|
||||
|
|
@ -492,11 +492,11 @@ For better privacy you can disable Apache logs. In the examples above activate
|
|||
one of the lines and `restart apache`_::
|
||||
|
||||
|
||||
# SetEnvIf Request_URI "/searx" dontlog
|
||||
# SetEnvIf Request_URI "/searxng" dontlog
|
||||
# CustomLog /dev/null combined env=dontlog
|
||||
|
||||
The ``CustomLog`` directive disable logs for the whole (virtual) server, use it
|
||||
when the URL of the service does not have a path component (``/searx``) / is
|
||||
when the URL of the service does not have a path component (``/searxng``) / is
|
||||
located at root (``/``).
|
||||
|
||||
.. _The Debian Layout:
|
||||
|
|
|
|||
|
|
@ -25,8 +25,8 @@ Docker installation
|
|||
If you intend to create a public instance using Docker, use our well
|
||||
maintained searxng-docker_ image which includes
|
||||
|
||||
- :ref:`protection <searx filtron>` `[filtron]`_,
|
||||
- a :ref:`result proxy <searx morty>` `[morty]`_ and
|
||||
- :ref:`protection <searxng filtron>` `[filtron]`_,
|
||||
- a :ref:`result proxy <searxng morty>` `[morty]`_ and
|
||||
- a HTTPS reverse proxy `[caddy]`_.
|
||||
|
||||
Make sure you have `installed Docker <https://docs.docker.com/get-docker/>`_ and
|
||||
|
|
@ -63,7 +63,7 @@ instance using `docker run <https://docs.docker.com/engine/reference/run/>`_:
|
|||
$ docker pull searxng/searxng
|
||||
$ docker run --rm \
|
||||
-d -p ${PORT}:8080 \
|
||||
-v "${PWD}/searx:/etc/searx" \
|
||||
-v "${PWD}/searxng:/etc/searxng" \
|
||||
-e "BASE_URL=http://localhost:$PORT/" \
|
||||
-e "INSTANCE_NAME=my-instance" \
|
||||
searxng/searxng
|
||||
|
|
@ -75,7 +75,7 @@ Open your WEB browser and visit the URL:
|
|||
|
||||
$ xdg-open "http://localhost:$PORT"
|
||||
|
||||
Inside ``${PWD}/searx``, you will find ``settings.yml`` and ``uwsgi.ini``. You
|
||||
Inside ``${PWD}/searxng``, you will find ``settings.yml`` and ``uwsgi.ini``. You
|
||||
can modify these files according to your needs and restart the Docker image.
|
||||
|
||||
.. code:: sh
|
||||
|
|
@ -139,7 +139,7 @@ Build the image
|
|||
It's also possible to build SearXNG from the embedded :origin:`Dockerfile`::
|
||||
|
||||
$ git clone https://github.com/searxng/searxng.git
|
||||
$ cd searx
|
||||
$ cd searxng
|
||||
$ make docker.build
|
||||
...
|
||||
Successfully built 49586c016434
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
$ 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
|
||||
|
||||
|
|
@ -126,7 +126,7 @@ depends on the linux distribution:
|
|||
|
||||
include /etc/nginx/conf.d/*.conf;
|
||||
|
||||
.. _nginx searx site:
|
||||
.. _nginx searxng site:
|
||||
|
||||
A nginx SearXNG site
|
||||
====================
|
||||
|
|
@ -146,12 +146,12 @@ Started wiki`_ is always a good resource *to keep in the pocket*.
|
|||
|
||||
.. group-tab:: Ubuntu / debian
|
||||
|
||||
Create configuration at ``/etc/nginx/sites-available/searx`` and place a
|
||||
Create configuration at ``/etc/nginx/sites-available/searxng`` and place a
|
||||
symlink to sites-enabled:
|
||||
|
||||
.. code:: sh
|
||||
|
||||
sudo -H ln -s /etc/nginx/sites-available/searx /etc/nginx/sites-enabled/searx
|
||||
sudo -H ln -s /etc/nginx/sites-available/searxng /etc/nginx/sites-enabled/searxng
|
||||
|
||||
.. group-tab:: Arch Linux
|
||||
|
||||
|
|
@ -160,10 +160,10 @@ Started wiki`_ is always a good resource *to keep in the pocket*.
|
|||
|
||||
.. group-tab:: Fedora / RHEL
|
||||
|
||||
Create configuration at ``/etc/nginx/conf.d/searx`` and place a
|
||||
Create configuration at ``/etc/nginx/conf.d/searxng`` and place a
|
||||
symlink to sites-enabled:
|
||||
|
||||
.. _nginx searx via filtron plus morty:
|
||||
.. _nginx searxng via filtron plus morty:
|
||||
|
||||
.. tabs::
|
||||
|
||||
|
|
@ -177,9 +177,9 @@ Started wiki`_ is always a good resource *to keep in the pocket*.
|
|||
|
||||
.. code:: nginx
|
||||
|
||||
# https://example.org/searx
|
||||
# https://example.org/searxng
|
||||
|
||||
location /searx {
|
||||
location /searxng {
|
||||
proxy_pass http://127.0.0.1:4004/;
|
||||
|
||||
proxy_set_header Host $host;
|
||||
|
|
@ -187,15 +187,15 @@ Started wiki`_ is always a good resource *to keep in the pocket*.
|
|||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Scheme $scheme;
|
||||
proxy_set_header X-Script-Name /searx;
|
||||
proxy_set_header X-Script-Name /searxng;
|
||||
}
|
||||
|
||||
location /searx/static/ {
|
||||
alias /usr/local/searx/searx-src/searx/static/;
|
||||
location /searxng/static/ {
|
||||
alias /usr/local/searxng/searxng-src/searxng/static/;
|
||||
}
|
||||
|
||||
|
||||
2. Configure reverse proxy for :ref:`morty <searx morty>`, listening on
|
||||
2. Configure reverse proxy for :ref:`morty <searxng morty>`, listening on
|
||||
*localhost 3000*:
|
||||
|
||||
.. code:: nginx
|
||||
|
|
@ -212,8 +212,8 @@ Started wiki`_ is always a good resource *to keep in the pocket*.
|
|||
proxy_set_header X-Scheme $scheme;
|
||||
}
|
||||
|
||||
For a fully result proxification add :ref:`morty's <searx morty>` **public
|
||||
URL** to your :origin:`searx/settings.yml`:
|
||||
For a fully result proxification add :ref:`morty's <searxng morty>` **public
|
||||
URL** to your :origin:`searxng/settings.yml`:
|
||||
|
||||
.. code:: yaml
|
||||
|
||||
|
|
@ -228,10 +228,10 @@ Started wiki`_ is always a good resource *to keep in the pocket*.
|
|||
|
||||
.. 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
|
||||
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:`searxng-uWSGI
|
||||
application <uwsgi configuration>`, listening on ``http =
|
||||
127.0.0.1:8888``.
|
||||
|
||||
|
|
@ -251,7 +251,7 @@ Started wiki`_ is always a good resource *to keep in the pocket*.
|
|||
|
||||
Alternatively you can use the `uWSGI support from nginx`_ via unix
|
||||
sockets. For socket communication, you have to activate ``socket =
|
||||
/run/uwsgi/app/searx/socket`` and comment out the ``http =
|
||||
/run/uwsgi/app/searxng/socket`` and comment out the ``http =
|
||||
127.0.0.1:8888`` configuration in your :ref:`uwsgi ini file <uwsgi
|
||||
configuration>`.
|
||||
|
||||
|
|
@ -259,8 +259,8 @@ Started wiki`_ is always a good resource *to keep in the pocket*.
|
|||
port 80 (IPv4 and IPv6 http://[::]:80). The uWSGI app is configured at
|
||||
location ``/`` by importing the `uwsgi_params`_ and passing requests to
|
||||
the uWSGI socket (``uwsgi_pass``). The ``server``\'s root points to the
|
||||
:ref:`searx-src clone <searx-src>` and wraps directly the
|
||||
:origin:`searx/static/` content at ``location /static``.
|
||||
:ref:`searxng-src clone <searxng-src>` and wraps directly the
|
||||
:origin:`searxng/static/` content at ``location /static``.
|
||||
|
||||
.. code:: nginx
|
||||
|
||||
|
|
@ -273,73 +273,73 @@ Started wiki`_ is always a good resource *to keep in the pocket*.
|
|||
|
||||
location / {
|
||||
include uwsgi_params;
|
||||
uwsgi_pass unix:/run/uwsgi/app/searx/socket;
|
||||
uwsgi_pass unix:/run/uwsgi/app/searxng/socket;
|
||||
}
|
||||
|
||||
root /usr/local/searx/searx-src/searx;
|
||||
root /usr/local/searxng/searxng-src/searxng;
|
||||
location /static { }
|
||||
}
|
||||
|
||||
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
|
||||
|
||||
mkdir -p /run/uwsgi/app/searx/
|
||||
sudo -H chown -R searx:searx /run/uwsgi/app/searx/
|
||||
mkdir -p /run/uwsgi/app/searxng/
|
||||
sudo -H chown -R searxng:searxng /run/uwsgi/app/searxng/
|
||||
|
||||
.. 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
|
||||
SearXNG application from a subdirectory URL ``https://example.org/searx/``.
|
||||
SearXNG application from a subdirectory URL ``https://example.org/searxng/``.
|
||||
|
||||
.. code:: nginx
|
||||
|
||||
# https://hostname.local/searx
|
||||
# https://hostname.local/searxng
|
||||
|
||||
location /searx {
|
||||
location /searxng {
|
||||
proxy_pass http://127.0.0.1:8888;
|
||||
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header Connection $http_connection;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Scheme $scheme;
|
||||
proxy_set_header X-Script-Name /searx;
|
||||
proxy_set_header X-Script-Name /searxng;
|
||||
proxy_buffering off;
|
||||
}
|
||||
|
||||
location /searx/static/ {
|
||||
alias /usr/local/searx/searx-src/searx/static/;
|
||||
location /searxng/static/ {
|
||||
alias /usr/local/searxng/searxng-src/searxng/static/;
|
||||
}
|
||||
|
||||
The ``X-Script-Name /searx`` is needed by the SearXNG implementation to
|
||||
The ``X-Script-Name /searxng`` is needed by the SearXNG implementation to
|
||||
calculate relative URLs correct. The next example shows a uWSGI
|
||||
configuration. Since there are no HTTP headers in a (u)WSGI protocol, the
|
||||
value is shipped via the SCRIPT_NAME_ in the WSGI environment.
|
||||
|
||||
.. code:: nginx
|
||||
|
||||
# https://hostname.local/searx
|
||||
# https://hostname.local/searxng
|
||||
|
||||
location /searx {
|
||||
uwsgi_param SCRIPT_NAME /searx;
|
||||
location /searxng {
|
||||
uwsgi_param SCRIPT_NAME /searxng;
|
||||
include uwsgi_params;
|
||||
uwsgi_pass unix:/run/uwsgi/app/searx/socket;
|
||||
uwsgi_pass unix:/run/uwsgi/app/searxng/socket;
|
||||
}
|
||||
|
||||
location /searx/static/ {
|
||||
alias /usr/local/searx/searx-src/searx/;
|
||||
location /searxng/static/ {
|
||||
alias /usr/local/searxng/searxng-src/searxng/;
|
||||
}
|
||||
|
||||
For SearXNG to work correctly the ``base_url`` must be set in the
|
||||
:origin:`searx/settings.yml`.
|
||||
:origin:`searxng/settings.yml`.
|
||||
|
||||
.. code:: yaml
|
||||
|
||||
server:
|
||||
# replace example.org with your server's public name
|
||||
base_url : https://example.org/searx/
|
||||
base_url : https://example.org/searxng/
|
||||
|
||||
|
||||
Restart service:
|
||||
|
|
@ -351,21 +351,21 @@ Restart service:
|
|||
.. code:: sh
|
||||
|
||||
sudo -H systemctl restart nginx
|
||||
sudo -H service uwsgi restart searx
|
||||
sudo -H service uwsgi restart searxng
|
||||
|
||||
.. group-tab:: Arch Linux
|
||||
|
||||
.. code:: sh
|
||||
|
||||
sudo -H systemctl restart nginx
|
||||
sudo -H systemctl restart uwsgi@searx
|
||||
sudo -H systemctl restart uwsgi@searxng
|
||||
|
||||
.. group-tab:: Fedora
|
||||
|
||||
.. code:: sh
|
||||
|
||||
sudo -H systemctl restart nginx
|
||||
sudo -H touch /etc/uwsgi.d/searx.ini
|
||||
sudo -H touch /etc/uwsgi.d/searxng.ini
|
||||
|
||||
|
||||
Disable logs
|
||||
|
|
|
|||
|
|
@ -17,51 +17,51 @@ universe repository.
|
|||
Install packages
|
||||
================
|
||||
|
||||
.. kernel-include:: $DOCS_BUILD/includes/searx.rst
|
||||
.. kernel-include:: $DOCS_BUILD/includes/searxng.rst
|
||||
:start-after: START distro-packages
|
||||
:end-before: END distro-packages
|
||||
|
||||
.. 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
|
||||
===========
|
||||
|
||||
.. kernel-include:: $DOCS_BUILD/includes/searx.rst
|
||||
.. kernel-include:: $DOCS_BUILD/includes/searxng.rst
|
||||
:start-after: START create user
|
||||
:end-before: END create user
|
||||
|
||||
.. _searx-src:
|
||||
.. _searxng-src:
|
||||
|
||||
Install SearXNG & dependencies
|
||||
==============================
|
||||
|
||||
Start a interactive shell from new created user and clone searx:
|
||||
Start a interactive shell from new created user and clone searxng:
|
||||
|
||||
.. kernel-include:: $DOCS_BUILD/includes/searx.rst
|
||||
:start-after: START clone searx
|
||||
:end-before: END clone searx
|
||||
.. kernel-include:: $DOCS_BUILD/includes/searxng.rst
|
||||
:start-after: START clone searxng
|
||||
:end-before: END clone searxng
|
||||
|
||||
In the same shell create *virtualenv*:
|
||||
|
||||
.. kernel-include:: $DOCS_BUILD/includes/searx.rst
|
||||
.. kernel-include:: $DOCS_BUILD/includes/searxng.rst
|
||||
:start-after: START create virtualenv
|
||||
:end-before: END create virtualenv
|
||||
|
||||
To install searx's dependencies, exit the SearXNG *bash* session you opened above
|
||||
To install searxng's dependencies, exit the SearXNG *bash* session you opened above
|
||||
and restart a new. Before install, first check if your *virtualenv* was sourced
|
||||
from the login (*~/.profile*):
|
||||
|
||||
.. kernel-include:: $DOCS_BUILD/includes/searx.rst
|
||||
.. kernel-include:: $DOCS_BUILD/includes/searxng.rst
|
||||
:start-after: START manage.sh update_packages
|
||||
:end-before: END manage.sh update_packages
|
||||
|
||||
.. tip::
|
||||
|
||||
Open a second terminal for the configuration tasks and leave the ``(searx)$``
|
||||
Open a second terminal for the configuration tasks and leave the ``(searxng)$``
|
||||
terminal open for the tasks below.
|
||||
|
||||
|
||||
|
|
@ -75,31 +75,31 @@ Configuration
|
|||
- :ref:`settings global`
|
||||
- :ref:`settings location`
|
||||
- :ref:`settings use_default_settings`
|
||||
- :origin:`/etc/searx/settings.yml <utils/templates/etc/searx/use_default_settings.yml>`
|
||||
- :origin:`/etc/searxng/settings.yml <utils/templates/etc/searxng/use_default_settings.yml>`
|
||||
|
||||
To create a initial ``/etc/searx/settings.yml`` you can start with a copy of the
|
||||
file :origin:`utils/templates/etc/searx/use_default_settings.yml`. This setup
|
||||
To create a initial ``/etc/searxng/settings.yml`` you can start with a copy of the
|
||||
file :origin:`utils/templates/etc/searxng/use_default_settings.yml`. This setup
|
||||
:ref:`use default settings <settings use_default_settings>` from
|
||||
:origin:`searx/settings.yml` and is recommended since :pull-searx:`2291` is merged.
|
||||
:origin:`searxng/settings.yml` and is recommended since :pull-searxng:`2291` is merged.
|
||||
|
||||
For a *minimal setup*, configure like shown below – replace ``searx@$(uname
|
||||
For a *minimal setup*, configure like shown below – replace ``searxng@$(uname
|
||||
-n)`` with a name of your choice, set ``ultrasecretkey`` -- *and/or* edit
|
||||
``/etc/searx/settings.yml`` to your needs.
|
||||
``/etc/searxng/settings.yml`` to your needs.
|
||||
|
||||
.. kernel-include:: $DOCS_BUILD/includes/searx.rst
|
||||
:start-after: START searx config
|
||||
:end-before: END searx config
|
||||
.. kernel-include:: $DOCS_BUILD/includes/searxng.rst
|
||||
:start-after: START searxng config
|
||||
:end-before: END searxng config
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. group-tab:: Use default settings
|
||||
|
||||
.. literalinclude:: ../../utils/templates/etc/searx/settings.yml
|
||||
.. literalinclude:: ../../utils/templates/etc/searxng/settings.yml
|
||||
:language: yaml
|
||||
|
||||
.. group-tab:: searx/settings.yml
|
||||
.. group-tab:: searxng/settings.yml
|
||||
|
||||
.. literalinclude:: ../../searx/settings.yml
|
||||
.. literalinclude:: ../../searxng/settings.yml
|
||||
:language: yaml
|
||||
|
||||
|
||||
|
|
@ -107,12 +107,12 @@ Check
|
|||
=====
|
||||
|
||||
To check your SearXNG setup, optional enable debugging and start the *webapp*.
|
||||
SearXNG looks at the exported environment ``$SEARX_SETTINGS_PATH`` for a
|
||||
SearXNG looks at the exported environment ``$SEARXNG_SETTINGS_PATH`` for a
|
||||
configuration file.
|
||||
|
||||
.. kernel-include:: $DOCS_BUILD/includes/searx.rst
|
||||
:start-after: START check searx installation
|
||||
:end-before: END check searx installation
|
||||
.. kernel-include:: $DOCS_BUILD/includes/searxng.rst
|
||||
:start-after: START check searxng installation
|
||||
:end-before: END check searxng installation
|
||||
|
||||
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
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
.. _searx uwsgi:
|
||||
.. _searxng uwsgi:
|
||||
|
||||
=====
|
||||
uwsgi
|
||||
|
|
@ -35,17 +35,17 @@ recommend two methods
|
|||
`systemd.unit`_ template files as described here `One service per app in systemd`_.
|
||||
|
||||
There is one `systemd unit template`_ and one `uwsgi ini file`_ per uWSGI-app
|
||||
placed at dedicated locations. Take archlinux and a searx.ini as example::
|
||||
placed at dedicated locations. Take archlinux and a searxng.ini as example::
|
||||
|
||||
unit template --> /usr/lib/systemd/system/uwsgi@.service
|
||||
uwsgi ini files --> /etc/uwsgi/searx.ini
|
||||
uwsgi ini files --> /etc/uwsgi/searxng.ini
|
||||
|
||||
The SearXNG app can be maintained as know from common systemd units::
|
||||
|
||||
systemctl enable uwsgi@searx
|
||||
systemctl start uwsgi@searx
|
||||
systemctl restart uwsgi@searx
|
||||
systemctl stop uwsgi@searx
|
||||
systemctl enable uwsgi@searxng
|
||||
systemctl start uwsgi@searxng
|
||||
systemctl restart uwsgi@searxng
|
||||
systemctl stop uwsgi@searxng
|
||||
|
||||
The `uWSGI Emperor`_ mode which fits for maintaining a large range of uwsgi apps.
|
||||
|
||||
|
|
@ -54,12 +54,12 @@ The `uWSGI Emperor`_ mode which fits for maintaining a large range of uwsgi apps
|
|||
systemd unit. The Emperor service will scan specific directories for `uwsgi
|
||||
ini file`_\s (also know as *vassals*). If a *vassal* is added, removed or the
|
||||
timestamp is modified, a corresponding action takes place: a new uWSGI
|
||||
instance is started, reload or stopped. Take Fedora and a searx.ini as
|
||||
instance is started, reload or stopped. Take Fedora and a searxng.ini as
|
||||
example::
|
||||
|
||||
to start a new SearXNG instance create --> /etc/uwsgi.d/searx.ini
|
||||
to reload the instance edit timestamp --> touch /etc/uwsgi.d/searx.ini
|
||||
to stop instance remove ini --> rm /etc/uwsgi.d/searx.ini
|
||||
to start a new SearXNG instance create --> /etc/uwsgi.d/searxng.ini
|
||||
to reload the instance edit timestamp --> touch /etc/uwsgi.d/searxng.ini
|
||||
to stop instance remove ini --> rm /etc/uwsgi.d/searxng.ini
|
||||
|
||||
Distributors
|
||||
============
|
||||
|
|
@ -80,15 +80,15 @@ do similar for the uWSGI infrastructure (with less comfort), the folders are::
|
|||
|
||||
The `uwsgi ini file`_ is enabled by a symbolic link::
|
||||
|
||||
ln -s /etc/uwsgi/apps-available/searx.ini /etc/uwsgi/apps-enabled/
|
||||
ln -s /etc/uwsgi/apps-available/searxng.ini /etc/uwsgi/apps-enabled/
|
||||
|
||||
From debian's documentation (``/usr/share/doc/uwsgi/README.Debian.gz``): You
|
||||
could control specific instance(s) by issuing::
|
||||
|
||||
service uwsgi <command> <confname> <confname> ...
|
||||
|
||||
sudo -H service uwsgi start searx
|
||||
sudo -H service uwsgi stop searx
|
||||
sudo -H service uwsgi start searxng
|
||||
sudo -H service uwsgi stop searxng
|
||||
|
||||
My experience is, that this command is a bit buggy.
|
||||
|
||||
|
|
@ -104,47 +104,47 @@ restart the uwsgi application.
|
|||
|
||||
.. group-tab:: Ubuntu / debian
|
||||
|
||||
.. kernel-include:: $DOCS_BUILD/includes/searx.rst
|
||||
:start-after: START searx uwsgi-description ubuntu-20.04
|
||||
:end-before: END searx uwsgi-description ubuntu-20.04
|
||||
.. kernel-include:: $DOCS_BUILD/includes/searxng.rst
|
||||
:start-after: START searxng uwsgi-description ubuntu-20.04
|
||||
:end-before: END searxng uwsgi-description ubuntu-20.04
|
||||
|
||||
.. hotfix: a bug group-tab need this comment
|
||||
|
||||
.. group-tab:: Arch Linux
|
||||
|
||||
.. kernel-include:: $DOCS_BUILD/includes/searx.rst
|
||||
:start-after: START searx uwsgi-description arch
|
||||
:end-before: END searx uwsgi-description arch
|
||||
.. kernel-include:: $DOCS_BUILD/includes/searxng.rst
|
||||
:start-after: START searxng uwsgi-description arch
|
||||
:end-before: END searxng uwsgi-description arch
|
||||
|
||||
.. hotfix: a bug group-tab need this comment
|
||||
|
||||
.. group-tab:: Fedora / RHEL
|
||||
|
||||
.. kernel-include:: $DOCS_BUILD/includes/searx.rst
|
||||
:start-after: START searx uwsgi-description fedora
|
||||
:end-before: END searx uwsgi-description fedora
|
||||
.. kernel-include:: $DOCS_BUILD/includes/searxng.rst
|
||||
:start-after: START searxng uwsgi-description fedora
|
||||
:end-before: END searxng uwsgi-description fedora
|
||||
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. group-tab:: Ubuntu / debian
|
||||
|
||||
.. kernel-include:: $DOCS_BUILD/includes/searx.rst
|
||||
:start-after: START searx uwsgi-appini ubuntu-20.04
|
||||
:end-before: END searx uwsgi-appini ubuntu-20.04
|
||||
.. kernel-include:: $DOCS_BUILD/includes/searxng.rst
|
||||
:start-after: START searxng uwsgi-appini ubuntu-20.04
|
||||
:end-before: END searxng uwsgi-appini ubuntu-20.04
|
||||
|
||||
.. hotfix: a bug group-tab need this comment
|
||||
|
||||
.. group-tab:: Arch Linux
|
||||
|
||||
.. kernel-include:: $DOCS_BUILD/includes/searx.rst
|
||||
:start-after: START searx uwsgi-appini arch
|
||||
:end-before: END searx uwsgi-appini arch
|
||||
.. kernel-include:: $DOCS_BUILD/includes/searxng.rst
|
||||
:start-after: START searxng uwsgi-appini arch
|
||||
:end-before: END searxng uwsgi-appini arch
|
||||
|
||||
.. hotfix: a bug group-tab need this comment
|
||||
|
||||
.. group-tab:: Fedora / RHEL
|
||||
|
||||
.. kernel-include:: $DOCS_BUILD/includes/searx.rst
|
||||
:start-after: START searx uwsgi-appini fedora
|
||||
:end-before: END searx uwsgi-appini fedora
|
||||
.. kernel-include:: $DOCS_BUILD/includes/searxng.rst
|
||||
:start-after: START searxng uwsgi-appini fedora
|
||||
:end-before: END searxng uwsgi-appini fedora
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ Installation scripts
|
|||
|
||||
.. 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
|
||||
need to get a clone. The clone is only needed for the installation procedure
|
||||
|
|
@ -35,29 +35,29 @@ and some maintenance tasks (alternatively you can create your own fork).
|
|||
|
||||
For the installation procedure, use a *sudoer* login to run the scripts. If you
|
||||
install from ``root``, take into account that the scripts are creating a
|
||||
``searx``, a ``filtron`` and a ``morty`` user. In the installation procedure
|
||||
these new created users do need read access to the clone of searx, which is not
|
||||
``searxng``, a ``filtron`` and a ``morty`` user. In the installation procedure
|
||||
these new created users do need read access to the clone of searxng, which is not
|
||||
the case if you clone into a folder below ``/root``.
|
||||
|
||||
.. code:: bash
|
||||
|
||||
$ cd ~/Downloads
|
||||
$ git clone https://github.com/searxng/searxng.git searx
|
||||
$ cd searx
|
||||
$ git clone https://github.com/searxng/searxng.git searxng
|
||||
$ cd searxng
|
||||
|
||||
.. sidebar:: further read
|
||||
|
||||
- :ref:`toolboxing`
|
||||
- :ref:`update searx`
|
||||
- :ref:`inspect searx`
|
||||
- :ref:`update searxng`
|
||||
- :ref:`inspect searxng`
|
||||
|
||||
**Install** :ref:`SearXNG service <searx.sh>`
|
||||
**Install** :ref:`SearXNG service <searxng.sh>`
|
||||
|
||||
This installs SearXNG as described in :ref:`installation basic`.
|
||||
|
||||
.. code:: bash
|
||||
|
||||
$ sudo -H ./utils/searx.sh install all
|
||||
$ sudo -H ./utils/searxng.sh install all
|
||||
|
||||
**Install** :ref:`filtron reverse proxy <filtron.sh>`
|
||||
|
||||
|
|
@ -86,12 +86,12 @@ install the SearXNG plugins from **The Green Web Foundation** `[ref]
|
|||
|
||||
.. code:: bash
|
||||
|
||||
$ sudo -H ./utils/searx.sh shell
|
||||
$ sudo -H ./utils/searxng.sh shell
|
||||
// exit with [CTRL-D]
|
||||
(searx-pyenv) searx@ryzen:~$ pip install git+https://github.com/return42/tgwf-searx-plugins
|
||||
(searxng-pyenv) searxng@ryzen:~$ pip install git+https://github.com/return42/tgwf-searx-plugins
|
||||
|
||||
In the :ref:`settings.yml` activate the ``plugins:`` section and add module
|
||||
``only_show_green_results`` from tgwf-searx-plugins.
|
||||
``only_show_green_results`` from tgwf-searxng-plugins.
|
||||
|
||||
.. code:: yaml
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
|
||||
.. _searx morty:
|
||||
.. _searxng morty:
|
||||
|
||||
=========================
|
||||
How to setup result proxy
|
||||
|
|
@ -15,9 +15,9 @@ How to setup result proxy
|
|||
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_.
|
||||
|
||||
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
|
||||
restart searx:
|
||||
restart searxng:
|
||||
|
||||
.. code:: yaml
|
||||
|
||||
|
|
@ -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``).
|
||||
|
||||
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
|
||||
:ref:`apache <apache searx via filtron plus morty>` sections.
|
||||
plus morty"* in the :ref:`nginx <nginx searxng via filtron plus morty>` and
|
||||
:ref:`apache <apache searxng via filtron plus morty>` sections.
|
||||
|
||||
``url``
|
||||
Is the address of the running morty service.
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ Configuration defaults (at built time):
|
|||
|
||||
.. _configured plugins:
|
||||
|
||||
.. jinja:: searx
|
||||
.. jinja:: searxng
|
||||
|
||||
.. flat-table:: Plugins configured at built time (defaults)
|
||||
:header-rows: 1
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
.. _update searx:
|
||||
.. _update searxng:
|
||||
|
||||
=============
|
||||
How to update
|
||||
|
|
@ -7,11 +7,11 @@ How to update
|
|||
How to update depends on the :ref:`installation` method. If you have used the
|
||||
:ref:`installation scripts`, use ``update`` command from the scripts.
|
||||
|
||||
**Update** :ref:`SearXNG service <searx.sh>`
|
||||
**Update** :ref:`SearXNG service <searxng.sh>`
|
||||
|
||||
.. code:: sh
|
||||
|
||||
sudo -H ./utils/searx.sh update searx
|
||||
sudo -H ./utils/searxng.sh update searxng
|
||||
|
||||
**Update** :ref:`filtron reverse proxy <filtron.sh>`
|
||||
|
||||
|
|
@ -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
|
||||
|
||||
.. _inspect searx:
|
||||
.. _inspect searxng:
|
||||
|
||||
======================
|
||||
How to inspect & debug
|
||||
|
|
@ -39,11 +39,11 @@ How to inspect & debug
|
|||
How to debug depends on the :ref:`installation` method. If you have used the
|
||||
:ref:`installation scripts`, use ``inspect`` command from the scripts.
|
||||
|
||||
**Inspect** :ref:`SearXNG service <searx.sh>`
|
||||
**Inspect** :ref:`SearXNG service <searxng.sh>`
|
||||
|
||||
.. code:: sh
|
||||
|
||||
sudo -H ./utils/searx.sh inspect service
|
||||
sudo -H ./utils/searxng.sh inspect service
|
||||
|
||||
**Inspect** :ref:`filtron reverse proxy <filtron.sh>`
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue