From 4b7379914a1865f07b2c54252234cc90158fc253 Mon Sep 17 00:00:00 2001 From: Miguel Dalberto Pedro Date: Thu, 29 Oct 2026 12:48:06 -0300 Subject: feat(iac): establish Ansible baseline for Nginx, SearXNG, Valkey, and Certbot - Reverse-engineer live Debian 13 (trixie) VPS state at miguelpedro.xyz.br - Add modular Ansible roles: common, certbot, valkey, searxng, and nginx - Encrypt SearXNG secret_key using ansible-vault in group_vars/all/vault.yml - Cleanly remove unused example.com Nginx stub symlink (sites-enabled/miguelpedro.xyz.br) - Scaffold cgit + fcgiwrap role (cgit_enabled: false) for upcoming deployment - Add DISCOVERY_REPORT.md, COMMAND_LOG.md, README.md, and AGENT_INSTRUCTIONS.md with Self-Updating Protocol --- roles/searxng/templates/uwsgi-searxng.ini.j2 | 78 ++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 roles/searxng/templates/uwsgi-searxng.ini.j2 (limited to 'roles/searxng/templates/uwsgi-searxng.ini.j2') diff --git a/roles/searxng/templates/uwsgi-searxng.ini.j2 b/roles/searxng/templates/uwsgi-searxng.ini.j2 new file mode 100644 index 0000000..87e333f --- /dev/null +++ b/roles/searxng/templates/uwsgi-searxng.ini.j2 @@ -0,0 +1,78 @@ +# -*- 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 = {{ searxng_user }} +gid = {{ searxng_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_dir }}/searx + +# SearXNG configuration (settings.yml) +env = SEARXNG_SETTINGS_PATH=/etc/searxng/settings.yml + +# 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 + +# Number of workers (usually CPU count) +workers = %k +threads = 4 + +# 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_venv_dir }} + +# add directory (or glob) to pythonpath +pythonpath = {{ searxng_src_dir }} + + +# speak to upstream +# ----------------- + +socket = {{ searxng_socket_path }} +buffer-size = 8192 + +offload-threads = %k -- cgit v1.2.3