| 
									
										
										
										
											2020-01-16 14:01:38 +01:00
										 |  |  | [uwsgi] | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # uWSGI core | 
					
						
							|  |  |  | # ---------- | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | # https://uwsgi-docs.readthedocs.io/en/latest/Options.html#uwsgi-core | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Who will run the code | 
					
						
							|  |  |  | uid = ${SERVICE_USER} | 
					
						
							|  |  |  | gid = ${SERVICE_GROUP} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
											  
											
												[fix] external_bang - UnicodeDecodeError: 'ascii' codec can't decode (#2043)
Python's default encoding depends on the platform, set (python) default encoding
UTF-8 in uwsgi ini files:
    LANG=C.UTF-8
    LANGUAGE=C.UTF-8
    LC_ALL=C.UTF-8
Error pattern:
    Traceback (most recent call last):
      File "/usr/local/searx/searx-src/searx/webapp.py", line 74, in <module>
        from searx.search import SearchWithPlugins, get_search_query_from_webapp
      File "/usr/local/searx/searx-src/searx/search.py", line 32, in <module>
        from searx.external_bang import get_bang_url
      File "/usr/local/searx/searx-src/searx/external_bang.py", line 13, in <module>
        for bang in json.load(json_file)['bang']:
      File "/usr/lib/python3.8/json/__init__.py", line 293, in load
        return loads(fp.read(),
      File "/usr/lib/python3.8/encodings/ascii.py", line 26, in decode
        return codecs.ascii_decode(input, self.errors)[0]
      UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 31341: ordinal not in range(128)
close: https://github.com/asciimoo/searx/issues/2041
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
											
										 
											2020-07-11 12:17:06 +02:00
										 |  |  | # set (python) default encoding UTF-8 | 
					
						
							|  |  |  | env = LANG=C.UTF-8 | 
					
						
							|  |  |  | env = LANGUAGE=C.UTF-8 | 
					
						
							|  |  |  | env = LC_ALL=C.UTF-8 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-01-16 14:01:38 +01:00
										 |  |  | # chdir to specified directory before apps loading | 
					
						
							| 
									
										
										
										
											2020-01-20 16:55:05 +01:00
										 |  |  | chdir = ${SEARX_SRC}/searx | 
					
						
							| 
									
										
										
										
											2020-01-16 14:01:38 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-02-17 18:58:59 +01:00
										 |  |  | # searx configuration (settings.yml) | 
					
						
							|  |  |  | env = SEARX_SETTINGS_PATH=${SEARX_SETTINGS_PATH} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-01-16 14:01:38 +01:00
										 |  |  | # disable logging for privacy | 
					
						
							|  |  |  | disable-logging = true | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # The right granted on the created socket | 
					
						
							|  |  |  | chmod-socket = 666 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Plugin to use and interpretor config | 
					
						
							|  |  |  | single-interpreter = true | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # enable master process | 
					
						
							|  |  |  | master = true | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # load apps in each worker instead of the master | 
					
						
							|  |  |  | lazy-apps = true | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # load uWSGI plugins | 
					
						
							| 
									
										
										
										
											2020-01-20 16:55:05 +01:00
										 |  |  | plugin = python3,http | 
					
						
							| 
									
										
										
										
											2020-01-16 14:01:38 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | # By default the Python plugin does not initialize the GIL.  This means your | 
					
						
							|  |  |  | # app-generated threads will not run.  If you need threads, remember to enable | 
					
						
							|  |  |  | # them with enable-threads.  Running uWSGI in multithreading mode (with the | 
					
						
							|  |  |  | # threads options) will automatically enable threading support. This *strange* | 
					
						
							|  |  |  | # default behaviour is for performance reasons. | 
					
						
							|  |  |  | enable-threads = true | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # plugin: python | 
					
						
							|  |  |  | # -------------- | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | # https://uwsgi-docs.readthedocs.io/en/latest/Options.html#plugin-python | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # load a WSGI module | 
					
						
							|  |  |  | module = searx.webapp | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # set PYTHONHOME/virtualenv | 
					
						
							|  |  |  | virtualenv = ${SEARX_PYENV} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # add directory (or glob) to pythonpath | 
					
						
							| 
									
										
										
										
											2020-01-20 16:55:05 +01:00
										 |  |  | pythonpath = ${SEARX_SRC} | 
					
						
							| 
									
										
										
										
											2020-01-16 14:01:38 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-06 14:47:00 +01:00
										 |  |  | # speak to upstream | 
					
						
							|  |  |  | # ----------------- | 
					
						
							| 
									
										
										
										
											2020-01-16 14:01:38 +01:00
										 |  |  | # | 
					
						
							| 
									
										
										
										
											2020-03-06 14:47:00 +01:00
										 |  |  | # Activate the 'http' configuration for filtron or activate the 'socket' | 
					
						
							|  |  |  | # configuration if you setup your HTTP server to use uWSGI protocol via sockets. | 
					
						
							| 
									
										
										
										
											2020-01-16 14:01:38 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-06 14:47:00 +01:00
										 |  |  | # using IP: | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | # https://uwsgi-docs.readthedocs.io/en/latest/Options.html#plugin-http | 
					
						
							| 
									
										
										
										
											2020-01-16 14:01:38 +01:00
										 |  |  | # Native HTTP support: https://uwsgi-docs.readthedocs.io/en/latest/HTTP.html | 
					
						
							| 
									
										
										
										
											2020-03-06 14:47:00 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-04-05 17:40:37 +02:00
										 |  |  | http = ${SEARX_INTERNAL_HTTP} | 
					
						
							| 
									
										
										
										
											2020-03-06 14:47:00 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | # using unix-sockets: | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | # On some distributions you need to create the app folder for the sockets:: | 
					
						
							|  |  |  | # | 
					
						
							| 
									
										
										
										
											2020-04-08 18:38:36 +02:00
										 |  |  | #   mkdir -p /run/uwsgi/app/searx | 
					
						
							| 
									
										
										
										
											2020-10-19 17:31:02 +02:00
										 |  |  | #   chown -R ${SERVICE_USER}:${SERVICE_GROUP}  /run/uwsgi/app/searx | 
					
						
							| 
									
										
										
										
											2020-03-06 14:47:00 +01:00
										 |  |  | # | 
					
						
							| 
									
										
										
										
											2020-10-19 17:31:02 +02:00
										 |  |  | # socket = /run/uwsgi/app/searx/socket | 
					
						
							| 
									
										
										
										
											2021-01-05 11:22:48 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | # Cache | 
					
						
							|  |  |  | cache2 = name=searxcache,items=2000,blocks=2000,blocksize=4096,bitmap=1 |