Как перенести matrix synapse на другой домен быстро

Внимание, как выяснилось что перенести synapse на новый домен можно только с заменой базы данных в PostgreSQL. То есть новую создаем, старую удаляем. Таким образом регистрации и все файлы, комнаты, переписки исчезнут. Другого варианта пока нет на 10.02.2024. Пишут что вроде через API думают сделать. Но это все равно лучше чем поднимать полностью все заново.

Хотите перенести действующий matrix synapse на другой домен, все делается быстро и просто. Если вы поднимали synapse по этой инструкции.

  1. Делаем замену старого домена на новый в трех файлах homeserver.yaml (находится /etc/matrix-synapse), synapse.conf(находится /etc/nginx/conf.d), turnserver.conf (находится /etc/). Делается это в текстовом редакторе например Kate, методом замены буквально в пару секунд.
  2. Меняем в файле server_name.yaml расположенном /etc/matrix-synapse/conf.d, старое имя сервера на новое.
  3. Меняем записи DNS со старого домена на новый, указывая IP вашего VDS
  4. Выпускаем сертификаты на новый домен, взамен matrix.predckazanie.ru впишите свой.
sudo certbot --nginx -d matrix.predckazanie.ru
certbot certonly --nginx -d coturn.matrix.predckazanie.ru

Создаем новую базу данных и нового ее пользователя. Сначала пользователь(вводите логин и 2 раза пароль). Например

7EjaczgdHXgSScBzMF5h
WX3Zqmk3veUgZoqMecGxY6q9UjD5feqbsHEw3c6m

sudo -i -u postgres
createuser --interactive --pwprompt

Теперь базу

createdb --encoding=UTF8 --locale=C --template=template0 --owner=7EjaczgdHXgSScBzMF5h synapse2

Вносим изменения в homeserver.yaml

Как перенести matrix synapse на другой домен быстро

Перезагружаем сервер. Всё!

Удаляем старую базу данных и пользователя PostgreSQL.

Заходим в админку PostgreSQL, смотрим базы данных

sudo -i -u postgres
psql
\l

, и удаляем базу synapse (у вас может быть другое имя). Смотрим пользователей

DROP DATABASE synapse;
\du

Удаляем пользователя

DROP USER name;

Действия с synapse по API здесь

Как перенести matrix synapse на другой домен