Установка Snikket
Это простое руководство позволит всего за несколько минут установить и настроить собственный сервер на базе Snikket.
Для установки потребуется компьютер с внешним IP-адресом, на котором есть возможность установить необходимое ПО, а также домен, указывающий на данный адрес и где можно создать поддомены.
Приступим!
Домен[править]
Для работы сервиса потребуется всего 3 (или 4, если у вас есть IPv6) записи в DNS:
- Основная А/AAAA-запись для домена, указывающая на внешний IP-адрес.
- Субдомен groups для конференций.
- Субдомен share для файлообмена.
2 последние записи для простоты можно сделать CNAME-алиасами на первую, чтобы не приходилось везде указывать IP-адрес.
Для данного сервера это выглядело бы так:
jabberworld.info IN A 185.161.208.229 jabberworld.info IN AAAA 2a07:c801:0:5:: groups.jabberworld.info IN CNAME jabberworld.info share.jabberworld.info IN CNAME jabberworld.info
Docker[править]
Snikket-сервер предоставляется в виде готовых контейнеров для Docker, поэтому все, что требуется - установить сам Docker и дать в нем команду на установку нужных образов. Инструкции по установке Docker есть для различных дистрибутивов Linux на его официальном сайте:
...все сводится к следующему:
sudo apt-get update sudo apt-get install ca-certificates curl gnupg sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg # Add the repository to Apt sources: echo \ "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \ "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Дополнительно нужно поставить утилиту docker-compose:
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 sudo chmod a+x /usr/local/bin/docker-compose
Подготовка[править]
Теперь просто скачиваем конфиг-файл Docker'а для Snikket:
mkdir /etc/snikket cd /etc/snikket curl -o docker-compose.yml https://snikket.org/service/resources/docker-compose.beta.yml
А дальше в том же каталоге создаем файл snikket.conf, где будет указан нужный домен и email администратора:
# The primary domain of your Snikket instance SNIKKET_DOMAIN=example.com # An email address where the admin can be contacted # (also used to register your Let's Encrypt account to obtain certificates) SNIKKET_ADMIN_EMAIL=you@example.com
Запускаем[править]
Вот и все! Запускаем сервер командой
docker-compose up -d
При первом запуске будут скачаны все нужные зависимости. Первым делом certbot получит сертификаты для домена и его субдоменов, после чего будет запущена основная часть сервера. Создайте пользователя-администратора командой
docker exec snikket create-invite --admin --group default
В ответ будет возвращена ссылка-приглашение на веб-интерфейс, по которой можно будет создать нового пользователя. В дальнейшем под этим пользователем можно авторизоваться в веб-интерфейсе для управления сервером:
Теперь можете приступить к созданию приглашений для своих друзей и знакомых!