Композиция: талисман NordBastion — белый медведь — в тактической скандинавской броне стоит у светящегося постамента городской площади, кластер небольших светящихся инстансов-фонариков вращается вокруг него как fediverse-созвездие, нити федерации цвета пурпурного северного сияния соединяют их через фьордную ночь, силуэт мастодонта-мамонта спокойно отдыхает рядом с талисманом
Сценарий · Инстанс Mastodon · Обновлено в 2026 году

Ваше сообщество.
В Вашей юрисдикции. Федерировано по умолчанию.

Инстанс Mastodon — это небольшая городская площадь, которую Вы поддерживаете. Ravelin за $23,90/мес запускает стек Docker Compose — Mastodon 4.x + Postgres + Redis + Sidekiq — для ~100 активных пользователей, федерированный с более широким fediverse, и решения о дефедерации принадлежат только Вам.

Коротко
  • 01

    Ravelin за $23,90/мес комфортно запускает Mastodon 4.x + Postgres + Redis + Sidekiq для ~100 активных пользователей; Bulwark — для 1000+. Garrison подходит для конфигурации с личным инстансом.

  • 02

    Регистрация без KYC держит личность админа вне модели угроз. Криптобиллинг, никакой карты в файле, связывающей инстанс обратно с юридическим именем.

  • 03

    Скандинавская юрисдикция (никакого автоудаления в стиле DMCA), безлимитный аплинк, поглощающий 100–300 ГБ/день, которые здоровый федерированный инстанс отправляет вовне.

Зачем это делать

Зачем вообще самостоятельно размещать инстанс.

Присоединиться к существующему инстансу Mastodon — правильный выбор для 95 % пользователей: выберите хорошо управляемый, публикуйте, подписывайтесь, готово. Запуск собственного инстанса — другое предложение: Вы становитесь админом небольшой городской площади, и присоединяющиеся люди подписываются на Ваши решения по модерации и Ваш аптайм. Суть в суверенитете, а не в масштабе.

Самостоятельный хостинг — это также единственный способ быть уверенным, что инстанс переживёт оператора. Общественно-полезные инстансы, построенные волонтёрами, имеют период полураспада — выгорание, пробелы в финансировании, уход единственного админа, — и пользовательские аккаунты движутся вместе с доменом инстанса. Запуск собственного означает, что Ваш хэндл, Ваши подписчики и Ваш архив закреплены за доменом и базой данных, которыми управляете Вы.

Развёртывание через Docker Compose делает операционную историю посильной: Mastodon поставляет официальный compose-шаблон, Postgres и Redis — стандартные товары, Sidekiq — это очередь, которую Вы читаете через дашборд. Сложными частями остаются доставляемость почтового релея и модерация — и обе мы прямо назовём ниже, а не отмахнёмся.

Правильный вопрос — не «присоединиться или самостоятельно разместить» в абстракции, а «хочу ли я голос на городской площади, которой владею я, или арендую стол на площади, которой владеет кто-то другой». Если ответ — первый, остальная часть этой страницы — рецепт.

Подбор размера

Правильный тариф NordBastion для задачи.

Для сообщественного инстанса до ~100 активно публикующих ежедневных пользователей со здоровой исходящей федерацией оптимальная точка — Ravelin ($23,90/мес, 8 vCPU, 16 ГБ, 480 ГБ NVMe). Восемь ядер комфортно покрывают пул воркеров Sidekiq при федерационных всплесках; 16 ГБ RAM держат буферы Postgres, Redis, веб-уровень и пару очередей Sidekiq, никогда не касаясь свопа.

Сверх ~300 активных пользователей, или когда Sidekiq processed-jobs/sec устойчиво превышает 100, тариф Bulwark оправдывает себя — больше ядер для параллелизма Sidekiq, больше RAM для общих буферов Postgres и свобода выделить пару ядер под Elasticsearch, если Ваше сообщество хочет полнотекстового поиска по федерированной ленте.

Для личного инстанса для одного пользователя или близких друзей (до ~10 активных аккаунтов, федерация остаётся узкой) Garrison ($11,90/мес, 4 vCPU, 8 ГБ, 240 ГБ NVMe) вполне жизнеспособен — особенно для Pleroma/Akkoma или Sharkey, которые легче, чем Mastodon. Ограничением является рост медиа-хранилища, а не CPU; запланируйте выгрузку медиа во внешнее объектное хранилище с первого дня.

Чем ни один из них не является: инстансом масштаба Instagram с собственным фото-CDN. Mastodon не спроектирован под такую нагрузку; протокол сияет для федерированных малых и средних сообществ, и наши рекомендации по тарифам отражают эту реальную форму.

Настройка

От свежего VPS до первого федерированного поста. Шесть шагов, около девяноста минут.

Скелетный набросок — upstream-руководство админа на joinmastodon.org остаётся каноническим источником по переменным окружения и параметрам тюнинга.

  1. 01

    Docker + Compose

    Официальный движок Docker + плагин Compose v2. Пропустите legacy-пакет дистрибутива; upstream-репозиторий ближе к актуальному.

    curl -fsSL get.docker.com \
      | sh
    apt install \
      docker-compose-plugin
  2. 02

    Клонируйте Mastodon

    Репозиторий поставляется с каноническим docker-compose.yml. Закрепитесь за самым свежим стабильным тегом v4.x, а не отслеживайте main.

    git clone \
      https://github.com/mastodon/mastodon
    cd mastodon
    git checkout v4.3.0
  3. 03

    Сгенерируйте .env.production

    Мастер настройки интерактивно записывает секреты, учётные данные БД и блок SMTP. Выберите Вашего транзакционного почтового провайдера здесь — не откладывайте на потом.

    docker compose run --rm \
      web bin/setup
    # записывает .env.production
  4. 04

    TLS через Caddy или nginx

    Caddy — вариант с наименьшим трением: одна строка в Caddyfile, автоматический Let's Encrypt. nginx + certbot остаётся классическим путём, если Вы предпочитаете его.

    # Caddyfile
    social.example.org {
      reverse_proxy localhost:3000
    }
  5. 05

    Поднимите стек

    Веб-уровень, Sidekiq, Streaming, Postgres и Redis поднимаются вместе. Следите за логами и наблюдайте, как федерационный трафик начнётся в течение секунд после первой подписки.

    docker compose up -d
    docker compose logs -f web sidekiq
  6. 06

    Создайте админа

    Сделайте первого пользователя админом через CLI tootctl. Админ-интерфейс затем открывает режим регистрации (открытая/с одобрением/только по приглашению) — выберите «с одобрением» как безопасный вариант по умолчанию.

    docker compose exec web \
      bin/tootctl accounts modify \
      <username> --role Owner
Почему именно этот хостинг для этой задачи

Почему именно NordBastion для инстанса Mastodon.

Без KYC

Ваше имя админа не является частью инстанса.

Админ Mastodon получает отчёты о модерации, запросы на удаление и периодические запросы субъектов данных GDPR. Большинство из них рутинны; некоторые — нет, и модель угроз имеет значение. Регистрация через email + криптовалюту, а не банковскую карту, означает, что нет бумажного следа от эмитента карты от «админа social.example.org» обратно к юридическому имени. Инстанс — это размещённый сервис, оплачиваемый предоплаченным балансом, — единственное существующее отношение.

Скандинавская юрисдикция

Дефедерационная драма остаётся Вашим решением.

В Швеции, Финляндии, Норвегии или Исландии нет машинерии в стиле DMCA notice-and-staydown, которая позволила бы внешнему обвинению принудительно вызвать упреждающее удаление контента с Вашего инстанса. Ответ хостинга на «заставьте их убрать это» — «отвечайте через юридический процесс в Вашей юрисдикции»; ответ на «нам не нравится тот другой инстанс, с которым они федерируются» — «это решение админа». Ваша политика модерации — это политика модерации.

Безлимитные 1 Гбит/с

Федерационный обмен не выставляется в счёт отдельно.

Инстанс на 100 пользователей, федерированный вовне с более широким fediverse, отправляет 100–300 ГБ в день ActivityPub-доставок — каждый локальный пост раздаётся домашнему инстансу каждого удалённого подписчика. Большинство счетов гиперскейлеров считают это тарифицируемым egress; мы считаем это стоимостью пребывания в интернете. Никакого лимита на трафик ни на одном тарифе, никакой строки превышения в счёте.

Вердикт

Запустите его на Ravelin. Платите в криптовалюте. Выберите Вашего транзакционного почтового провайдера в первый день.

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

NordBastion имеет мнение по поводу частей, важных для этой конкретной задачи, — регистрация админа без KYC, скандинавская юрисдикция, безлимитный аплинк, порт 25 открыт, если Вы решите самостоятельно размещать исходящую почту, — и намеренно обыкновенен во всём остальном. VPS — это VPS. Docker — это Docker. Mastodon поставляет официальный compose-шаблон; мы предоставляем машину и отходим в сторону.

Вопрос почтового релея — это то, что нужно уладить в первую очередь. Выберите внешнего транзакционного провайдера, настройте его в .env.production во время установки, и единственный крупнейший источник операционной боли уйдёт до того, как начнётся.

FAQ · Mastodon на VPS

Вопросы, которые возникают первыми.

Восемь вопросов, которые реальные админы Mastodon задают перед docker compose up. Почтовый релей идёт под номером один не просто так.

Что на самом деле является самой сложной частью запуска инстанса Mastodon?

Доставляемость email. Само приложение Mastodon хорошо спроектировано, стек Docker Compose собирается за полдня, тюнинг Postgres — известная наука. Часть, ломающая инстансы людей, — это подтверждения регистрации, сбросы паролей и уведомления о модерации федерации, не доходящие до ящиков Gmail / Outlook365, потому что SMTP-путь со свежего IP VPS считается «виновным, пока не доказано обратное». Запланируйте внешний транзакционный почтовый релей (Mailgun, Postmark, Amazon SES) с первого дня — он стоит $10/мес и убирает 80 % операционной боли.

Насколько большой на самом деле становится база данных?

База данных Postgres Mastodon растёт примерно пропорционально объединению «того, что публикуют Ваши локальные пользователи» и «всего от каждого аккаунта, на который кто-то здесь когда-либо подписывался на каждом другом инстансе». Для инстанса со 100 активными пользователями и здоровой исходящей федерацией ожидайте 20–40 ГБ БД через год и 80–150 ГБ через три года. Медиа (загруженные изображения / видео / бусты) живёт отдельно и является большей проблемой хранения — см. следующий вопрос.

Могу ли я выгружать медиа в S3-совместимое хранилище?

Да, и Вам следует это делать. Mastodon поддерживает любой бэкенд, совместимый с S3 API, через переменную окружения S3_ENABLED. NordBastion в настоящее время не управляет собственным объектным хранилищем, поэтому прагматичный выбор — внешний провайдер: Backblaze B2 — стандартная рекомендация для самостоятельно размещаемых инстансов (предсказуемая цена, отсутствие платы за egress в связке с Cloudflare впереди). С выгруженным медиа 480 ГБ NVMe Ravelin держат Postgres и очереди задач Sidekiq годами; без выгрузки те же 480 ГБ заполняются за 12–18 месяцев на умеренно активном инстансе.

Ravelin или Bulwark — когда я перерасту Ravelin?

Ravelin (8 vCPU, 16 ГБ, 480 ГБ) комфортен примерно до ~100 активно публикующих ежедневных пользователей со здоровой исходящей федерацией. Узкое место, которое ломается первым, — это воркеры Sidekiq при всплесках входящей федерации (вирусный пост, забустованный инстансом с 50 тыс. пользователей, создаёт временный пик в очереди, который требует больше воркеров, а значит больше RAM). При ~300 активных пользователях или когда Sidekiq processed-jobs/sec устойчиво держится >100, тариф Bulwark оправдывает себя — больше ядер, больше запаса RAM и свобода выделить одно ядро под Elasticsearch, если Вам нужен поиск.

Что такое дефедерация и как с ней работать?

Дефедерация — это когда Ваш инстанс (или другой инстанс) перестаёт принимать сообщения от пира; на практике используется для блокировки инстансов, размещающих контент, нарушающий стандарты Вашего сообщества. Админ-интерфейс Mastodon предоставляет переключатели suspend/silence/limit для каждого инстанса; социальная цена реальна (Ваши пользователи теряют треды, в которых они были с людьми на заблокированном инстансе) и модерационная цена реальна (кто-то должен принять решение). Смысл запуска собственного инстанса в том, что это Ваше решение — на основе стандартов Вашего сообщества, а не корпоративного конвейера trust-and-safety.

Каковы реалистичные усилия по модерации?

Для инстанса до ~50 пользователей с курируемыми регистрациями (только по приглашению или с одобрением админа) модерация занимает несколько минут в неделю — закрытие отчётов о спам-аккаунтах, иногда ограничение пир-инстанса. Для инстансов с открытой регистрацией усилия растут суперлинейно с объёмом регистраций, потому что экономика спам-ботов рассматривает каждый открытый ActivityPub-эндпойнт как цель. Стандартная защита — обязательное одобрение регистраций + понятный вопрос в заявке — снижает автоматические регистрации на 99 % с пренебрежимо малым трением для настоящих людей.

Имеет ли скандинавская юрисдикция реальное значение для админа Mastodon?

Да, по конкретной и недооценённой причине: как админ Вы получаете отчёты о модерации, запросы на удаление и периодически запросы субъектов данных GDPR. У Швеции, Финляндии, Норвегии и Исландии есть чётко определённая правовая основа того, что хостинг и оператор небольшого форума должны в ответ, — и, что критично, нет аналога машинерии DMCA notice-and-staydown США, позволяющей одному обвинению принудительно вызвать упреждающее удаление. Вы по-прежнему модерируете — но на своих условиях, а не под угрозой автоматических действий хостинга.

Mastodon, Pleroma, Akkoma или Sharkey — имеет ли это значение для хостинга?

С точки зрения хостинга: Mastodon — самый тяжёлый (Ruby on Rails + Sidekiq + Postgres + Redis + опционально Elasticsearch), Pleroma/Akkoma легче (Elixir, единый OTP-релиз), семейство Sharkey/Misskey работает на Node + Postgres. Ravelin комфортно тянет любой из них для ~100 пользователей; Sentinel может запустить Pleroma/Akkoma для использования в качестве личного инстанса там, где того же тарифа не хватит для Mastodon. Выбирайте по соответствию сообществу (какие функции важны, какой UI предпочитают Ваши люди), а не по кривой ресурсов — разница невелика на этом масштабе.