Приветствую! Я рад поделиться с вами руководством по настройке собственного приватного, самохостимого поискового движка с использованием 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).
💡
Использование последнего шаблона Debian гарантирует, что у вас самые актуальные функции и исправления безопасности.

Создание контейнера

Далее создадим новый контейнер для запуска 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

Убедитесь, что вы правильно добавили строку разрешений, чтобы избежать проблем с Tailscale.

Обновление пакетов контейнера

Рекомендую обновить все пакеты внутри контейнера:

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-сертификатов для ваших устройств.
💡
Magic DNS позволяет получать доступ к вашим устройствам с помощью доменных имен вместо IP-адресов.

Доступ к SearXNG через домен Tailscale

Теперь вы можете безопасно получить доступ к вашему поисковику:

https://search.<ваш-tailnet-имя>.ts.net

Этот URL использует TLS-сертификат, предоставленный Tailscale, обеспечивая безопасное соединение.

Инфографика, показывающая интеграцию Proxmox, Docker, SearXNG и Tailscale
Инфографика, показывающая инструменты инфраструктуры
✔️
Теперь ваш поисковик доступен безопасно из любого места в вашей сети 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 для дальнейшей настройки вашей системы.

💡
Для получения дополнительной информации о Tailscale и его возможностях посетите их официальную документацию.

Дополнительные советы и ресурсы

Исследование настроек SearXNG

SearXNG предлагает обширные возможности настройки:

  • Настройка категорий поиска (например, изображения, новости, наука).
  • Конфигурирование предпочтений и весов поисковых систем.
  • Включение или отключение конкретных поисковых движков.

Дальнейшее обеспечение безопасности вашей системы

Рассмотрите возможность внедрения дополнительных мер безопасности:

  • Используйте файрволы для ограничения доступа.
  • Регулярно обновляйте ваши Docker-образы.
  • Мониторьте логи на предмет подозрительной активности.

Масштабирование и производительность

Если вы планируете поддерживать нескольких пользователей:

  • Рассмотрите возможность увеличения выделения CPU и RAM.
  • Используйте Docker Swarm или Kubernetes для масштабируемости.
  • Внедрите механизмы кэширования для более быстрого отклика.

Заключение

Спасибо, что присоединились ко мне в этом путешествии по настройке приватного, самохостимого поисковика. Сделав эти шаги, вы повысили свою онлайн-конфиденциальность и получили больший контроль над своим поисковым опытом.

Если у вас есть вопросы или нужна дополнительная помощь, не стесняйтесь обращаться. Удачных поисков!


Категоризовано в:

Proxmox, Серверы, Технологии, Туториалы,