# -*- mode: conf; coding: utf-8 -*- [uwsgi] # uWSGI core # ---------- # # https://uwsgi-docs.readthedocs.io/en/latest/Options.html#uwsgi-core # Who will run the code / Hint: in emperor-tyrant mode uid & gid setting will be # ignored [1]. Mode emperor-tyrant is the default on fedora (/etc/uwsgi.ini). # # [1] https://uwsgi-docs.readthedocs.io/en/latest/Emperor.html#tyrant-mode-secure-multi-user-hosting # 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 = ${SEARXNG_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 interpreter 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 = ${SEARXNG_PYENV} # add directory (or glob) to pythonpath pythonpath = ${SEARXNG_SRC} # speak to upstream # ----------------- # https://uwsgi-docs.readthedocs.io/en/latest/Options.html#plugin-http # Native HTTP support: https://uwsgi-docs.readthedocs.io/en/latest/HTTP.html http = ${SEARXNG_INTERNAL_HTTP} buffer-size = 8192 # uWSGI serves the static files and in settings.yml we use:: # # ui: # static_use_hash: true # static-map = /static=${SEARXNG_STATIC} # expires set to one year since there are hashes static-expires = /* 31557600 static-gzip-all = True offload-threads = %k # Cache cache2 = name=searxngcache,items=2000,blocks=2000,blocksize=4096,bitmap=1