https://jabberworld.info/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%9D%D0%BE%D0%B2%D1%8B%D0%B5_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D1%8B&feed=atom&limit=50&offset=&namespace=0&username=&tagfilter=Мир Jabber - Новые страницы [ru]2024-03-29T05:49:52ZМатериал из Мир JabberMediaWiki 1.37.2https://jabberworld.info/%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_SnikketУстановка Snikket2023-11-12T22:55:51Z<p>Rain: /* Домен */</p>
<hr />
<div>Это простое руководство позволит всего за несколько минут установить и настроить собственный сервер на базе [[Snikket]].<br />
<br />
Для установки потребуется компьютер с внешним IP-адресом, на котором есть возможность установить необходимое ПО, а также домен, указывающий на данный адрес и где можно создать поддомены.<br />
<br />
Приступим!<br />
<br />
== Домен ==<br />
<br />
Для работы сервиса потребуется всего 3 (или 4, если у вас есть IPv6) записи в DNS:<br />
<br />
* Основная А/AAAA-запись для домена, указывающая на внешний IP-адрес.<br />
* Субдомен '''groups''' для [[Конференции|конференций]].<br />
* Субдомен '''share''' для [[Передача файлов|файлообмена]].<br />
<br />
2 последние записи для простоты можно сделать CNAME-алиасами на первую, чтобы не приходилось везде указывать IP-адрес.<br />
<br />
Для данного сервера это выглядело бы так:<br />
<br />
<pre><br />
jabberworld.info IN A 185.161.208.229<br />
jabberworld.info IN AAAA 2a07:c801:0:5::<br />
<br />
groups.jabberworld.info IN CNAME jabberworld.info<br />
share.jabberworld.info IN CNAME jabberworld.info<br />
</pre><br />
<br />
== Docker ==<br />
<br />
Snikket-сервер предоставляется в виде готовых контейнеров для [[ru_wikipedia:Docker|Docker]], поэтому все, что требуется - установить сам Docker и дать в нем команду на установку нужных образов. Инструкции по установке Docker есть для различных дистрибутивов Linux на его официальном сайте:<br />
<br />
* [https://docs.docker.com/install/linux/docker-ce/debian/ Debian]<br />
* [https://docs.docker.com/install/linux/docker-ce/ubuntu/ Ubuntu]<br />
* [https://docs.docker.com/install/linux/docker-ce/centos/ CentOS]<br />
* [https://docs.docker.com/install/linux/docker-ce/fedora/ Fedora]<br />
<br />
{{Hider hiding<br />
|title=Например, для Debian...<br />
|content=...все сводится к следующему:<br />
<pre><br />
sudo apt-get update<br />
sudo apt-get install ca-certificates curl gnupg<br />
sudo install -m 0755 -d /etc/apt/keyrings<br />
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg<br />
sudo chmod a+r /etc/apt/keyrings/docker.gpg<br />
<br />
# Add the repository to Apt sources:<br />
echo \<br />
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \<br />
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \<br />
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null<br />
sudo apt-get update<br />
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin<br />
</pre><br />
}}<br />
<br />
Дополнительно нужно поставить утилиту '''docker-compose''':<br />
<pre><br />
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose<br />
sudo chmod a+x /usr/local/bin/docker-compose<br />
</pre><br />
<br />
==Подготовка==<br />
<br />
Теперь просто скачиваем конфиг-файл Docker'а для Snikket:<br />
<br />
<pre><br />
mkdir /etc/snikket<br />
cd /etc/snikket<br />
curl -o docker-compose.yml https://snikket.org/service/resources/docker-compose.beta.yml<br />
</pre><br />
<br />
А дальше в том же каталоге создаем файл '''snikket.conf''', где будет указан нужный домен и email администратора:<br />
<br />
<pre><br />
# The primary domain of your Snikket instance<br />
SNIKKET_DOMAIN=example.com<br />
<br />
# An email address where the admin can be contacted<br />
# (also used to register your Let's Encrypt account to obtain certificates)<br />
SNIKKET_ADMIN_EMAIL=you@example.com<br />
</pre><br />
<br />
==Запускаем==<br />
<br />
Вот и все! Запускаем сервер командой<br />
docker-compose up -d<br />
При первом запуске будут скачаны все нужные зависимости. Первым делом certbot получит сертификаты для домена и его субдоменов, после чего будет запущена основная часть сервера. Создайте пользователя-администратора командой<br />
docker exec snikket create-invite --admin --group default<br />
В ответ будет возвращена ссылка-приглашение на веб-интерфейс, по которой можно будет создать нового пользователя. В дальнейшем под этим пользователем можно авторизоваться в веб-интерфейсе для управления сервером:<br />
<center> <br />
<gallery><br />
Файл:Snikket login 01.png|Логин<br />
Файл:Snikket admin 01.png|Панель администратора<br />
</gallery><br />
</center><br />
<br />
Теперь можете приступить к созданию приглашений для своих друзей и знакомых!<br />
<br />
== Ссылки ==<br />
<br />
* [https://snikket.org/service/quickstart/ Оригинал руководства на официальном сайте]<br />
<br />
[[Category:Свой сервер]]</div>Rainhttps://jabberworld.info/SnikketSnikket2023-11-12T22:16:35Z<p>Rain: Ссылка на установку</p>
<hr />
<div>Snikket - проект от автора популярного сервера [[Prosody]], направленный на снижение порога входа для новых пользователей, а также для унификации названий различных терминов в Jabber'e между клиентами от разных авторов. [https://www.reddit.com/r/xmpp/comments/f0el07/deleted_by_user/ В качестве примера автор приводит] "конференции" - это и "чаты", и "группы", и "каналы". Кроме того, на разных платформах клиенты называются по-разному - например, популярный [[Conversations]] есть только для Android, что может сбить с толку новичков.<br />
<br />
Фактически, комплекс приложений "Snikket" - это легкая надстройка поверх существующих популярных приложений:<br />
* Сервер Snikket - это комплекс из всем известного [[Prosody]] + вспомогательных сервисов для его работы.<br />
* Snikket для Android - это слегка переделанный [[Conversations]]<br />
* Snikket для iPhone базируется на [[Siskin IM]]<br />
<br />
== Ссылки ==<br />
<br />
* [https://snikket.org Домашняя страница проекта]<br />
* [[Установка Snikket]]<br />
<br />
[[Category:Клиент]][[Category:Сервер]]</div>Rain