Jump to content
XPEnology Community

Matrix - Synapse на Synology (как установить?)


Recommended Posts

Matrix - это открытый и свободный протокол для децентрализованного общения в реальном времени. Он может быть использован для мгновенных сообщений, аудио- и видеосвязи с помощью WebRTC, Интернета вещей и чего угодно, где вам может понадобиться стандартный HTTP API для публикации и подписки на информацию одновременно с отслеживанием истории общения. В Matrix полноценно реализована федерация (federation), которая позволяет бесшовно общаться, организовывать общие комнаты для общения пользователям разных серверов, совершать видео- и аудиозвонки. В настоящее время существует несколько поддерживаемых серверов для данного протокола, наиболее популярный из которых - Synapse. 

А теперь вопрос: кто сможет подробно объяснить как эту связку запустить на Xpenology, на прямую установить или через Doker. Буду благодарен любой помощи.

 

железо HP Gen8

загрузчик для DS3617xs

Текущая версия: DSM 6.2.3-25423

 

Edited by sashavf
Link to comment
Share on other sites

  • 4 weeks later...

Ставил в докер OpenFire с целью организовать общение и доступ к gsm-шлюзу. Столкнулся с граблями по серому ip и пока отложил в сторону. Но OpenFire вроде как завелся и я даже к нему смог закогтиццо с локальной машины клиентом (емнип jisty).

А также в свое время пользовался uMurmur (есть в пакетах сообщества packages.synocommunity.com) через клиента Plumble (на андроиде). Но оно для геймеров предназначено, там нельзя позвонить по номеру, так сказать. Заходишь в группу и в ней уже разговариваешь.

Я создал группы попарно для нескольких пользователей, прописал каждому доступ в эти группы. И нужно было зайти в группу и там уже вести общение. Гемор, но для небольших "инсталяций" - вполне рабочий вариант. Работало, даже когда связь была в режиме E (не 3/4 G).

Link to comment
Share on other sites

Запустил Synapse через Doker, но только сам не понял, как получилось. Заработало но с косяками, переустановил и всё слетело. Больше не могу запустить. Пакет в Doker:  https://registry.hub.docker.com/r/matrixdotorg/synapse/

Подскажите по шагам, как запустить?

 

Edited by sashavf
Link to comment
Share on other sites

 

Spoiler

62520836_.thumb.png.de5101ce50aef3ed458c0786a0da94ad.png

 

Spoiler

1097081308_.png.5f39623df4954682c6abd79d4c0182fb.png

Загружаеццо 202 МБ.

 

Двойной клик по загруженному:
 

Spoiler

2103429132_.thumb.png.50e364a1ff810b0ed1b18f89705a1048.png

 

Spoiler

1944793646_.thumb.png.053679d8269891083ab161ed5b6e0122.png

и меняем порты с АВТО, на примерно такое. Если будет стоять АВТО, то синагога при каждом запуске будет менять эти порты. Нужно следить, чтобы указанные нами порты небыли заняты никем на синагоге (ни в иных контейнерах докера, ни в иных службах).

Думаю, повторный запуск у тебя не вышел как раз из-за этого ) Но, не факт.

Ну и всё вроде.

Что там внутрях этого матрикса я не в курсе.

Теперь, при обращении к портам 18008, 18009 или 18448 по локальному адресу своей синагоги - попадаешь на соответствующий порт внутрях контейнера.

Если, например, по 8008 в контейнере живет web сервер, то мы обращаемся по https://192.168.0.10:18008/ в браузере и попадаем на тот самый веб-сервер (адрес синагоги в данном случае 192.168.0.10)

Как-то так.

Link to comment
Share on other sites

В 17.07.2020 в 17:09, qawsed55 сказал:

 

  тыць раз (Скрыть содержимое)

62520836_.thumb.png.de5101ce50aef3ed458c0786a0da94ad.png

 

  даблклик на выделенном выше > (Показать содержимое)

1097081308_.png.5f39623df4954682c6abd79d4c0182fb.png

Загружаеццо 202 МБ.

 

Двойной клик по загруженному:
 

  создается контейнер (Скрыть содержимое)

2103429132_.thumb.png.50e364a1ff810b0ed1b18f89705a1048.png

 

  Идем в Дополнительные настройки (Скрыть содержимое)

1944793646_.thumb.png.053679d8269891083ab161ed5b6e0122.png

и меняем порты с АВТО, на примерно такое. Если будет стоять АВТО, то синагога при каждом запуске будет менять эти порты. Нужно следить, чтобы указанные нами порты небыли заняты никем на синагоге (ни в иных контейнерах докера, ни в иных службах).

Думаю, повторный запуск у тебя не вышел как раз из-за этого ) Но, не факт.

Ну и всё вроде.

Что там внутрях этого матрикса я не в курсе.

Теперь, при обращении к портам 18008, 18009 или 18448 по локальному адресу своей синагоги - попадаешь на соответствующий порт внутрях контейнера.

Если, например, по 8008 в контейнере живет web сервер, то мы обращаемся по https://192.168.0.10:18008/ в браузере и попадаем на тот самый веб-сервер (адрес синагоги в данном случае 192.168.0.10)

Как-то так.

Привет! С портами я разобрался, контейнер запускаться не хочет. 2-6 сек. поработал и вылетает. А в журнале пишет вот, что:

 

Снимок экрана 2020-07-18 в 22.48.57.png

Снимок экрана 2020-07-18 в 22.49.13.png

Link to comment
Share on other sites

я не в курсе что этот матрикс делает. Вообще не в курсе, так что трудно даже понять в какую сторону копать.

В логах, в последней строке - он ругается, что не находит pg_hba.conf

Или ненаходит, или в этом файле какие-то фатальные ошибки.

Нужно пролезть в кишки контейнера и позаглядывать в файл.

Я не помню как я это делал, чтобы расписать побуквенно. Суть в том, чтобы пробраться ssh на синагогу, дальше командами докера уже приатачить нужный контейнер, пролезть в его файловую систему и в ней уже смотреть\редактировать файлы.

Как это сделать уже не помню. docker ls -a это получить список контейнеров. Далее, по id контейнера прицепиццо к нему и копаться в его кишках. Нужно гуглить, а мне это ни к чему да и нет времени.

Разбирайся, камрад ) Когда мне нужно было - я разобрался. Уверен, и у тебя получится. Не всё так страшно )

Link to comment
Share on other sites

2 часа назад, qawsed55 сказал:

он ругается, что не находит pg_hba.conf

Или ненаходит, или в этом файле какие-то фатальные ошибки.

pg_hba.conf-host-based authentication — аутентификации по имени узла

С чего бы ему взяться, если у вас нет базы данных Postgres!

3 часа назад, qawsed55 сказал:

Я не помню как я это делал, чтобы расписать побуквенно. Суть в том, чтобы пробраться ssh на синагогу, дальше командами докера уже приатачить нужный контейнер, пролезть в его файловую систему и в ней уже смотреть\редактировать файлы.

Как это сделать уже не помню. docker ls -a это получить список контейнеров. Далее, по id контейнера прицепиццо к нему и копаться в его кишках. Нужно гуглить, а мне это ни к чему да и нет времени.

На это и не надо времени, вход в терминал контейнера

например:

docker exec -it 'id-вашего_контейнера/имя-контейнера' bash

 

Link to comment
Share on other sites

28 minutes ago, xMiroRRside said:

С чего бы ему взяться, если у вас нет базы данных Postgres!

Spoiler

у меня база есть постгреса. Но не в докере, и вообще в другой сети на другом предприятии.

И как бы там нибыло - я тут вообще ни при чем ни к матриксу, ни к базам и иному...

Камрад, вот ты понял в чем грабля и начинаешь хуцпить. Причем, зачем-то мне! Хотя я лишь чуток подсобил ТС по мере своих умений и разумений.

Понимаешь?

Ну почему нельзя просто помочь ТСу если есть чем помочь? Нет же, надо мне натыкать, дескать времени ненадо, вот команда, бла-бла-бла... А врачу времени ненадо, чтобы понять где ты болен, потому то врач разбирается. Если бы ТС разбирался, то он бы не спрашивал.

А ты вроде как и ответил, но зачем-то мне (мне оно и на-не-на), и наполовину.

Я так понимаю, это ты напихал нам сразу обоим, дескать мы дебилы, а ты весь в белом. Ну если в белом, то лети дальше! А если готов помочь - так помоги, а не хуцпи.

Что за позиция - непонимаю! Еще и оверквотинг *рукалицо*

 

Link to comment
Share on other sites

Привет всем!

Postgres у меня установлен, он на сене есть только к нему подцепиться не просто, но реально. Проблема в том, как увязать ssl сертификаты которые есть и докер. Мануалы есть, но они не про сено. А Matriks/Synapse интересный проект по организации сервера связи: чат, звонки аудио, видео. Короче вотсап, но только свой и на своём железе. И клиенты есть под все платформы.

Может кто озадачится и воткнёт эту балалайку на сено без докера?

Link to comment
Share on other sites

4 hours ago, sashavf said:

Привет всем!

Postgres у меня установлен, он на сене есть только к нему подцепиться не просто, но реально. Проблема в том, как увязать ssl сертификаты которые есть и докер. Мануалы есть, но они не про сено. А Matriks/Synapse интересный проект по организации сервера связи: чат, звонки аудио, видео. Короче вотсап, но только свой и на своём железе. И клиенты есть под все платформы.

Может кто озадачится и воткнёт эту балалайку на сено без докера?

А на виртуалку просто поставить?

Link to comment
Share on other sites

  • 7 months later...

Ну что, кому нибудь удалось запустить? Мне бы только "локально", с другими серверами коннектится не надо. Требует какие-то базы установить, какие-то конфиги. Всё настолько сырое, что надо где-то чёто ручками править, никаких интерфейсов с настройками. Постоянно вылетает с тоннами ошибок.

Link to comment
Share on other sites

Привет!

Не получилось ни разу. Вот ветка на буржуйском https://www.synoforum.com/threads/how-to-set-the-image-matrixdotorg-synapse-in-docker-on-synology.5468/#post-25306 может что разберёшь, там паренёк пытается над всем этим напильником поработать. Если получится что, расскажи что и как.

Link to comment
Share on other sites

Ну в общем капнул я эту тему... На Syno это не представляется возможным поставить. Там такой хаос.... То, что в докере есть, это примерно половина того, что нужно для работы. Ещё нужно поднять кучу сервисов, поднять базу данных, всё это ожидается в какой-то системе, не в докере. А потом это всё вместе связать. Там есть специальные скрипты, которые делают часть из кучи необходимых конфигов. На Syno они не работают.

В целом, как сказал один из чата, Synapse и Matrix это смесь костылей, говна и палок, как-то работающая, до конца непонятно как. И надо ждать, пока перепишут\переделают нормально, они, вроде, вялотекуще занимаются этим. А если не перепишут, то "Лошадь сдохла, слезь".

P.S. Например, можно относительно не сложно поднять на Raspberry, но всё это жрёт ресурсов как не в себя и на 1-2Гб ОЗУ нормально работать не будет.

Edited by Diktor
Link to comment
Share on other sites

26 минут назад, Diktor сказал:

Ну в общем капнул я эту тему... На Syno это не представляется возможным поставить. Там такой хаос.... То, что в докере есть, это примерно половина того, что нужно для работы. Ещё нужно поднять кучу сервисов, поднять базу данных, всё это ожидается в какой-то системе, не в докере. А потом это всё вместе связать. Там есть специальные скрипты, которые делают часть из кучи необходимых конфигов. На Syno они не работают.

В целом, как сказал один из чата, Synapse и Matrix это смесь костылей, говна и палок, как-то работающая, до конца непонятно как. И надо ждать, пока перепишут\переделают нормально, они, вроде, вялотекуще занимаются этим. А если не перепишут, то "Лошадь сдохла, слезь".

P.S. Например, можно относительно не сложно поднять на Raspberry, но всё это жрёт ресурсов как не в себя и на 1-2Гб ОЗУ нормально работать не будет.

Грустно, что сено пока не поддерживает Sunapse. Если вдруг допилят, подскажи где найти мануал по установке.

Link to comment
Share on other sites

2 минуты назад, sashavf сказал:

Грустно, что сено пока не поддерживает Sunapse. Если вдруг допилят, подскажи где найти мануал по установке.

Ну вот так прям нет. Не поддерживает. Но как говорят, с костылями можно поднять. Как минимум потребуется несколько контейнеров с докерами, на одном контейнере надо запустить сам Sunapse, а потом для него поднимается куча остального, в системе. Но в системе Synology этого не поднять, поэтому придётся поднимать в других Докер контейнерах, например базу postgres в отдельном контейнере. Но так как база будет постоянно расти, то её опять же надо из докера выносить на раздел Synology.. Костыль на костылях. Я пока не готов этим заниматься.

Link to comment
Share on other sites

2 часа назад, sashavf сказал:

Грустно, что сено пока не поддерживает Sunapse. Если вдруг допилят, подскажи где найти мануал по установке.

Ну вот так прям нет. Не поддерживает. Но как говорят, с костылями можно поднять. Как минимум потребуется несколько контейнеров с докерами, на одном контейнере надо запустить сам Sunapse, а потом для него поднимается куча остального, в системе. Но в системе Synology этого не поднять, поэтому придётся поднимать в других Докер контейнерах, например базу postgres в отдельном контейнере. Но так как база будет постоянно расти, то её опять же надо из докера выносить на раздел Synology.. Костыль на костылях. Я пока не готов этим заниматься.

_____________________

Там если с нуля запустить, то материться: "Config file '/data/homeserver.yaml' does not exist. You should either create a new config file by running with the generate argument (and then edit the resulting file before restarting) or specify the path to an existing config file with the SYNAPSE_CONFIG_PATH variable."

Соответственно ему нужен этот самый homeserver.yaml. Где его взять? Демка, пример этого файла, лежит тут: https://github.com/matrix-org/synapse/blob/develop/docs/sample_config.yaml

Поидее, переименовать и подсунуть... Делаем так, пробрасываем папочку из докера на локальный диск Synology:

01r.JPG.fdaff8d27bbcf4cb73c76aa0c0a926c0.JPG

 

Я такой адрес создал /Backup/MatrixSynapse/synapse-data/data (без разницы, какой) и прокинул папку из докера (а тут именно эта папка, не другая) /data

Далее кладём в эту /Backup/MatrixSynapse/synapse-data/data свой левый файлик sample_config.yaml , который предварительно переименовали в homeserver.yaml 

И стартуем докера. Докер уже не ругается на отсутсвие homeserver.yaml, запускается, работает около минуты, вываливает тонну ошибок, и отрубается.

По описанию ошибок можно понять, что конфиг файл заполнен не верно.

А как его правильно заполнить? А х.з....

Есть вариант два:

Идём в консоль, делаем там sudo su и работаетм с Docker Compose принимая во внимание описалово https://github.com/matrix-org/synapse/tree/develop/contrib/docker и https://github.com/matrix-org/synapse/blob/develop/docker/README.md

Ну то есть вводим команды:

docker run -it --rm \
    --mount type=volume,src=synapse-data,dst=/data \
    -e SYNAPSE_SERVER_NAME=my.matrix.host \
    -e SYNAPSE_REPORT_STATS=yes \
    matrixdotorg/synapse:latest generate

Они покорно выполняются, система сообщает, что в папке /data лежит наш заветный конфиг файл и то, что система настроена... Только вот где эта папка /data с конфиг файлом находится я так и не понял и найти её не смог.

В этом файле докера есть встроенная БД SQLite, и, вроде как, есть всё необходимое для минимального функционирования в локальной сети. Но такие вещи как видео-голосовая связь, как подключение к другим серверам - не заработают, для них нужно куча дополнений, отдельная БД, настройка mail, настройка домена, сертификатов, и т.д.

Это всё, что я знаю, может у кого-то будет время распутать этот клубок костылей дальше. Мне бы конечно хотелось поднять полноценный чатик в локалке именно с поддержкой видеосвязи.

 

 

 

 

 

 

 

Edited by Diktor
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...