|  | [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}
 | 
						
						
						
							|  | 
 | 
						
						
						
							|  | # set (python) default encoding UTF-8
 | 
						
						
						
							|  | env = LANG=C.UTF-8
 | 
						
						
						
							|  | env = LANGUAGE=C.UTF-8
 | 
						
						
						
							|  | env = LC_ALL=C.UTF-8
 | 
						
						
						
							|  | 
 | 
						
						
						
							|  | # chdir to specified directory before apps loading
 | 
						
						
						
							|  | chdir = ${SEARX_SRC}/searx
 | 
						
						
						
							|  | 
 | 
						
						
						
							|  | # SearXNG configuration (settings.yml)
 | 
						
						
						
							|  | env = SEARXNG_SETTINGS_PATH=${SEARXNG_SETTINGS_PATH}
 | 
						
						
						
							|  | 
 | 
						
						
						
							|  | # 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
 | 
						
						
						
							|  | plugin = python3,http
 | 
						
						
						
							|  | 
 | 
						
						
						
							|  | # 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
 | 
						
						
						
							|  | pythonpath = ${SEARX_SRC}
 | 
						
						
						
							|  | 
 | 
						
						
						
							|  | 
 | 
						
						
						
							|  | # speak to upstream
 | 
						
						
						
							|  | # -----------------
 | 
						
						
						
							|  | #
 | 
						
						
						
							|  | # Activate the 'http' configuration for filtron or activate the 'socket'
 | 
						
						
						
							|  | # configuration if you setup your HTTP server to use uWSGI protocol via sockets.
 | 
						
						
						
							|  | 
 | 
						
						
						
							|  | # using IP:
 | 
						
						
						
							|  | #
 | 
						
						
						
							|  | # https://uwsgi-docs.readthedocs.io/en/latest/Options.html#plugin-http
 | 
						
						
						
							|  | # Native HTTP support: https://uwsgi-docs.readthedocs.io/en/latest/HTTP.html
 | 
						
						
						
							|  | 
 | 
						
						
						
							|  | # http = ${SEARX_INTERNAL_HTTP}
 | 
						
						
						
							|  | 
 | 
						
						
						
							|  | # using unix-sockets:
 | 
						
						
						
							|  | #
 | 
						
						
						
							|  | # On some distributions you need to create the app folder for the sockets::
 | 
						
						
						
							|  | #
 | 
						
						
						
							|  | #   mkdir -p /run/uwsgi/app/searx
 | 
						
						
						
							|  | #   chown -R ${SERVICE_USER}:${SERVICE_GROUP}  /run/uwsgi/app/searx
 | 
						
						
						
							|  | #
 | 
						
						
						
							|  | socket = /run/uwsgi/app/searx/socket |