Typesense – поисковый движок с открытым исходным кодом, предназначенный для быстрого полнотекстового поиска по сайтам, приложениям и внутренним сервисам. Он предоставляет API для индексации данных и выполнения поисковых запросов, а также поддерживает автодополнение, фильтрацию результатов и работу с релевантностью поиска. При этом Typesense отличается простой установкой и настройкой по сравнению с более тяжёлыми решениями, такими как OpenSearch или Elasticsearch. Благодаря скромным системным требованиям, Typesense подходит для проектов, где требуется быстрый поиск без настройки сложной кластерной инфраструктуры.
В статье разберём, как установить Typesense на VPS, работающий под управлением Ubuntu или Debian.
Как установить Typesense на Ubuntu и Debian
Ниже рассмотрим пример установки Typesense с использованием установочного пакета для систем, основанных на Debian. К данным системам относятся как сам Debian, так и Ubuntu.
Перед началом установки обновите список пакетов в системе, после чего проинсталлируйте утилиту для загрузки файлов из сети – curl:
$ sudo apt update
$ sudo apt install curl
Далее с официального сервера разработчиков в текущий каталог при помощи утилиты curl загрузите установочный пакет Typesense. На момент написания статьи актуальной версией пакета является версия 30.2:
$ curl -O https://dl.typesense.org/releases/30.2/typesense-server-30.2-amd64.deb
По окончании загрузки запустите установку загруженного deb-пакета Typesense:
$ sudo apt install ./typesense-server-30.2-amd64.deb
В процессе выполнения команда:
- распаковывает содержимое deb-файла;
- копирует бинарные файлы программы в системные каталоги;
- размещает конфигурационные файлы;
- регистрирует пакет в базе
dpkg; - создаёт, запускает и устанавливает в автозагрузку системную службу
typesense-server.
Проверить состояние службы можно при помощи команды:
$ systemctl status typesense-server.service
В выводе команды не должно быть сообщений о каких-либо ошибках.

Для проверки работоспособности Typesense при помощи утилиты curl отправьте HTTP-запрос к локальному API-серверу:
$ curl http://localhost:8108/health
Если Typesense стартовал корректно, команда возвращает JSON-ответ {"ok":true}.

Это должно означать, что поисковый сервер работает и принимает запросы.
Также работоспособность Typesense можно проверить, открыв браузер и перейдя по ссылке вида http://X.X.X.X:8108/health, где X.X.X.X нужно заменить на IP-адрес сервера или доменное имя, привязанное к данному IP-адресу.

При этом браузер также должен открыть простой JSON-ответ {"ok": true}.
Перед проверкой через браузер откройте доступ к серверу по порту 8108, который слушает поисковый сервер. Для этого добавьте в брандмауэр UFW соответствующее разрешающее правило:
$ sudo ufw allow 8108/tcp
