118 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
		
		
			
		
	
	
			118 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
| 
								 | 
							
								.. _settings.yml:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								================
							 | 
						||
| 
								 | 
							
								``settings.yml``
							 | 
						||
| 
								 | 
							
								================
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								This page describe the options possibilities of the :origin:`searx/settings.yml`
							 | 
						||
| 
								 | 
							
								file.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								.. sidebar:: Further reading ..
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								   - :ref:`use_default_settings.yml`
							 | 
						||
| 
								 | 
							
								   - :ref:`search API`
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								.. contents::
							 | 
						||
| 
								 | 
							
								   :depth: 2
							 | 
						||
| 
								 | 
							
								   :local:
							 | 
						||
| 
								 | 
							
								   :backlinks: entry
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								.. _settings location:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								settings.yml location
							 | 
						||
| 
								 | 
							
								=====================
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The initial ``settings.yml`` we be load from these locations:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								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
							 | 
						||
| 
								 | 
							
								see how you can simplify your *user defined* ``settings.yml``.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								.. _settings use_default_settings:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								use_default_settings
							 | 
						||
| 
								 | 
							
								====================
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								.. sidebar:: ``use_default_settings: true``
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								   - :ref:`settings location`
							 | 
						||
| 
								 | 
							
								   - :ref:`use_default_settings.yml`
							 | 
						||
| 
								 | 
							
								   - :origin:`/etc/searxng/settings.yml <utils/templates/etc/searxng/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:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								 ``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
							 | 
						||
| 
								 | 
							
								  the ``bind_address``:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  .. code:: yaml
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    use_default_settings: true
							 | 
						||
| 
								 | 
							
								    server:
							 | 
						||
| 
								 | 
							
								        secret_key: "ultrasecretkey"   # change this!
							 | 
						||
| 
								 | 
							
								        bind_address: "0.0.0.0"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								``engines:``
							 | 
						||
| 
								 | 
							
								  With ``use_default_settings: true``, each settings can be override in a
							 | 
						||
| 
								 | 
							
								  similar way, the ``engines`` section is merged according to the engine
							 | 
						||
| 
								 | 
							
								  ``name``.  In this example, SearXNG will load all the default engines, will
							 | 
						||
| 
								 | 
							
								  enable the ``bing`` engine and define a :ref:`token <private engines>` for
							 | 
						||
| 
								 | 
							
								  the arch linux engine:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  .. code:: yaml
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    use_default_settings: true
							 | 
						||
| 
								 | 
							
								    server:
							 | 
						||
| 
								 | 
							
								      secret_key: "ultrasecretkey"   # change this!
							 | 
						||
| 
								 | 
							
								    engines:
							 | 
						||
| 
								 | 
							
								      - name: arch linux wiki
							 | 
						||
| 
								 | 
							
								        tokens: ['$ecretValue']
							 | 
						||
| 
								 | 
							
								      - name: bing
							 | 
						||
| 
								 | 
							
								        disabled: false
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								``engines:`` / ``remove:``
							 | 
						||
| 
								 | 
							
								  It is possible to remove some engines from the default settings. The following
							 | 
						||
| 
								 | 
							
								  example is similar to the above one, but SearXNG doesn't load the the google
							 | 
						||
| 
								 | 
							
								  engine:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  .. code:: yaml
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    use_default_settings:
							 | 
						||
| 
								 | 
							
								      engines:
							 | 
						||
| 
								 | 
							
								        remove:
							 | 
						||
| 
								 | 
							
								          - google
							 | 
						||
| 
								 | 
							
								    server:
							 | 
						||
| 
								 | 
							
								      secret_key: "ultrasecretkey"   # change this!
							 | 
						||
| 
								 | 
							
								    engines:
							 | 
						||
| 
								 | 
							
								      - name: arch linux wiki
							 | 
						||
| 
								 | 
							
								        tokens: ['$ecretValue']
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								``engines:`` / ``keep_only:``
							 | 
						||
| 
								 | 
							
								  As an alternative, it is possible to specify the engines to keep. In the
							 | 
						||
| 
								 | 
							
								  following example, SearXNG has only two engines:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  .. code:: yaml
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    use_default_settings:
							 | 
						||
| 
								 | 
							
								      engines:
							 | 
						||
| 
								 | 
							
								        keep_only:
							 | 
						||
| 
								 | 
							
								          - google
							 | 
						||
| 
								 | 
							
								          - duckduckgo
							 | 
						||
| 
								 | 
							
								    server:
							 | 
						||
| 
								 | 
							
								      secret_key: "ultrasecretkey"   # change this!
							 | 
						||
| 
								 | 
							
								    engines:
							 | 
						||
| 
								 | 
							
								      - name: google
							 | 
						||
| 
								 | 
							
								        tokens: ['$ecretValue']
							 | 
						||
| 
								 | 
							
								      - name: duckduckgo
							 | 
						||
| 
								 | 
							
								        tokens: ['$ecretValue']
							 |