# -*- mode: conf-unix; coding: utf-8 -*- [uwsgi] # Who will run the code uid = searxng gid = searxng # Number of workers (usually CPU count) # default value: %k (= number of CPU core, see Dockerfile) workers = $(UWSGI_WORKERS) harakiri = 60 # max-requests = 1000 # Restart workers after this many requests # max-worker-lifetime = 3600 # Restart workers after this many seconds reload-on-rss = 4096 # Restart workers after this much resident memory worker-reload-mercy = 60 # How long to wait before forcefully killing workers die-on-term = true # Shutdown when receiving SIGTERM (default is respawn) py-callos-afterfork = true # allow workers to trap signals # Number of threads per worker # default value: 4 (see Dockerfile) threads = $(UWSGI_THREADS) # The right granted on the created socket chmod-socket = 666 # Plugin to use and interpreter config single-interpreter = true master = true strict = true vacuum = true # Delete sockets during shutdown need-app = true plugin = python3 lazy-apps = true enable-threads = true # Module to import module = searx.webapp # Virtualenv and python path pythonpath = /usr/local/searxng/ chdir = /usr/local/searxng/searx/ # automatically set processes name to something meaningful auto-procname = true # Disable request logging for privacy disable-logging = true log-4xx = true # but log 4xx's anyway log-5xx = true # and 5xx's # Set the max size of a request (request-body excluded) buffer-size = 8192 # No keep alive # See https://github.com/searx/searx-docker/issues/24 add-header = Connection: close # Follow SIGTERM convention # See https://github.com/searxng/searxng/issues/3427 die-on-term # uwsgi serves the static files static-map = /static=/usr/local/searxng/searx/static # expires set to one day static-expires = /* 86400 static-gzip-all = True offload-threads = %k