[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} # chdir to specified directory before apps loading chdir = ${SEARX_SRC}/searx # searx configuration (settings.yml) env = SEARX_SETTINGS_PATH=${SEARX_SETTINGS_PATH} # disable logging for privacy logger = systemd 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 = python # 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_URL} # using unix-sockets: # # On some distributions you need to create the app folder for the sockets:: # # mkdir -p /run/uwsgi/app/searx/socket # chmod -R ${SERVICE_USER}:${SERVICE_GROUP} /run/uwsgi/app/searx/socket # # socket = /run/uwsgi/app/searx/socket