Sign inSign up

blackojack/metronome-im

By blackojack

•Updated over 9 years ago

Metronome IM, Jappix

Image
0

1.1K

blackojack/metronome-im repository overview

Гит-репозиторий доступен по ссылке blackojack/metronome-im⁠

Там же расположен docker-compose.yml файл

⁠Старт контейнера с metronome im

В папке /srv/metronome/config у нас должен лежать конфиг metronome.cfg.lua и папка certs с сертификатом и ключом с названиями как в конфиге. В конфиге путь к ним должен быть /etc/metronome/certs/

Пример конфига можно скачать по ссылке metronome.cfg.lua⁠

В папку /srv/metronome/data можно положить sql файл с существующими данными. В противном случае он создастся сам. Название как указано в конфиге. Это при условии работы с SQLite3

К примеру директории должны выглядеть так:

/srv/metronome/config/metronome.cfg.lua
/srv/metronome/config/certs/localhost.cert
/srv/metronome/config/certs/localhost.key
/srv/metronome/data/metronome.sql

И так, приступим. Подготовим конфиг, сертификаты и положим существующую файловую базу данных при необходимости:

mkdir -p /srv/metronome/{config,config/certs,data}
cd /srv/metronome/config && wget https://git.sysadminsk.ru/BlackoJack/metronome-im/raw/master/config/metronome.cfg.lua
wget https://git.sysadminsk.ru/BlackoJack/metronome-im/raw/master/config/groups.txt
cd ./certs
openssl req -new -x509 -days 365 -nodes -out "localhost.cert" -keyout "localhost.key"

Отвечаем на вопросы, указываем наш домен. И, если имеется файл базы, ложим файл, к примеру metronome.sql в папку /srv/metronome/data. Смотрим, проверяем, правим конфиг /srv/metronome/config/metronome.cfg.lua по своим потребностям, и...

Запускаем контейнер:

docker run --name=metronome --restart=always \
-p 5222:5222 -p 5000:5000 -p 5269:5269 -p 5280:5280 -p 5281:5281 \
-v /srv/metronome/config:/etc/metronome \
-v /srv/metronome/data:/var/lib/metronome \
-d blackojack/metronome-im

⁠Старт контейнера с Jappix

Что-бы сохранить конфиги, мы поместим их в директорию /srv/metronome/html

docker run -d -e 'GIT_REPO=https://github.com/jappix/jappix' \
--name=jappix --restart=always \
-p 80:80 \
-v /srv/metronome/html:/var/www/html \
richarvey/nginx-php-fpm:latest

Заходим по адресу http://<ip машинки> и настраиваем. Но до этого момента лучше сделать DNS записи и создать хотя бы одного пользователя. Как это сделать описано ниже.

⁠Добавление пользователей

docker exec -ti metronome metronomectl adduser [email protected]

⁠DNS записи

Не забываем прописать необходимые DNS-записи на нашем DNS-сервере:

xmpp IN A 1.2.3.4
muc IN CNAME xmpp
pubsub IN CNAME xmpp
vjud IN CNAME xmpp
bind IN CNAME xmpp
websocket IN CNAME xmpp
me IN CNAME xmpp
stats IN CNAME xmpp
proxy IN CNAME xmpp
anonymous IN CNAME xmpp
_xmpp-client._tcp.example.org. IN SRV 0 5 5222 xmpp.example.org.
_xmpp-server._tcp.example.org. IN SRV 0 5 5269 xmpp.example.org.

⁠Разорачиваем сервис с помощью docker-compose (самый простой и быстрый вариант)

Подготовим конфиг, сертификаты и положим существующую файловую базу данных при необходимости (если использовать SQLite3):

mkdir -p /srv/metronome/{config,config/certs,data}
cd /srv/metronome/config && wget https://git.sysadminsk.ru/BlackoJack/metronome-im/raw/master/config/metronome.cfg.lua
wget https://git.sysadminsk.ru/BlackoJack/metronome-im/raw/master/config/groups.txt
cd ./certs
openssl req -new -x509 -days 365 -nodes -out "localhost.cert" -keyout "localhost.key"

Отвечаем на вопросы, указываем наш домен. И, если имеется файл базы sqlite, ложим файл, к примеру metronome.sqlite в папку /srv/metronome/data. Смотрим, проверяем, правим конфиг /srv/metronome/config/metronome.cfg.lua по своим потребностям, и...

До этого у вас уже должен быть установлен docker-compose Скачиваем файл docker-compose.yml⁠

wget https://git.sysadminsk.ru/BlackoJack/metronome-im/raw/master/docker-compose.yml

Далее, определяемся с базой данных (SQLite3, PostgreSQL, MySQL) и закомменчиваем ненужный параметр sql в конфиге, расскоменчиваем нужный. В зависимости от базы данных, выполняем (в той же директории, где находится файл docker-compose.yml):

docker-compose up -d xmpp - SQLite3

docker-compose up -d psql - PostgreSQL

docker-compose up -d mysql - MySQL

Не забываем, что в конфиге и в файле docker-compose.yml стоят простые дефолтовые пароли от базы данных. Настоятельно рекомендуется сменить их.

Можно использовать свою стороннюю базу данных. Для этого правим конфиг по своим потребностям, и стартуем:

docker-compose up -d xmpp

Tag summary

Content type

Image

Digest

Size

203.8 MB

Last updated

over 9 years ago

docker pull blackojack/metronome-im