SearXNG
Приватный метапоисковик на своем сервере: собирает выдачу десятков внешних движков (Google, DuckDuckGo, Bing, Wikipedia и других) в одном месте, не логирует запросы и не профилирует. Развернули на Fatmetal Cloud Server, замерили и прогнали реальный поиск.
Вердикт
- нужен приватный поиск без cookie, профилирования и передачи вашего IP поисковикам
- хочется собрать выдачу Google, Яндекс, DuckDuckGo и десятков движков в одном интерфейсе
- цените легкость: весь стек в простое держится в пределах ~139 MiB RAM
- нужен единый движок с персонализацией и подсказками на базе вашей истории
- не готовы иногда ловить капчи и лимиты от внешних движков при активном использовании
- ждете поиск по своим документам - это метапоиск внешних источников, а не корпоративный поиск
Что это и какую задачу решает
SearXNG - метапоисковик: вы вводите запрос, а ваш сервер сам опрашивает десятки внешних движков (Google, DuckDuckGo, Bing, Wikipedia, Яндекс и другие), объединяет их выдачу и показывает вам обезличенно. Поисковики видят запрос от вашего сервера, а не от вас: ни вашего IP, ни cookie, ни истории. Сам SearXNG запросы не логирует и не строит профиль.
Проще говоря, это способ пользоваться привычной поисковой выдачей, но без слежки - замена Google и Яндекса по функции поиска, и при этом свой сервер вместо чужого приватного SaaS вроде DuckDuckGo или Startpage. Проект - форк searx, чистый community-OSS без вендора и платных тиров. По умолчанию мы поставили русскую локаль интерфейса.
Чем отличается от привычного поиска
Сравнение по тому, что влияет на приватность и контроль.
| Параметр | SearXNG | Google / Яндекс / приватный SaaS |
|---|---|---|
| Профилирование | нет: не логирует и не строит профиль | выдача персонализируется по вашей истории |
| Где крутится | ваш сервер | чужая инфраструктура |
| Источники выдачи | десятки движков сразу, настраиваются | один движок |
| Ваш IP уходит поисковикам | нет, только IP сервера | да (или доверяете это SaaS-прокси) |
| Цена | бесплатно, open-source | бесплатно за данные либо платная подписка (Kagi) |
Тех-стек и архитектура
Ядро SearXNG написано на Python (Flask), крутится на 127.0.0.1:8080 и наружу напрямую не смотрит. Перед ним - Caddy, который держит внешний :443 и сам выпускает валидный TLS-сертификат. Кэш и лимитер (защита от ботов и абуза внешних движков) - на Valkey, redis-совместимом хранилище. Итого три контейнера, поднимаются одним docker compose.
SearXNG - rolling release: вместо традиционных версий датовые сборки вида 2026.7.16+<commit>. Свежий образ с Docker Hub всегда содержит последние правки движков и парсеров - это важно, потому что внешние поисковики периодически меняют разметку.
Минимальная конфигурация
Реальные требования против официального минимума.
| Официальный минимум RAM (ядро) | 1 GB |
| RAM всего стека в простое | ~139 MiB (3 контейнера) |
| Образы на диске | ~518 MB суммарно |
| Рекомендуем тариф | CPU2-RAM4-DISK50 |
Важно: стек очень легкий, для личного и небольшого командного инстанса хватает младшего тарифа за 500 руб/мес с большим запасом. RAM растет только под нагрузкой от параллельных запросов к движкам.
Развертывание на Fatmetal
Базовый путь - Cloud Server + Ubuntu 24.04 + Docker из маркетплейса.
В маркетплейсе Fatmetal
Не хотите ставить руками?
Этот стек есть в маркетплейсе Fatmetal - можно не повторять установку из этого разбора вручную. Заказываете сервер, за пару минут получаете рабочий домен, валидный TLS и открытый поисковик.
Рекомендуемая конфигурация: CPU2-RAM4-DISK50
Создать VM
Fatmetal Cloud Server, Ubuntu 24.04, приложение Docker из маркетплейса.
Запустить установщик
curl -o install.sh ССЫЛКА-НА-СКРИПТ bash install.shСкрипт вычисляет домен из IP машины (magic-DNS), поднимает Caddy с автоматическим TLS, генерит
secret_key, ставит searxng-core за Caddy и Valkey под кэш и лимитер.Открыть поисковик
Инстанс доступен на
https://<IP-или-домен>- открытый веб-интерфейс без логина, это поисковик. Хотите закрыть инстанс - добавьте basic-auth в Caddyfile.
Что измерили после запуска
Цифры со свежей установки на живом стенде.
| RAM всего стека в простое | ~139 MiB |
| - searxng-core | 121 MiB |
| - caddy | 14.9 MiB |
| - valkey | 3.2 MiB |
| Образы на диске | ~518 MB (searxng 377 + caddy 89 + valkey 66) |
| Отклик главной (локально) | ~4 мс |
| Внешний TLS | валидный Let's Encrypt (Caddy) |
| Версия | 2026.7.16 |
Мы не ограничились открытием главной. Прогнали реальный поиск через браузер по русскому запросу - инстанс собрал живую выдачу из внешних движков (DuckDuckGo, Google, веб-архив), с указанием источника у каждого результата и временем отклика инстанса около 1.4 секунды. Русская локаль интерфейса работает из коробки.
Проверено на сборке 2026.7.16, июль 2026. SearXNG - rolling release, на новых сборках результаты могут отличаться.
Где может сломаться
Реальные грабли метапоиска на своем сервере.
Капчи и лимиты от внешних движков. Поисковики не любят запросы с датацентр-IP: при активном использовании Google и другие движки начинают отдавать капчу или временно блокировать. Лечится включением менее капризных движков, ротацией, снижением частоты или прокси - но это плата за метапоиск со своего сервера.
Rolling release. Нет привычных версий-пинов, образ latest меняется. С одной стороны это свежие парсеры движков, с другой - обновление может неожиданно поменять поведение. Обновляйтесь осознанно.
Причина. Встроенный лимитер (бот-защита на Valkey) режет запросы, похожие на автоматические - например, обращение к /search?format=json голым клиентом без браузерной сессии.
Решение. Для людей через браузер все работает штатно. Нужен программный доступ к JSON-API - настройте исключения лимитера в settings.yml или ограничьте API доверенной сетью.
Безопасность и обновления
Внешний TLS держит Caddy (валидный Let's Encrypt автоматически). Ядро слушает только localhost, наружу выходит через прокси. Приватность - основа проекта: запросы посетителей не логируются и не профилируются. Лимитер на Valkey защищает от ботов и абуза. Хотите закрыть инстанс от посторонних - добавьте basic-auth в Caddyfile.
Обновление - подтянуть свежий образ и перезапустить:
cd /opt/searxng
docker compose pull && docker compose up -d
Бэкапить особо нечего: состояние - это secret_key и settings.yml в каталоге конфигурации. Сохраните их - и инстанс воспроизводится за минуту.
Связь с другими стеками
- Браузер - можно прописать свой инстанс как поисковик по умолчанию (OpenSearch), и весь поиск идет через него.
- Обратный прокси - Caddy уже в комплекте и держит TLS; отдельный прокси не нужен.
- Приватность рядом - логично соседствует с VPN и своим DNS: поиск, канал и резолвинг под вашим контролем.
Когда это НЕ ваш выбор
Нужна персонализация как у Google
Умные подсказки, история, выдача под вас - метапоиск это осознанно не делает. Приватность и персонализация тут противоположны.
Активный публичный инстанс без тюнинга
Открытый на весь интернет высоконагруженный инстанс упрется в капчи и блоки движков. Нужен подбор движков, лимиты и, возможно, прокси - это отдельная работа.
Нужен поиск по своим документам
SearXNG ищет во внешних источниках, а не по вашим файлам и базам. Для корпоративного поиска по своим данным нужны другие инструменты.
Частые вопросы
Можно поставить без Docker?
Штатный путь - docker compose (searxng + valkey + Caddy). Есть и ручная установка Python-приложением, но Docker проще и воспроизводимее.
Хватит ли 1 GB RAM?
Да с запасом: весь стек в простое - около 139 MiB. RAM растет только под параллельной нагрузкой на движки.
Почему иногда капча или 429?
Это внешние движки и встроенный лимитер. Движки не любят датацентр-IP, лимитер режет ботоподобные запросы. Для людей через браузер поиск работает нормально.
Реально ли это приватно?
Да: поисковики видят запрос от вашего сервера, а не от вас, а сам SearXNG не логирует запросы и не профилирует. Приватность - смысл проекта.
Как обновлять?
docker compose pull && docker compose up -d. Это rolling release - обновления частые.
Можно повесить свой домен?
Да: CNAME на инстанс, прописать домен в параметрах и перезапустить установщик - Caddy выпустит TLS на него.
Что значит лицензия AGPL-3.0?
Свободный open-source. Если запускаете модифицированную версию как сетевой сервис, обязаны открыть исходники этой модификации.
Итог
SearXNG - зрелый (34 тысячи звезд, AGPL-3.0) и очень легкий способ получить приватный поиск на своем сервере: весь стек держится в пределах ~139 MiB RAM на трех контейнерах, реальный поиск собирает выдачу десятков движков без слежки, а наш установщик сразу дает валидный TLS и включенный лимитер. Главное, что держать в голове - капчи и лимиты внешних движков при активном использовании. Для личного и небольшого командного приватного поиска - отличный выбор.
Этот стек у нас запущен на тарифе CPU2-RAM4-DISK50. Нашли баг в гайде - напишите, поправим в течение дня.