Апдейт до ejabberd 24.02 на jabberworld

Так и не дождался ejabberd 24.02 в основном репозитории Debian’а, в итоге спустя месяц с лишним после релиза решил ставить пакет с официального сайта. Попутно к тому времени обновил систему до Debian 12, что вылилось в ругань на неизвестный центр сертификации при старте ejabberd’а.

Так или иначе, апдейтнул схему MySQL до 23.10. В этой версии ввели автообновление схемы – не знаю, может вообще ничего не надо было делать и просто добавить опцию update_sql_schema: true, но решил перестраховаться. Собственно, там просто убирались некоторые индексы. Потом пришло время 24.02, поставил – тут уже начала работать упомянутая опция и схема снова начала обновляться. Но – фейл; в итоге сервер не стартовал. Сориентировался быстро – когда-то уже сталкивался с подобным где-то: на alter table  для таблицы archive (там архив сообщений для MAM – а он у меня за пару лет) база создавала копию в /tmp, который был 512 МБ. Место заканчивалось и процедура обрывалась. Перемонтировал с большим размером – стало все ок. Но – тоже не сразу: сначала вылазили какие-то таймауты. Параллельно началась ругань на таблицу для MQTT-модуля. Кое-как сервер запустился, но на каждом обновлении получал ругань на отсутствие колонки в mqtt_pub. Уже даже грохнул все таблицу целиком, чтобы оно пересоздало ее с помощью новой функции. Создало. С ошибкой. В итоге переименовал колонку – ругань ушла:

ALTER TABLE mqtt_pub RENAME COLUMN user_property TO user_properties;

Однако это были не все проблемы. Перестал подключаться модуль уведомлений в jabber у Home Assistant. Нашел ту же проблему в багтрекере – пока без движения, так что сижу без уведомлений.

[warning] (tls|<0.26577.0>) Failed c2s SCRAM-SHA-1-PLUS authentication from ::ffff:95.158.53.40: Invalid channel binding

А через время – несмотря на все фиксы с базой – начались вылеты модуля MQTT у ejabberd’а при общении с Home Assistant. При этом счетчики газа/воды вполне успешно подключались и публиковали там свои данные, проблема исключительно с HA. Плюнул, через время просто поставил Mosquitto.

Из положительных моментов – задействовал модуль для взаимодействия с Matrix’ом. Использовал официальное руководство с минимальными изменениями. Все успешно заработало, обменялся сообщениями со своим аккаунтом на matrix.org, так что теперь каждый JID – еще и Matrix ID. Статус, правда, не видно, но сообщения ходят.

Одна мысль про “Апдейт до ejabberd 24.02 на jabberworld”

  1. И еще апдейт: с версией с официального сайта сломались логи в /var/log/ejabberd/ejabberd.log. А в journalctl попадает не все.
    https://serverfault.com/questions/731894/ejabberd-logging-to-var-log-ejabberd-ejabberd-log-is-incomplete-even-with-debu – вот тут что-то подобное, рекомендуют обновить erlang. Только вот сейчас erlang таскается вместе с основным пакетом ejabberd’а и обновить отдельно проблематично.

Добавить комментарий