Mastodon¶
В этой статье
- Mastodon. Основные возможности
- Особенности сборки
- Начало работы после развертывания Mastodon
- Изменения конфигурации
- Работа с почтовым сервером
- Изменение доменного имени сервера Mastodon
- Первоначальные настройки в панели администратора
- Управление правилами сервера
- Приглашение пользователей
- Заказ Mastodon с помощью API
Информация
Mastodon - это бесплатная децентрализованная социальная платформа с открытым исходным кодом. В отличие от централизованных коммерческих платформ, Mastodon не контролируется какой-либо одной организацией.
Mastodon. Основные возможности¶
- Mastodon позволяет подписываться и общаться с пользователями из любых подключенных серверов;
- Для поиска интересного контента в Mastodon есть ленты публичных постов. Локальная лента отображает посты с вашего сервера, а объединенная — все известные вашему серверу публичные посты подписчиков пользователей с вашего сервера;
- Взаимодействовать с постами можно прямо в ленте или в расширенном представлении поста: ответить, поделиться, добавить в избранное, закладки или воспользоваться дополнительным меню;
- Mastodon отправляет уведомления о разных событиях взаимодействия с вашим профилем и постами. Их можно фильтровать по типам;
- Чтобы подписаться на пользователя, достаточно нажать кнопку
Подписатьсяв его профиле. Можно включить уведомления о новых постах подписок; - Поиск в Mastodon позволяет найти пользователей, хештеги и загрузить пост по ссылке. При установленном полнотекстовом поиске можно искать в собственных постах и избранном;
- Личные сообщения в Mastodon — это посты с видимостью "только подписчики". Отображаются в отдельной колонке диалогов;
- Можно создавать списки подписок и просматривать ленту постов только из этих списков.
Особенности сборки¶
ID | Совместимые ОС | VPS | BM | VGPU | GPU | Мин. ЦПУ (Ядер) | Мин. ОЗУ (Гб) | Мин. HDD/SDD (Гб) | Доступно |
---|---|---|---|---|---|---|---|---|---|
-
Установленное ПО
ПО Лицензия Mastodon AGPLv3 Nginx Custom Postgres Postgres SQL Certbot Apache 2 Redis BSD-3-Clause -
Возможна установка на ОС:
- последние версии Ubuntu.
- Минимальные системные требования для установки Mastodon:
- Процессор: 2 ядра.
- ОЗУ: 2 Гб.
- Дисковое пространство: 30 Гб HDD.
- Рекомендуемые системные требования:
- Процессор: 4 ядра, 64-бит.
- ОЗУ: 8 Гб.
- Дисковое пространство: 80 Гб SSD.
Веб-интерфейс будет доступен по ссылке: https://mastodon{Server_ID_from_Invapi}.hostkey.in
Примечание
Если не указано иное, по умолчанию мы устанавливаем последнюю релиз версию программного обеспечения с сайта разработчика или репозиториев операционной системы.
Начало работы после развертывания Mastodon¶
После оплаты заказа на указанную при регистрации электронную почту придет уведомление о готовности сервера к работе. В нем будет указан IP-адрес VPS, а также логин и пароль для подключения. Управление оборудованием клиенты нашей компании осуществляют в панели управления серверами и API — Invapi.
Данные для авторизации, которые можно найти или во вкладке Информация >> Тэги панели управления сервером или в присланном e-mail:
- Ссылка для доступа к панели управления Mastodon с веб-интерфейсом: в теге webpanel;
- Логин и Пароль: приходят в письме на вашу электронную почту при готовности сервера к работе после развертывания ПО.
Изменения конфигурации¶
Изменение конфигурации Mastodon из командной строки осуществляется с помощью утилиты tootctl
и rails
. Например:
- Настройки аккаунтов, создание, изменение, назначение прав и т.д.;
- Настройки SMTP-сервера;
- Настройки регистрации пользователей.
Информация
Подробней об использовании утилит можно узнать в документации разработчиков
Пример использования¶
Сменить пользователя с помощью командной строки:
Затем необходимо перейти в каталог:
И создать аккаунт модератора:
RAILS_ENV=production bin/tootctl accounts create name_moderator --email [email protected] --role Moderator --confirmed
После выполнения этих команд будет создан пользователь name_moderator
с правами модератора и подтвержденной учетной записью. Пароль будет указан в выводе последней команды.
Для изменения конфигурации Mastodon, например, почтового сервера, необходимо изменить файл конфигурации /home/mastodon/live/.env.production
.
После внесения изменений необходимо выполнить:
su - mastodon
cd /home/mastodon/live/
RAILS_ENV=production bundle exec rails assets:clean
RAILS_ENV=production bundle exec rails assets:clobber
RAILS_ENV=production bundle exec rails assets:precompile
После выполнения этих команд Mastodon примет новые настройки.
Информация
Подробней о настройках конфигурации можно узнать в документации разработчиков.
Работа с почтовым сервером¶
Для работы Mastodon, требуется SMTP-сервер, в данной сборке, устанавливается Mailserver в контейнере с помощью Docker. Для изменения настроек Mailserver, необходимо перейти в окружение контейнера. Для этого можно использовать команду:
Для выхода из окружения необходимо зажать клавиши Ctrl+D или ввести exit
.
Информация
Подробней о работе с почтовым сервером можно узнать в документации разработчиков.
Для настроек почтовых адресов, пересылки почты и т.д. можно использовать скрипт setup
внутри контейнера:
docker exec -it $mailserver bash
setup alias add [email protected] [email protected]
exit
С помощью этих команд был выполнен переход в контейнер mailserver и добавлена пересылка почты: входящие письма на postmaster@example.com будут перенаправлены на почтовый адрес user@example.com.
Информация
Подробней работе с setup.sh можно узнать в документации разработчиков.
Изменение доменного имени сервера Mastodon¶
Для изменения доменного имени следует выполнить следующий алгоритм действий:
-
Зарегистрировать собственный домен, например,
mastodon.mydomain.com
. -
Настроить записи DNS для этого домена:
- Указать А-запись, которая будет указывать на IP-адрес сервера Mastodon;
- Настроить запись MX, указывающую на почтовый сервер.
Информация
-
Перейти по SSH на сервер Mastodon и отредактировать файл конфигурации Nginx:
-
Изменить параметр
server_name
на новый домен; -
Перезапустить Nginx:
-
В настройках администратора Mastodon изменить домен на новый и сохранить изменения;
-
Выполнить настройку почтовых уведомлений;
-
Создать новый почтовый аккаунт
notifications@имя_нового_домена
, гдеимя_нового_домена
- это домен почтового сервера; -
Войти в Docker контейнер почтового сервера:
-
Добавить новый аккаунт:
- Пароль - необходимо задать пароль для этого аккаунта.
-
Выйти из контейнера командой:
После выполнения указанных команд в файле
/root/mailserver/docker-data/dms/config/opendkim/keys/(имя нового домена)/mail.txt
будет содержаться необходимая информация для настройки DNS-записи типа_domainkey
у регистратора домена. Эта запись требуется для корректной работы почтового сервера с использованием технологии DKIM. Без неё сообщения, отправляемые с данного домена, могут блокироваться получателями как неподлинные - например, сервисами вроде Gmail. -
Добавить PTR-запись в настройках IP-адреса в Invapi;
Информация
Подробнее о настройке PTR-записи в Invapi можно узнать здесь.
-
Отредактировать файл
.env.production
в домашней директории пользователяmastodon
:- Изменить параметр LOCAL_DOMAIN на новый домен;
- Изменить параметры настроек SMTP на актуальные в соответствии с почтовым сервером. Необходимо указать логин и пароль от dovecot-master, root и изначальный пароль, полученный при сдаче сервера (указан в теге password в карточке сервера).
-
Выполнить перекомпиляцию ассетов:
-
Перезапустить Mastodon:
Изменение доменного имени у почтового сервера¶
Для изменения доменного имени у почтового сервера следует выполнить следующий алгоритм действий:
-
Остановить все запущенные Docker контейнеры командой:
-
Удалить все остановленные Docker контейнеры командой:
-
Открыть файл
docker-compose.yml
и найти строку с параметромhostname
, имеющую вид: -
Заменить значение параметра
hostname
на нужный домен: -
Сохранить изменения в файле
docker-compose.yml
. -
Запустить контейнеры Docker командой:
После выполнения этих действий доменное имя почтового сервера будет изменено на указанный домен.
Далее вам нужно проверить доступ к новому домену и работоспособность всех функций.
Первоначальные настройки в панели администратора¶
Чтобы попасть в панель администратора, необходимо перейти по ссылке из тега webpanel, нажать на кнопку Войти и ввести учетные данные из тега credentials.
Для изменения информации о пользователе необходимо нажать на кнопку Изменить профиль под именем пользователя:
.
Управление правилами сервера¶
Правила в Mastodon устанавливаются администраторами и модераторами каждого отдельного сервера в этой децентрализованной социальной сети. Для управления правилами следует перейти в раздел Администрирование >> Правила.
Основные принципы указания правил:
- Правила должны быть разумными и следовать общепринятым нормам приличия. Избыточные или несправедливые ограничения оттолкнут пользователей;
- Четко прописать какие именно виды контента запрещены, например жестокость, насилие, незаконная деятельность и т.д. Уточнить допустимый уровень NSFW контента;
- Указать порядок предупреждений, блокировок или ограничений для нарушителей правил. Определить дисциплинарные меры и сроки;
- Правила должны быть легкодоступны для всех пользователей на сервере. Их нужно публично демонстрировать и доводить до сведения во время регистрации;
- Периодически пересматривать и обновлять правила по мере роста сервера. Вовлекать сообщество в процесс модерации и улучшения правил.
Приглашение пользователей¶
В Mastodon есть несколько вкладок в ленте, которые позволяют управлять подписками и приглашать новых пользователей:
- Подписки и подписчики - здесь отображаются аккаунты, на которые подписан текущий пользователь. В ленте будут видны записи именно от этих пользователей. Также здесь находится список тех, кто подписан на данный аккаунт. Это аудитория в Mastodon.
- Пригласить людей - функция для приглашения друзей и знакомых к вам в социальную сеть. Здесь создается уникальная ссылка, которой можно поделиться, чтобы другие пользователи присоединились к серверу Mastodon.
.
Примечание
Подробная информация по основным настройкам Mastodon содержится в документации разработчиков.
Заказ Mastodon с помощью API¶
Для установки данного ПО с использованием API следуйте этой инструкции.