Как да инсталираме SearXNG с Docker Compose на Ubuntu 24.04

Как да инсталираме SearXNG с Docker Compose на Ubuntu 24.04

SearXNG е свободна и отворена мета-търсачка, която обединява резултати от над 70 различни търсачки, като същевременно пази вашата поверителност. Тя не ви следи, не запазва вашите IP адреси или история на търсенето и не изпраща бисквитки. Инсталирането ѝ с Docker Compose на Ubuntu 24.04 е ефективен начин да я стартирате бързо и лесно, като се възползвате от изолацията и преносимостта, които предлага Docker.

В това изчерпателно ръководство ще ви преведем през всяка стъпка от процеса – от актуализиране на системата до конфигуриране на SearXNG и осигуряване на нейната сигурност.

Предпоставки

Преди да започнем, уверете се, че имате следното:

  • Ubuntu 24.04 LTS инсталирана система.
  • Sudo потребител с привилегии за изпълнение на административни команди.
  • Достъп до интернет.

Стъпка 1: Актуализиране на системата

Винаги е добра практика да започнете с актуализиране на пакетите във вашата система, за да сте сигурни, че разполагате с най-новите версии и корекции на сигурността.

Отворете терминал и изпълнете следните команди:

sudo apt update
sudo apt upgrade -y
sudo apt autoremove -y

Тези команди ще обновят списъка с налични пакети, ще инсталират всички чакащи актуализации и ще премахнат ненужните пакети.


Стъпка 1: Инсталиране на Docker и Docker Compose

Първо трябва да инсталираме Docker. Отворете терминала и изпълнете следните команди:

# 1. Обновяване на системата
sudo apt update && sudo apt upgrade -y

# 2. Инсталиране на зависимости
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release

# 3. Добавяне на Docker GPG ключ
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

# 4. Добавяне на Docker репозиториото
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] \
  https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 5. Обновяване на списъка и инсталиране на Docker и Docker Compose (v2 е включен като plugin)
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

Добавете вашия потребител към Docker групата:

sudo usermod -aG docker $USER

Важно! 🚨 Излезте и влезте отново в системата за да влязат в сила промените.

Проверете дали Docker работи правилно:

docker --version
docker compose version

Стъпка 2: Създаване на работна директория

Лично аз съхранявам всичките си докери в папка докери в домашната си директория. Ако не съществува, създайте тази папка:

mkdir dockers

След това в папката dockers създайте папка, в която ще разположим SearXNG:

mkdir -p searxng
cd searxng

Стъпка 3: Създайте docker-compose.yml

Тук се случва магията. Ще създадем конфигурационен файл, който описва как да стартираме SearXNG.

nano docker-compose.yml

Поставете следния код:

services:
  searxng:
    image: searxng/searxng:latest
    container_name: searxng
    ports:
      - "8080:8080"
    environment:
      - BASE_URL=http://localhost:8080/
      - INSTANCE_NAME=MySearXNG
      - TZ=Europe/Sofia
    volumes:
      - ./searxng-data:/etc/searxng:rw
    restart: unless-stopped

Стъпка 4: Създайте директорията за данни:

Преди да стартирате контейнера, трябва да създадете директорията, която ще се използва за съхранение на конфигурацията:

mkdir searxng-data

Стъпка 5: Стартиране на SearXNG контейнера

След като docker-compose.yml е готов, можете да стартирате SearXNG.

  1. Стартирайте контейнера във фонов режим: Отидете до директорията, където сте запазили docker-compose.yml (ако не сте там) и изпълнете:
docker compose up -d

Проверете състоянието на контейнера:

Можете да проверите дали контейнерът работи коректно с:

docker ps

Стъпка 6: Достъп до SearXNG

След като контейнерът е стартиран, можете да достъпите вашата SearXNG инстанция.

Отворете уеб браузър и въведете:

http://<IP на сървъра>:8080

Ако сте променили порта в docker-compose.yml или сте използвали IP адрес/домейн, използвайте съответния URL.


Стъпка 7: Конфигуриране на SearXNG (по избор)

SearXNG е силно конфигурируем. Основният конфигурационен файл е settings.yml, който вече се съхранява персистентно във вашата searxng-data директория.

  1. В този файл можете да променяте много неща, като например:
    • Активиране/Деактивиране на търсачки: Търсете секцията engines: Можете да коментирате или разкоментирате редове, за да включите или изключите конкретни търсачки.Изменение на теми: В секцията themes:Настройки за прокси: Ако имате нужда от прокси за изходящи връзки.Разрешения за потребители/достъп: За по-напреднали настройки на достъп (вижте документацията на SearXNG за ip_whitelist).Ограничения на честотата (Rate Limiting): За да предотвратите злоупотреби.
    ВАЖНО: След като направите промени в settings.yml, трябва да рестартирате контейнера, за да влязат в сила:
cd ~/searxng
docker compose restart searxng

Поддържане на SearXNG

  • Актуализиране на SearXNG: За да актуализирате SearXNG до най-новата версия, отидете в директорията с docker-compose.yml и изпълнете:
docker compose pull searxng
docker compose up -d

Това ще изтегли най-новия образ и ще пресъздаде контейнера.

Заключение

Поздравления! Вече имате работеща инсталация на SearXNG на вашия Ubuntu 24.04 сървър, управлявана от Docker Compose. Този подход осигурява лесна поддръжка, актуализация и преносимост, като същевременно ви предоставя мощна и частна търсачка. Не забравяйте да персонализирате конфигурацията си и да обмислите осигуряването на HTTPS за публични инстанции.

Ако срещнете проблеми, проверете логовете на контейнера (docker compose logs searxng).

Федя Серафиев

Федя Серафиев

Федя Серафиев e собственик на уебсайта urocibg.eu. Той намира удовлетворение в това да помага на хората да решават и най-сложните технически проблеми. Сегашната му цел е да пише лесни за следване статии, така че подобни проблеми изобщо да не възникват.

Благодарим ви за прочитането на статията! Ако намерихте информацията за полезна, можете да дарите посредством бутоните по-долу: