search.rymstudio.it
nasce search.rymstudio.it metamotore di ricerca
da un paio di settimane è attivo https://search.rymstudio.it un pagine utile per le ricerche in rete, si tratta di una istanza SearXNG un metamotore di ricerca opensource che vi permette di eseguire semplici ricerche in modo trasparente, anonimo, senza tracciamento, raccolta dati, registrazione e senza propinarvi l'interazione con l'IA di turno ad ogni piè sospinto. Mi sono incuriosito per l'utilizzo di questo strumento ed ho deciso di mettere su una macchina dedicata, tutto è stato fatto, per quelle che sono le mie capacità, a regola d'arte e al momento il motore gira ed è utilizzabile, vi lascio di seguito una guida all'installazione, non che non vi sia documentazione online, ma spesso molte cose, dettagli, sono dati per scontati e alcune problematiche possono risultare ostiche per i non addetti ai lavori come il sottoscritto.
solitamente quando mi avventuro in imprese come questa mi segno tutti i passaggi che poi riordino in modo da ritrovarmi con una piccola guida utile per il futuro o nel caso dovessi rifare la stessa cosa, così da ricordarmi tutti i passaggi, i problemi che ho incontrato e come li ho risolti. Non nego che la configurazione si SearXNG mi ha un po' messo alla prova, tanto che ad un certo punto ho spianato tutto e sono ripartito da zero. La guida di seguito potrebbe, anzi sicuramente avrà, parecchie lacune, tuttavia la trovo completa per quanto possibile, basata sulla mia personale esperienza non è da considerare come un documento tecnico di riferimento, lascio agli esperti ed al supporto ufficiale di SearXNG la scopo di dare informazioni tecniche precise.
ho installato il servizio su una macchina Debian 12 attrezzata con un processore Amd Ryzen 9 5950X e ben 1Gb di Ram.
Usate il mio metamotore, che è in continuo sviluppo ed aggiornamento o, in alternativa, mettetene su uno tutto vostro! riprendiamoci la nostra rete, riprendiamoci internet!
Guida Completa: Installazione SearXNG su Debian 12
Requisiti: Debian 12, minimo 1GB RAM, dominio configurato con record A
FASE 1: Preparazione Sistema
1.1 Aggiornamento e Installazione Pacchetti
1sudo apt-get update
2sudo apt-get install -y \
3 python3-dev python3-babel python3-venv \
4 uwsgi uwsgi-plugin-python3 \
5 git build-essential libxslt-dev zlib1g-dev libffi-dev libssl-dev \
6 nginx certbot python3-certbot-nginx \
7 redis-server
1.2 Verifica DNS
1dig tuodominio.it +short
2# Deve restituire l'IP corretto del server
FASE 2: Creazione Utente e Directory
1# Crea utente di sistema
2sudo useradd --shell /bin/bash --system \
3 --home-dir "/usr/local/searxng" \
4 --comment 'Privacy-respecting metasearch engine' \
5 searxng
6
7# Crea directory
8sudo mkdir -p /usr/local/searxng
9sudo chown -R searxng:searxng /usr/local/searxng
FASE 3: Download e Installazione SearXNG
3.1 Clone Repository
1sudo -H -u searxng bash -c '
2git clone "https://github.com/searxng/searxng" "/usr/local/searxng/searxng-src"
3'
3.2 Creazione Virtual Environment
1sudo -H -u searxng bash -c '
2python3 -m venv "/usr/local/searxng/searx-pyenv"
3echo ". /usr/local/searxng/searx-pyenv/bin/activate" >> "/usr/local/searxng/.profile"
4'
3.3 Installazione Dipendenze Python
1# Aggiorna pip e tool base
2sudo -H -u searxng bash -c '
3source /usr/local/searxng/searx-pyenv/bin/activate
4pip install -U pip setuptools wheel pyyaml msgspec
5'
6
7# Installa SearXNG
8sudo -H -u searxng bash -c '
9source /usr/local/searxng/searx-pyenv/bin/activate
10cd /usr/local/searxng/searxng-src
11pip install --use-pep517 --no-build-isolation -e .
12'
IMPORTANTE: Se msgspec manca, installalo prima: pip install msgspec
FASE 4: Configurazione SearXNG
4.1 Crea File di Configurazione
1# Crea directory
2sudo mkdir -p /etc/searxng
3
4# Copia template
5sudo cp /usr/local/searxng/searxng-src/utils/templates/etc/searxng/settings.yml /etc/searxng/settings.yml
6
7# Genera chiave segreta
8sudo sed -i "s/ultrasecretkey/$(openssl rand -hex 32)/g" /etc/searxng/settings.yml
9
10# Configura base_url (HTTPS)
11sudo sed -i "s|# base_url: http://example.com/location|base_url: https://tuodominio.it|g" /etc/searxng/settings.yml
12
13# Abilita limiter e image proxy
14sudo sed -i "s/limiter: false/limiter: true/g" /etc/searxng/settings.yml
15sudo sed -i "s/image_proxy: false/image_proxy: true/g" /etc/searxng/settings.yml
16
17# Configura Redis
18sudo sed -i 's/url: false/url: valkey:\/\/localhost:6379\/0/g' /etc/searxng/settings.yml
19
20# Assegna permessi
21sudo chown -R searxng:searxng /etc/searxng
4.2 Personalizzazione (Opzionale)
1sudo nano /etc/searxng/settings.yml
Modifica:
instance_name: "Tuo Nome"default_lang: "it"(per lingua italiana)safe_search: 2(0=off, 1=moderato, 2=strict)
FASE 5: Configurazione uWSGI
1# Crea file configurazione
2sudo nano /etc/uwsgi/apps-available/searxng.ini
Contenuto:
1[uwsgi]
2uid = searxng
3gid = searxng
4
5env = LANG=C.UTF-8
6env = LANGUAGE=C.UTF-8
7env = LC_ALL=C.UTF-8
8
9chdir = /usr/local/searxng/searxng-src
10env = SEARXNG_SETTINGS_PATH=/etc/searxng/settings.yml
11
12disable-logging = true
13chmod-socket = 666
14
15single-interpreter = true
16master = true
17plugin = python3
18lazy-apps = true
19enable-threads = 4
20
21# Per server con 1GB RAM: 1 worker
22workers = 1
23threads = 2
24
25static-map = /static=/usr/local/searxng/searxng-src/searx/static
26static-expires = /* 86400
27static-gzip-all = True
28offload-threads = 2
29
30virtualenv = /usr/local/searxng/searx-pyenv
31module = searx.webapp
32
33socket = /run/uwsgi/app/searxng/socket
34# Abilita configurazione
35sudo ln -s /etc/uwsgi/apps-available/searxng.ini /etc/uwsgi/apps-enabled/searxng.ini
36
37# Crea directory socket
38sudo mkdir -p /run/uwsgi/app/searxng
39sudo chown searxng:searxng /run/uwsgi/app/searxng
FASE 6: Configurazione Nginx
1sudo nano /etc/nginx/sites-available/searxng.conf
Contenuto:
1# Blocco HTTP - redirect a HTTPS
2server {
3 listen 80;
4 listen [::]:80;
5 server_name tuodominio.it;
6
7 location /.well-known/acme-challenge/ {
8 root /var/www/html;
9 }
10
11 location / {
12 return 301 https://$host$request_uri;
13 }
14}
15
16# Blocco HTTPS
17server {
18 listen 443 ssl http2;
19 listen [::]:443 ssl http2;
20 server_name tuodominio.it;
21
22 ssl_certificate /etc/letsencrypt/live/tuodominio.it/fullchain.pem;
23 ssl_certificate_key /etc/letsencrypt/live/tuodominio.it/privkey.pem;
24 include /etc/letsencrypt/options-ssl-nginx.conf;
25 ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
26
27 access_log /var/log/nginx/searxng.access.log;
28 error_log /var/log/nginx/searxng.error.log;
29
30 location / {
31 include uwsgi_params;
32 uwsgi_pass unix:/run/uwsgi/app/searxng/socket;
33
34 uwsgi_param HTTP_X_FORWARDED_PROTO https;
35 uwsgi_param HTTP_X_FORWARDED_FOR $proxy_add_x_forwarded_for;
36 uwsgi_param HTTP_HOST $host;
37 }
38
39 location /static {
40 alias /usr/local/searxng/searxng-src/searx/static;
41 expires 1y;
42 add_header Cache-Control "public, immutable";
43 }
44}
45# Attiva configurazione
46sudo ln -s /etc/nginx/sites-available/searxng.conf /etc/nginx/sites-enabled/
47sudo rm -f /etc/nginx/sites-enabled/default
48
49# Testa configurazione
50sudo nginx -t
FASE 7: Certificato SSL
1# Ottieni certificato Let's Encrypt
2sudo certbot --nginx -d tuodominio.it
3
4# Certbot modificherà automaticamente la configurazione nginx
FASE 8: Avvio Servizi
1# Abilita e avvia Redis
2sudo systemctl enable redis-server
3sudo systemctl start redis-server
4
5# Abilita e avvia uWSGI
6sudo systemctl enable uwsgi
7sudo systemctl restart uwsgi
8
9# Abilita e avvia Nginx
10sudo systemctl enable nginx
11sudo systemctl restart nginx
Verifica Stato Servizi
1sudo systemctl status redis-server
2sudo systemctl status uwsgi
3sudo systemctl status nginx
FASE 9: Test Installazione
Test Locale
1curl -I https://tuodominio.it
2# Deve restituire: HTTP/2 200
Test Browser
Apri: https://tuodominio.it in modalità incognito
FASE 10: Personalizzazione Logo (Opzionale)
10.1 Scarica Immagini Originali
1mkdir ~/temp_img
2cp /usr/local/searxng/searxng-src/searx/static/themes/simple/img/searxng.png ~/temp_img/
3cp /usr/local/searxng/searxng-src/searx/static/themes/simple/img/favicon.png ~/temp_img/
10.2 Modifica Immagini
Scarica i file sul tuo PC (via SFTP/SCP), modifica con editor grafico, e ricarica.
10.3 Sostituisci Immagini
1sudo cp ~/temp_img/searxng.png /usr/local/searxng/searxng-src/searx/static/themes/simple/img/searxng.png
2sudo cp ~/temp_img/favicon.png /usr/local/searxng/searxng-src/searx/static/themes/simple/img/favicon.png
3
4# Riavvia servizi
5sudo systemctl restart uwsgi
6sudo systemctl restart nginx
MANUTENZIONE
Restart Servizi
1sudo systemctl restart uwsgi
2sudo systemctl restart nginx
3sudo systemctl restart redis-server
Visualizza Log
1# Log uWSGI
2sudo journalctl -u uwsgi -f
3
4# Log Nginx
5sudo tail -f /var/log/nginx/searxng.error.log
6sudo tail -f /var/log/nginx/searxng.access.log
Backup Configurazione
1sudo cp /etc/searxng/settings.yml /backup/settings.yml.backup
Aggiornamento SearXNG
1sudo -H -u searxng bash -c '
2cd /usr/local/searxng/searxng-src
3git pull
4source /usr/local/searxng/searx-pyenv/bin/activate
5pip install --upgrade --use-pep517 --no-build-isolation -e .
6'
7
8sudo systemctl restart uwsgi
Rinnovo Certificato SSL
1# Automatico con certbot
2sudo certbot renew --dry-run
TROUBLESHOOTING
Loop di Redirect (ERR_TOO_MANY_REDIRECTS)
Causa: Mismatch tra configurazione SearXNG (HTTP) e nginx (HTTPS)
Soluzione:
1# Verifica base_url in settings.yml
2grep base_url /etc/searxng/settings.yml
3# Deve essere: base_url: https://tuodominio.it
4
5# Verifica nginx usa HTTP_X_FORWARDED_PROTO
6grep HTTP_X_FORWARDED_PROTO /etc/nginx/sites-available/searxng.conf
404 Not Found da localhost
Causa: uWSGI non risponde
Soluzione:
1# Verifica socket
2ls -la /run/uwsgi/app/searxng/socket
3
4# Riavvia uWSGI
5sudo systemctl restart uwsgi
6
7# Controlla log
8sudo journalctl -u uwsgi -n 50
Logo non cambia dopo modifica
Causa: Cache browser ostinata
Soluzione:
- Modalità incognito
- CTRL+SHIFT+R (hard refresh)
- Cancella cache sito specifico
- Prova da altro dispositivo
Too Many Requests (429)
Causa: Limiter blocca richieste
Soluzione temporanea:
1sudo sed -i 's/limiter: true/limiter: false/g' /etc/searxng/settings.yml
2sudo systemctl restart uwsgi
FILE IMPORTANTI
- Configurazione principale:
/etc/searxng/settings.yml - Template HTML:
/usr/local/searxng/searxng-src/searx/templates/simple/ - Immagini/Logo:
/usr/local/searxng/searxng-src/searx/static/themes/simple/img/ - Config nginx:
/etc/nginx/sites-available/searxng.conf - Config uWSGI:
/etc/uwsgi/apps-available/searxng.ini - Virtualenv Python:
/usr/local/searxng/searx-pyenv/
CHECKLIST POST-INSTALLAZIONE
✅ SearXNG risponde su HTTPS
✅ Certificato SSL valido
✅ Redis attivo
✅ Limiter abilitato
✅ Image proxy abilitato
✅ Nome istanza personalizzato
✅ Logo personalizzato (opzionale)
✅ Backup configurazione eseguito
NOTE FINALI
- RAM: Con 1GB RAM usa
workers = 1in uwsgi.ini - Aggiornamenti: Controlla regolarmente
git pullper aggiornamenti - Sicurezza: Mantieni sempre aggiornato Debian e i pacchetti
- Monitoraggio: Controlla periodicamente i log per errori
Documentazione ufficiale: https://docs.searxng.org/
Guida creata da installazione reale su Debian 12 - Novembre 2025