Перейти к содержанию

Mastodon

В этой статье


Информация

Mastodon - это бесплатная децентрализованная социальная платформа с открытым исходным кодом. В отличие от централизованных коммерческих платформ, Mastodon не контролируется какой-либо одной организацией.

Mastodon. Основные возможности

  • Mastodon позволяет подписываться и общаться с пользователями из любых подключенных серверов;
  • Для поиска интересного контента в Mastodon есть ленты публичных постов. Локальная лента отображает посты с вашего сервера, а объединенная — все известные вашему серверу публичные посты подписчиков пользователей с вашего сервера;
  • Взаимодействовать с постами можно прямо в ленте или в расширенном представлении поста: ответить, поделиться, добавить в избранное, закладки или воспользоваться дополнительным меню;
  • Mastodon отправляет уведомления о разных событиях взаимодействия с вашим профилем и постами. Их можно фильтровать по типам;
  • Чтобы подписаться на пользователя, достаточно нажать кнопку Подписаться в его профиле. Можно включить уведомления о новых постах подписок;
  • Поиск в Mastodon позволяет найти пользователей, хештеги и загрузить пост по ссылке. При установленном полнотекстовом поиске можно искать в собственных постах и избранном;
  • Личные сообщения в Mastodon — это посты с видимостью "только подписчики". Отображаются в отдельной колонке диалогов;
  • Можно создавать списки подписок и просматривать ленту постов только из этих списков.

Особенности сборки

  • Установленное ПО

    ПО Версия Лицензия
    Mastodon 4.2.1 AGPLv3
    Nginx 1.24.0 Custom
    Postgres 16.1 Postgres SQL
    Certbot 2.1.0 Apache 2
    Redis 7.2.3 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, а также логин и пароль для подключения. Управление оборудованием клиенты нашей компании осуществляют в панели управления серверами и APIInvapi.

Данные для авторизации, которые можно найти или во вкладке Info >> Tags панели управления сервером или в присланном e-mail:

  • Ссылка для доступа к панели управления Mastodon с веб-интерфейсом: в теге webpanel;
  • Логин и Пароль указаны в теге credentials.

Изменения конфигурации

Изменение конфигурации Mastodon из командной строки осуществляется с помощью утилиты tootctl и rails. Например:

  • Настройки аккаунтов, создание, изменение, назначение прав и т.д.;
  • Настройки SMTP-сервера;
  • Настройки регистрации пользователей.

Информация

Подробней об использовании утилит можно узнать в документации разработчиков

Пример использования

Сменить пользователя с помощью командной строки:

su - mastodon

Затем необходимо перейти в каталог:

cd /home/mastodon/live

И создать аккаунт модератора:

RAILS_ENV=production bin/tootctl accounts create name_moderator --email example@example.com --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, необходимо перейти в окружение контейнера. Для этого можно использовать команду:

docker exec -it mailserver bash

Для выхода из окружения необходимо зажать клавиши Ctrl+D или ввести exit.

Информация

Подробней о работе с почтовым сервером можно узнать в документации разработчиков.

Для настроек почтовых адресов, пересылки почты и т.д. можно использовать скрипт setup внутри контейнера:

docker exec -it $mailserver bash
setup alias add postmaster@example.com user@example.com
exit

С помощью этих команд был выполнен переход в контейнер mailserver и добавлена пересылка почты: входящие письма на postmaster@example.com будут перенаправлены на почтовый адрес user@example.com.

Информация

Подробней работе с setup.sh можно узнать в документации разработчиков.

Изменение доменного имени сервера Mastodon

Для изменения доменного имени следует выполнить следующий алгоритм действий:

  1. Зарегистрировать собственный домен, например, mastodon.mydomain.com.

  2. Настроить записи DNS для этого домена:

    • Указать А-запись, которая будет указывать на IP-адрес сервера Mastodon;
    • Настроить запись MX, указывающую на почтовый сервер.

    Информация

    Управление DNS

  3. Перейти по SSH на сервер Mastodon и отредактировать файл конфигурации Nginx:

    /etc/nginx/sites-available/mastodon
    
  4. Изменить параметр server_name на новый домен;

  5. Перезапустить Nginx:

    sudo systemctl restart nginx
    
  6. В настройках администратора Mastodon изменить домен на новый и сохранить изменения;

  7. Выполнить настройку почтовых уведомлений;

  8. Создать новый почтовый аккаунт notifications@имя_нового_домена, где имя_нового_домена - это домен почтового сервера;

  9. Войти в Docker контейнер почтового сервера:

    docker exec -it $mailserver bash
    
  10. Добавить новый аккаунт:

    setup email add notifications@(имя нового домена) '(пароль)'
    
    • Пароль - необходимо задать пароль для этого аккаунта.
    setup config dkim keysize 2048 domain (имя нового домена)
    
  11. Выйти из контейнера командой:

    exit
    

    После выполнения указанных команд в файле /root/mailserver/docker-data/dms/config/opendkim/keys/(имя нового домена)/mail.txt будет содержаться необходимая информация для настройки DNS-записи типа _domainkey у регистратора домена. Эта запись требуется для корректной работы почтового сервера с использованием технологии DKIM. Без неё сообщения, отправляемые с данного домена, могут блокироваться получателями как неподлинные - например, сервисами вроде Gmail.

  12. Добавить PTR-запись в настройках IP-адреса в Invapi;

    Информация

    Подробнее о настройке PTR-записи в Invapi можно узнать здесь.

  13. Отредактировать файл .env.production в домашней директории пользователя mastodon:

    • Изменить параметр LOCAL_DOMAIN на новый домен;
    • Изменить параметры настроек SMTP на актуальные в соответствии с почтовым сервером. Необходимо указать логин и пароль от dovecot-master, root и изначальный пароль, полученный при сдаче сервера (указан в теге password в карточке сервера).
  14. Выполнить перекомпиляцию ассетов:

    su - mastodon
    cd /home/mastodon/live/
    RAILS_ENV=production bundle exec rails assets:clean
    RAILS_ENV=production bundle exec rails assets:precompile
    
  15. Перезапустить Mastodon:

    sudo systemctl restart mastodon-*.service   
    

Изменение доменного имени у почтового сервера

Для изменения доменного имени у почтового сервера следует выполнить следующий алгоритм действий:

  1. Остановить все запущенные Docker контейнеры командой:

    docker stop $(docker ps -q) 
    
  2. Удалить все остановленные Docker контейнеры командой:

    docker rm $(docker ps -q)
    
  3. Открыть файл docker-compose.yml и найти строку с параметром hostname, имеющую вид:

    hostname: mastodon*.hostkey.in
    
  4. Заменить значение параметра hostname на нужный домен:

    hostname: mydomain.com
    
  5. Сохранить изменения в файле docker-compose.yml.

  6. Запустить контейнеры Docker командой:

docker-compose up -d

После выполнения этих действий доменное имя почтового сервера будет изменено на указанный домен.

Далее вам нужно проверить доступ к новому домену и работоспособность всех функций.

Первоначальные настройки в панели администратора

Чтобы попасть в панель администратора, необходимо перейти по ссылке из тега webpanel, нажать на кнопку Войти и ввести учетные данные из тега credentials.

Для изменения информации о пользователе необходимо нажать на кнопку Изменить профиль под именем пользователя:

.

Управление правилами сервера

Правила в Mastodon устанавливаются администраторами и модераторами каждого отдельного сервера в этой децентрализованной социальной сети. Для управления правилами следует перейти в раздел Администрирование >> Правила.

Основные принципы указания правил:

  • Правила должны быть разумными и следовать общепринятым нормам приличия. Избыточные или несправедливые ограничения оттолкнут пользователей;
  • Четко прописать какие именно виды контента запрещены, например жестокость, насилие, незаконная деятельность и т.д. Уточнить допустимый уровень NSFW контента;
  • Указать порядок предупреждений, блокировок или ограничений для нарушителей правил. Определить дисциплинарные меры и сроки;
  • Правила должны быть легкодоступны для всех пользователей на сервере. Их нужно публично демонстрировать и доводить до сведения во время регистрации;
  • Периодически пересматривать и обновлять правила по мере роста сервера. Вовлекать сообщество в процесс модерации и улучшения правил.

Приглашение пользователей

В Mastodon есть несколько вкладок в ленте, которые позволяют управлять подписками и приглашать новых пользователей:

  • Подписки и подписчики - здесь отображаются аккаунты, на которые подписан текущий пользователь. В ленте будут видны записи именно от этих пользователей. Также здесь находится список тех, кто подписан на данный аккаунт. Это аудитория в Mastodon.
  • Пригласить людей - функция для приглашения друзей и знакомых к вам в социальную сеть. Здесь создается уникальная ссылка, которой можно поделиться, чтобы другие пользователи присоединились к серверу Mastodon.

.

Примечание

Подробная информация по основным настройкам Mastodon содержится в документации разработчиков.

Заказ Mastodon с помощью API

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=order_instance" \
--data "token=" \
--data "deploy_period=" \
--data "deploy_notify=" \
--data "email=" \
--data "pin=" \
--data "id=" \
--data "os_id=" \
--data "root_pass=" \
--data "hostname=" \
--data "ssh_key=" \
--data "post_install_callback=" \
--data "post_install_script=" \
--data "reinstall_key=" \
--data "os_name=" \
--data "imitate_deploy=" \
--data "imitate_error=0" \
--data "own_os=" \
--data "jenkins_task=" \
--data "traffic_plan=" \
--data "invoice_relid=" \
--data "preset=" \
--data "location_name=" \