Полнотекстовый поиск

Вопрос немного не про Yii.
Крутится у меня pet проект с 2018 года, на простом сервере RAM 512 MB, Disc 10 GB, CPU 1*2 GHz.
Решил перевести наконец на докер его разработку.
Движок для полнотекстового поиска был Sphinx, перешел на его опенсорс наследника Manticore.
Купил новый виртуальный сервер.
Развернул докер, всё понялось успешно, ошибок в логах нет.
Но вот приложение по mysql протоколу подключаться не хочет. Ошибка SQLSTATE[HY000] [2002] Connection refused.
В чем дело так и не смог понять причину. Тот же самый докер, что и локально, те же самые порты, вертел и так и этак, вчера полдня убил. Степень злости зашкалила.
Думаю, ну и нафиг его этот сфинкс/мантикору, всё равно его конфигурация какая-то сильно сложная. Возьму что-то посовременнее по-быстрому прикручу.
Elasticsearch, установил локально, всё вроде работает, но стало вылетать с ошибкой из-за недостатка памяти.
manticore потребление памяти 61.89MiB
elasticsearch - 12.17GiB
Я охренел. Я прикинул сколько это денег нужно, чтобы это чудо работало на виртуальном сервере. И понял, что elastic подходит только для разрабов-богатеев :slight_smile:
Помогите. Либо скиньте свою настройку мантикоры для docker и Yii2. Либо посоветуйте ресурсонетребовательную альтернативу.
Заранее спасибо

Докер как развёрнут? compose/swarm/k8s?

Elasticsearch дико прожорливый. Если всё влезает в Sphinx, лучше остаться на нём или мантикоре.

Привет. Compose

docker-compose.yml

manticore:
    container_name: manticore
    image: manticoresearch/manticore
    environment:
      - EXTRA=1
      - CREATE_PLAIN_TABLES=1
    restart: always
    ports:
      - 9308:9306
    ulimits:
      nproc: 65535
      nofile:
        soft: 65535
        hard: 65535
      memlock:
        soft: -1
        hard: -1
    volumes:
      - ./:/var/www
      - ./docker/manticore/data:/var/lib/manticore/data:rw
      - "./docker/manticore/manticore-$ENV.conf:/etc/manticoresearch/manticore.conf:rw"
    networks:
      - default
    depends_on:
      - postgresql

Конфиг матикоры (за исключением лишних деталей):

source src_base
{
	type = pgsql
	sql_host = postgresql
	sql_user = user
	sql_pass = 111111
	sql_db  = db
	sql_port = 5432
}
searchd
{
	listen = 9312
	listen = 9306:mysql41
	log	= /var/log/manticore/searchd.log
	query_log = /var/log/manticore/query.log
	pid_file = /var/run/manticore/searchd.pid
}

Yii2 конфигурация компонента:

'sphinx' => [
      'class' => yii\sphinx\Connection::class,
      'dsn' => 'mysql:host=manticore;port=9306;',
      'username' => '',
      'password' => '',
],

А приложение в том же docker-compose.yml?

Всё в одном docker-compose.yml

networks:
  default:

services:
  nginx:
    container_name: nginx
    image: nginx:latest
    ports:
      - 8099:80
    volumes:
      - ./:/var/www
      - ./docker/nginx/vhost.conf:/etc/nginx/conf.d/default.conf
    networks:
      - default
    depends_on:
      - php

  php:
    container_name: php
    build:
      dockerfile: "./docker/php/Dockerfile-$ENV"
      context: ./
    volumes:
      - ./:/var/www
      - ./docker/php/php.ini:/usr/local/etc/php/conf.d/php.ini
    networks:
      - default
    depends_on:
      - postgresql

  postgresql:
    container_name: postgresql
    restart: always
    image: postgres:17.2-alpine
    volumes:
      - ./:/var/www
      - ./docker/postgres/data:/var/lib/postgresql/data:rw
    environment:
      POSTGRES_DB: ${POSTGRES_DB}
      POSTGRES_USER: ${POSTGRES_USER}
      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
      PGDATA: /var/lib/postgresql/data/pgdata
    ports:
      - "5444:5432"
    networks:
      - default

  manticore:
    container_name: manticore
    image: manticoresearch/manticore
    environment:
      - EXTRA=1
      - CREATE_PLAIN_TABLES=1
    restart: always
    ports:
      - 9308:9306
    ulimits:
      nproc: 65535
      nofile:
        soft: 65535
        hard: 65535
      memlock:
        soft: -1
        hard: -1
    volumes:
      - ./:/var/www
      - ./docker/manticore/data:/var/lib/manticore/data:rw
      - "./docker/manticore/manticore-$ENV.conf:/etc/manticoresearch/manticore.conf:rw"
    networks:
      - default
    depends_on:
      - postgresql
  1. А к 9380 порту тоже не удаётся сторонним клиентом?
  2. Сервис manticore сам работает?
  3. Что если вообще не указывать логин-пароль?