Приветствую! Я рад поделиться с вами руководством по настройке собственного приватного, самохостимого поискового движка с использованием SearXNG и Tailscale. Если вы цените конфиденциальность и хотите контролировать свой поисковый опыт, то это подробное руководство для вас.
Зачем самохостить свой поисковик?
В современном цифровом мире онлайн-конфиденциальность важна как никогда. Самохостинг вашего поисковика позволяет исключить слежку и рекламу, обеспечивая полностью приватный опыт. С помощью инструментов, таких как SearXNG и Tailscale, вы можете объединить несколько поисковых систем в одном месте, сохраняя полный контроль.
Начало работы с SearXNG и Tailscale
Прежде чем мы приступим к настройке, давайте кратко познакомимся с основными инструментами:
- SearXNG: полностью открытый, самохостимый поисковый движок, который агрегирует результаты из нескольких поисковых систем без слежки за вашей активностью.
- Tailscale: mesh VPN-сеть, упрощающая безопасное сетевое взаимодействие, позволяя подключать устройства безопасно и приватно.
Настройка окружения Proxmox
Для эффективного размещения наших приложений мы будем использовать Proxmox, мощную платформу виртуализации. Я проведу вас через настройку кластера Proxmox и создание рабочей среды для SearXNG.
Загрузка шаблона Debian
Начнем с загрузки шаблона Debian для нашего контейнера:
- Перейдите к опции local (локальное хранилище) на вашем узле Proxmox.
- Нажмите на CT Templates (шаблоны CT).
- Выберите Templates (шаблоны) и найдите Debian.
- Выберите последнюю доступную версию (например, 12.7-1).
Создание контейнера
Далее создадим новый контейнер для запуска SearXNG:
- Нажмите на Create CT (создать CT) в правом верхнем углу.
- Присвойте уникальный ID (например,
2001
) и назовите ваш контейнер (я назвал свой «Space Oddity«). - Установите надежный пароль для контейнера.
- Пропустите настройку SSH-ключа — сетевое взаимодействие мы настроим с помощью Tailscale.
Конфигурирование ресурсов
Выделите ресурсы для обеспечения стабильной работы:
- Хранилище: выделите около
20 ГБ
на локальном узле. - CPU: назначьте
4 ядра CPU
для оптимальной производительности. - RAM: выделите
4 ГБ
оперативной памяти.
Настройка сети
- Назначьте IP-адрес для контейнера (например,
10.42.37.100/24
). /24
обозначает маску подсети255.255.255.0
.- Введите IP-адрес шлюза вашей сети (например,
<ваш-IP-шлюза>
).
Это завершает базовую настройку вашего контейнера Proxmox. Теперь перейдем к установке Tailscale и Docker внутри него.
Установка Tailscale и Docker
С готовым контейнером мы установим Tailscale и Docker для облегчения сетевого взаимодействия и развертывания приложений.
Изменение конфигурации LXC-контейнера
Чтобы Tailscale работал корректно, нужно изменить конфигурацию контейнера:
- Найдите ID вашего контейнера (например,
2001
). - Отредактируйте файл конфигурации контейнера:
nano /etc/pve/lxc/2001.conf
- Добавьте следующую строку для предоставления необходимых разрешений:
lxc.cgroup.devices.allow: c 10:200 rwm
- Сохраните и закройте редактор.
- Запустите контейнер:
pct start 2001
Обновление пакетов контейнера
Рекомендую обновить все пакеты внутри контейнера:
apt update && apt upgrade -y
Это гарантирует, что ваша система имеет последние обновления безопасности.
Установка Tailscale
Установите Tailscale с помощью официального скрипта:
curl -fsSL https://tailscale.com/install.sh | sh
Если curl
не установлен, сначала установите его:
apt install curl -y
Установка Docker
Далее установим Docker для запуска наших приложений:
curl -fsSL https://get.docker.com | sh
Этот скрипт быстро и эффективно устанавливает Docker.
Создание Docker Compose файла для SearXNG
С установленным Docker мы создадим файл Docker Compose для определения нашего сервиса SearXNG.
Вход в систему и настройка Tailscale
После перезагрузки системы снова войдите и инициализируйте Tailscale:
tailscale up --ssh
Следуйте предоставленной ссылке для аутентификации, чтобы подключить ваше устройство к сети Tailscale.
Подготовка файла Docker Compose
Создайте и отредактируйте файл Docker Compose:
nano docker-compose.yaml
Вставьте следующий контент:
version: '3'
services:
searxng:
image: searxng/searxng
restart: always
ports:
- "8080:8080"
environment:
- BASE_URL=https://<ваш-домен-tailscale>
depends_on:
- redis
redis:
image: redis:alpine
<ваш-домен-tailscale>
на ваш фактический домен Tailscale, который вы можете найти в консоли администрирования Tailscale в разделе настроек DNS.Установка BASE_URL
Убедитесь, что переменная окружения BASE_URL
соответствует вашему домену Tailscale для корректной работы HTTPS.
Запуск вашего приватного поисковика
Теперь запустим Docker-контейнеры и приступим к работе нашего поисковика.
Запуск Docker-сервисов
Выполните следующую команду для запуска SearXNG и Redis:
docker-compose up -d
Флаг -d
запускает контейнеры в фоновом режиме.
Доступ к SearXNG локально
Откройте веб-браузер и перейдите по адресу:
http://localhost:8080
Вы должны увидеть интерфейс SearXNG, готовый к вашим запросам.
Тестирование функциональности поиска
Попробуйте поискать что-нибудь, например, «open-source проекты». Вы получите результаты, агрегированные из нескольких поисковых систем, включая DuckDuckGo, Google и Wikipedia — без рекламы и слежки.
Интеграция SearXNG с Tailscale для безопасного доступа
Чтобы безопасно получить доступ к вашему поисковику из любого места, мы интегрируем его с Tailscale.
Включение Magic DNS и HTTPS-сертификатов
- В консоли администрирования Tailscale перейдите к настройкам DNS.
- Включите Magic DNS для упрощения разрешения доменов.
- Включите HTTPS Certificates для получения TLS-сертификатов для ваших устройств.
Доступ к SearXNG через домен Tailscale
Теперь вы можете безопасно получить доступ к вашему поисковику:
https://search.<ваш-tailnet-имя>.ts.net
Этот URL использует TLS-сертификат, предоставленный Tailscale, обеспечивая безопасное соединение.
Настройка SearXNG как поисковой системы по умолчанию в Chrome
Улучшите ваш опыт серфинга, установив SearXNG в качестве поисковой системы по умолчанию в Google Chrome.
Шаги по настройке Chrome
- Откройте Chrome и перейдите в Настройки.
- Кликните на Поисковая система в боковом меню.
- Выберите Управление поисковыми системами и поиском по сайту.
- В разделе Поиск по сайту нажмите на Добавить.
- Заполните детали:
- Поисковая система: SearXNG
- Ключевое слово: sx
- URL:
https://search.<ваш-tailnet-имя>.ts.net/search?q=%s
- Нажмите Добавить.
- Найдите SearXNG в списке и нажмите на три точки рядом с ним.
- Выберите Использовать по умолчанию.
Теперь все поисковые запросы из адресной строки будут использовать ваш приватный экземпляр SearXNG.
Резюме и заключительные мысли
Мы проделали большую работу! Вот что мы сделали:
- Настроили окружение Proxmox и создали LXC-контейнер.
- Установили Tailscale и Docker внутри контейнера.
- Сконфигурировали и запустили приватный экземпляр SearXNG.
- Интегрировали Tailscale для безопасного, приватного доступа из любого места.
- Настроили SearXNG как поисковую систему по умолчанию в Chrome.
Следуя этому руководству, вы взяли под контроль свой поисковый опыт, отдавая приоритет конфиденциальности и безопасности. Я призываю вас исследовать больше возможностей Tailscale и SearXNG для дальнейшей настройки вашей системы.
Дополнительные советы и ресурсы
Исследование настроек SearXNG
SearXNG предлагает обширные возможности настройки:
- Настройка категорий поиска (например, изображения, новости, наука).
- Конфигурирование предпочтений и весов поисковых систем.
- Включение или отключение конкретных поисковых движков.
Дальнейшее обеспечение безопасности вашей системы
Рассмотрите возможность внедрения дополнительных мер безопасности:
- Используйте файрволы для ограничения доступа.
- Регулярно обновляйте ваши Docker-образы.
- Мониторьте логи на предмет подозрительной активности.
Масштабирование и производительность
Если вы планируете поддерживать нескольких пользователей:
- Рассмотрите возможность увеличения выделения CPU и RAM.
- Используйте Docker Swarm или Kubernetes для масштабируемости.
- Внедрите механизмы кэширования для более быстрого отклика.
Заключение
Спасибо, что присоединились ко мне в этом путешествии по настройке приватного, самохостимого поисковика. Сделав эти шаги, вы повысили свою онлайн-конфиденциальность и получили больший контроль над своим поисковым опытом.
Если у вас есть вопросы или нужна дополнительная помощь, не стесняйтесь обращаться. Удачных поисков!