Meilisearch – поисковый сервер с открытым исходным кодом, предназначенный для полнотекстового поиска по данным веб-приложений, сайтов и корпоративных информационных систем. Движок разработан на языке Rust и ориентирован на высокую производительность и простоту внедрения. Meilisearch предоставляет REST API, с помощью которого приложения могут выполнять индексацию данных и получать релевантные результаты поиска в реальном времени.
Meilisearch часто применяется в качестве поискового backend для систем управления контентом, корпоративных баз знаний, интернет-магазинов и веб-приложений – там, где требуется быстрый и точный поиск по большому объёму данных. Поддержка HTTP API обеспечивает простую интеграцию с популярными платформами и фреймворками, такими как, например, Node.js, Laravel, Python и другими технологиями.
В статье разберём, как установить Meilisearch на виртуальный сервер под управлением Ubuntu 24.04 или Debian 13.
Как установить Meilisearch на Ubuntu 24.04 и Debian 13
Разработчики Meilisearch рекомендуют устанавливать свой продукт на систему с библиотекой glibc (GNU C Library) версии не ниже 2.35. Чтобы проверить версию версию glibc, выполните команду:
$ ldd --version
Из вывода видно, что, например, в образе Debian 13 установлена glibc версии 2.41.

Следующей командой добавьте в систему репозиторий, из которого можно будет установить Meilisearch:
$ echo "deb [trusted=yes] https://apt.fury.io/meilisearch/ /" | sudo tee /etc/apt/sources.list.d/fury.list
Затем обновите списки пакетов:
$ sudo apt update
После чего запустите установку Meilisearch:
$ sudo apt install meilisearch
По окончании установки проверьте версию Meilisearch, чтобы убедиться, что инсталляция прошла успешно:
$ meilisearch --version

Настройка Meilisearch для работы в качестве системного сервиса
Для обеспечения автоматического запуска Meilisearch после загрузки операционной системы и повышения стабильности его работы рекомендуется настроить запуск сервиса через systemd. В такой конфигурации поисковый сервер будет функционировать в фоновом режиме, автоматически перезапускаться при сбоях и централизованно управляться стандартными средствами Linux.
Чтобы Meilisearch заработал как системный сервис, создайте для него юнит-файл, то есть файл конфигурации:
$ sudo nano /etc/systemd/system/meilisearch.service
Добавьте в него следующее содержимое:
[Unit]
Description=Meilisearch search engine
After=network.target
[Service]
Type=simple
User=meilisearch
Group=meilisearch
ExecStart=/usr/bin/meilisearch --env production \
--http-addr 127.0.0.1:7700 \
--master-key YOUR_MASTER_KEY \
--db-path /var/lib/meilisearch
Restart=always
[Install]
WantedBy=multi-user.target
Здесь обратите внимание на следующие параметры:
--env production– включает режим эксплуатации;--http-addr 127.0.0.1:7700– указывает на то, что сервис будет доступен только локально;--master-key– основной ключ доступа к API;--db-path– каталог хранения индексов;Restart=always– определяет автоматический перезапуск при сбое.
Кроме того, в качестве значения для параметра --master-key необходимо указать секретный ключ администратора Meilisearch или, другими словами, случайную строку, которая будет использоваться для доступа к API. Самый простой способ создания ключа – это его генерация командой:
$ openssl rand -hex 32
Сгенерированный командой текст вставьте в юнит-файл вместо YOUR_MASTER_KEY.
Чтобы повысить безопасность, создайте для сервиса отдельного пользователя. Таким образом служба не будет запускаться от имени учётной записи root.
$ sudo useradd -r -s /usr/sbin/nologin -m -d /var/lib/meilisearch meilisearch
В данном случае команда оперирует следующими параметрами:
-r– создание системной учётной записи;-s /usr/sbin/nologin– запрет на интерактивный вход в систему;-m– создание домашнего каталога пользователя;-d /var/lib/meilisearch– каталог, который будет использоваться пользователем в качестве домашнего;meilisearch– имя создаваемого пользователя.
Чтобы сообщить системе о появлении нового сервиса, обновите внутренний список служб:
$ sudo systemctl daemon-reload
Установите службу в автозагрузку:
$ sudo systemctl enable meilisearch
Запустите созданную службу:
$ sudo systemctl start meilisearch
Чтобы убедиться в корректности запуска сервиса, проверьте его текущее состояние:
$ systemctl status meilisearch
В выводе команды не должно присутствовать сообщений о каких-либо ошибках.

В качестве теста выполните проверку работоспособности сервиса Meilisearch через его HTTP API:
$ curl http://localhost:7700/health
Утилита curl отправляет HTTP-запрос на адрес http://localhost:7700/health, который является специальной служебной точкой для контроля состояния сервера. Если Meilisearch запущен и функционирует корректно, в ответ возвращается сообщение:
{"status":"available"}
Получение такого ответа означает, что сервис успешно стартовал, принимает соединения и готов обрабатывать поисковые запросы.
